04 Struts1.x(四)(扩展控制器).ppt

  1. 1、本文档共22页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Struts 1.x(四) 扩展控制器 课程介绍 本课程主要讲授Struts 1.x 基础知识 适用于Java开发工程师 面向的学员是对Servlet,JSP有基本了解的J2EE开发工程师 全部课程时间大约是40分钟 概 要 理解Struts框架的初始化流程 理解Struts框架的响应客户请求的流程 创建Action类 理解业务逻辑验证的流程 Struts控制器组件 Struts控制器组件主要包括: ActionServlet 组件:充当Struts框架的中央控制器 RequestProcessor 组件:充当每个子应用模块的请求处理器 Action组件:负责处理一项具体的业务 Struts控制器组件的类框图 多应用模块 多应用模块指同一个应用包含多个子应用,每个子应用可以处理相关的一组功能。例如,对于网上购物应用,可以由一个子应用来处理商品和商品目录信息,再由另一个子应用处理购物车和订单信息。 把应用划分成多个模块,可以简化应用的并行开发过程,缩短开发周期。 所有的子应用都共享同一个ActionServlet实例,但每个子应用有单独的配置文件和RequestProcessor实例。 多应用模块 Struts框架初始化流程 Servlet容器会在ActionServlet被加载后立即执行它的init()方法,以下是ActionServlet的init()方法完成的初始化操作: (1)调用initInternal()方法,初始化Struts框架内在的消息资源,如与系统日志相关的通知、警告和错误消息。 (2)调用initOther()方法,从web.xml文件中加载ActionServlet的初始化参数,如config参数。 (3)调用initServlet()方法,从web.xml文件中加载ActionServlet的URL映射信息。此外,还会注册web.xml和Struts配置文件所使用的DTD文件。这些DTD文件用来验证web.xml和Struts配置文件的语法。 Struts框架初始化流程 (4)调用initModuleConfig()方法,加载并解析默认子应用模块的Struts配置文件,创建ModuleConfig对象,把它存储在ServletContext中。 (5)调用initModuleMessageResources()方法,加载并初始化默认子应用模块的消息资源,创建MessageResources对象,把它存储在ServletContext中。 (6)调用initModuleDataSources()方法,加载并初始化默认子应用模块的数据源。如果在Struts配置文件中没有定义data-sources元素,就忽略这一步骤。 (7)调用initModulePlugins()方法,加载并初始化默认子应用模块的所有插件。 (8)当默认子应用模块被成功的初始化后,如果还包括其他子应用模块,将重复步骤(4)到步骤(7),分别对其他子应用模块进行初始化。 Struts框架初始化流程 Struts框架响应客户请求的流程 ActionServlet的process()方法 当ActionServlet实例接收到HTTP请求后,在 doGet() 或 doPost()方法中都会调用process()方法来处理请求。以下是ActionServlet的process()方法的源代码: protected void process( HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { ModuleUtils.getInstance().selectModule(request, getServletContext()); getRequestProcessor(getModuleConfig(request)).process(request, response); } Action类的execute()方法 public ActionForward execute( ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) th

文档评论(0)

好文精选 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档