- 1、本文档共16页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第05讲控制器组件及Action类
第5讲 Struts常用控制器组件及Action类 教学目标: 1.主要了解Struts控制器组件组成、任务及需求; 2.掌握ActionServlet类的作用及初始过程,以及RequestProcessor类; 3.掌握Action的实现过程和execute()方法,以及ActionForward类的实例及配置创建。 一.Struts常用控制器组件组成、任务及需求 1.组成 ◆ ActionServlet: ◆ RequestProcessor: ◆ Action组件: ◆ HttpServlet类: 2.Struts的控制器组件主要任务 1)接受用户请求 2)根据用户请求,调用合适的模型组件来执行相应的业务逻辑。 3)获取业务逻辑执行结果。 4)根据当前状态及业务逻辑执行结果,选合适的视图组件返回给用户。 5)MVC设计模式使用Struts的需求 ◆控制器在用户输入数据和模型层之间充当媒介/翻译者的角色; ◆由于所有的请求都经过控制器的过滤,提高每个组件的相对独立性。 二.ActionServlet类 1.作用 所有的用户请求都先由ActionServlet来处理,然后把请求转发给其他组件或类; 在应用的生命周期中,仅创建ActionServlet类的一个实例,但这个AtionServlet实例可以同时响应多个用户请求。 2.Struts初始化过程 Struts初始化过程取决于在web.xml文件中配置的初始化参数,servlet容器在首次启动或servlet的第一次请求到达时加载Struts ActionServlet,其init()方法被调用,并且必须在servlet处理任何请求之前完成: 1)调用initInternal()方法 初始化struts框架内在的消息资源,与系统相关的通知、警告和错误输出到日志。 2)调用ininOther()方法 从web.xml文件中加载ActionServlet的初始化信息,如config、debug等参数。 3)调用initServlet()方法 从web.xml文件中加载ActionServlet的URL映射信息,此外还会注册web.xml和Struts配置文件所用的DTD文件用来验证web.xml和Struts配置文件的语法 4)调用initModuleConfig()方法 加载并解析默认子应用模块的Struts配置文件;创建ModuleConfig对象,把它存储在ServletContext中。 5)调用initModuleMessageResoruces()方法 加载并初始化默认子应用模块的消息资源;创建MessageResources()方法,把它存储在ServletContext中。 6)调用initModuleDataSources()方法 加载并初始化默认子应用模块的数据源。如果在Struts配置文件中没有定义data-sources,忽略这一流程。 7)调用initModulePlugins()方法 加载并初始化默认子应用模块的所有插件。 8)当默认子应用模块被成功初始化后,如果还包括其他子应用模块,将重复流程4-7,分别对其他子应用模块进行初始化 3.Process()方法 当ActionServlet实例通过doGet()或doPost()方法处理用户请求时, 实际上都是调用process()方法具体处理请求: protected void process(HttpServletRequest request,HttpServletResponse response) throw IOException, ServletException { ModuleUtils.getInstance().selectModule(request, getServletContext()); getRequestProcessor(getModuleConfig(request)).process(request, response); } 说明: selectModule()选择负责处理当前请求的子应用模块,再把与子应用模块相关的ModuleConfig和MessageResources对象存储倒request范围中 。 getMouduleConfig()取得当前应用模块的配置,以达到处理用户请求。 三.RequestProcessor类 1.ActionServlet实例对应多个用户 在应用的生命周期中,仅创建ActionServlet类的一个实例,但这个Ation
您可能关注的文档
最近下载
- 快递收派服务合同2篇.docx
- 2024年新人教版七年级上册地理 第三章 陆地和海洋 第三章综合复习 教学课件.pptx
- 煤矿安全培训一人一档 .pdf VIP
- 军标产品履历本.doc
- 基于UbD理论的高中语文群文阅读教学设计研究--以必修上第七单元为例.pdf
- 细菌性毛囊炎、疖、痈基层诊疗指南.pdf
- 10kv线路巡视及考核标准.pdf
- 人教PEP四年级上册英语Unit 5 Dinner’s ready B Let’s learn 课件.pptx
- CEEM-2024年秋季全球宏观经济季度报告-专题 美国 欧洲 日本 东盟与韩国 金砖国家 中国 金融市场 大宗商品 外贸.docx
- 2022年乡村公路监理实施细则.doc
文档评论(0)