资源预览内容
第1页 / 共22页
第2页 / 共22页
第3页 / 共22页
第4页 / 共22页
第5页 / 共22页
第6页 / 共22页
第7页 / 共22页
第8页 / 共22页
第9页 / 共22页
第10页 / 共22页
亲,该文档总共22页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
ACCP V4.0第二章第二章控制器组件控制器组件ACCP V4.0回顾qWeb应用程序是许多单独组件的集合qStruts实现了模型-视图-控制器qStruts框架实现的只是MVC的视图和控制器组件qStruts的备选框架JSF、Springqstruts-config.xml文件告诉ActionServlet类有关应用程序的映射2ACCP V4.0目标q了解控制器机制q掌握控制器中的重要类q运用RequestProcessor类q掌握Struts架构数据源的配置q了解Struts插件3ACCP V4.0控制器机制概述q接受用户请求q根据用户的不同请求,调用对应的模型组件来执行相应的业务逻辑q获取业务逻辑执行结果q根据当前的状态数据及业务逻辑的处理结果,选择适合的视图组件返回给客户4ACCP V4.0ActionFormActionFormActionFormActionFormActionServletActionServletActionServletJSP自定义标签库自定义标签库ActionServletActionActionActionActionstruts-config.xml请求处理器请求请求响应响应execute()控制器组件4-1业务层业务层浏览器5ACCP V4.0ActionFormActionFormActionFormActionActionFormForm Action Action ServletServletAction Action ServletServletAction Action ServletServletJSPJSP自定义标签库自定义标签库自定义标签库自定义标签库Action Action ServletServletActionActionActionActionAction struts-config.xml请求处理器请求请求响应响应execute()控制器控制器控制器组件4-2业务层浏览器6ACCP V4.0ActionServletActionActionActionActionstruts-config.xml请求处理器execute()请求请求响应响应视图视图ActionServletActionServletActionServletJSP自定义标签库自定义标签库ActionFormActionFormActionFormActionForm控制器组件4-3业务层浏览器7ACCP V4.0ActionServletActionActionActionActionstruts-config.xml请求处理器ActionServletActionServletActionServletJSP自定义标签库自定义标签库ActionFormActionFormActionFormActionForm视图请求请求响应响应execute()控制器组件4-4业务层模型模型浏览器8ACCP V4.0Struts框架中控制器组件的类qActionServletqRequestProcessorqActionqActionMappingqActionForward9ACCP V4.0ActionServlet类2-1org.apache.struts.action.ActionServletjavax.servlet.http.HttpServletpublicvoidinit()throwsServletExceptionqinit()方法qprocess()方法protectedvoidprocess(HttpServletRequestrequest,HttpServletResponseresponse)qdoGet()方法publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)throwsIOException,ServletExceptionprocess(request,response);qdoPost()方法publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)throwsIOException,ServletExceptionprocess(request,response);10ACCP V4.0ActionServlet类2-2q元素/struts-config.xml.qElement元素11ACCP V4.0RequestProcessor 类类ActionServlet 类类RequestProcessor类3-1process()process()请求已处理请求响应方法方法说说明明processPath()确定选择将要处理的动作的路径processMapping()为请求选择动作映射processRoles检查用户的角色是否允许其访问请求的资源processActionForm()新建一个FormBean或从请求会话中检索FormBeanprocessForward()处理元素的forward以匹配当前的请求路径processValidate()调用FormBean的validate()方法processPreprocess()告诉请求处理器调用此方法后是否应继续处理请求12ACCP V4.0RequestProcessor类3-2方法方法说说明明processLocale()为请求选择一个语言环境processContent()为所有响应设置默认的内容类型(如有必要)processPopulate()填充与请求关联的ActionFormprocessInclude()将调用路径的结果包括在请求中processActionCreate()实例化当前ActionMapping指定的类的实例processActionPerform()将调用action的perform()或execute()方法13ACCP V4.0RequestProcessor类3-3q拒绝非法拒绝非法IP地址的用户发送请求地址的用户发送请求 演示:案例114ACCP V4.0Action类ActionServletRequestProcessor请求请求JSPprocessActionPerform()process()ActionActionActionActionexecute()参数参数说说明明ActionMapping包含动作Bean的部署信息ActionForm表示输入HttpServletRequest指HTTP请求对象HttpServletResponse指HTTP响应对象publicActionForwardexecute(ActionMappingmapping,ActionFormform,ServletRequestrequest,ServletResponseresponse)throwsException;execute()方法的参数15ACCP V4.0ActionMappingsActionServletActionMappingActionForwardsxxxActionActionForward类2-1ActionForward16ACCP V4.0ActionForward类2-2属性属性说说明明name指定ActionForward的逻辑名path指定ActionForward的URIredirect如果值为true,则重定向控制权。但默认值为falseclassname指定org.apache.struts.action.ActionForward的子类qActionForward类为下一个视图提供了信息ActionForward的各种属性17ACCP V4.0Struts配置数据源3-118ACCP V4.0Struts配置数据源3-219ACCP V4.0Struts配置数据源3-3演示:案例2.ServletContextcontext=servlet.getServletContext();DataSourcedataSource=(DataSource)context.getAttribute(Sql);UserBeandb=newUserBean(dataSource);.20ACCP V4.0插件插件插件StrutsWebStrutsWebStrutsWeb应用程序应用程序应用程序21ACCP V4.0总结q控制器是应用程序中的访问中心点qActionServlet 从Struts配置文件中读取数据并初始化Struts应用程序的配置qRequestProcessor类处理请求的所有特性,并且所有请求都在RequestProcessor类的process()方法中进行处理qAction类的execute()方法用于处理请求qStruts使用元素来配置数据源qActionForward类告诉ActionServlet类有关动作链中的下一个动作22
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号