Struts控制器组件主要包括:
ActionServlet:充当框架的中央控制器.
RequestProcessor:充当每个子应用模块的请求和处理器.
Action:负责处理一项具体的业务.
Struts框架采用ActionServlet和RequestProcessor组件进行集中控制,并采用Action组件来单项业务处理.
Struts框架采用控制器组件来预处理所有的客户请求,这种集中控制方式可以满足MVC设计模式的两大需求:
一: 控制器在用户输入数据和模型之间充当媒介/翻译者的角色,提供一些通用功能.如安全,登录和其他针对具体用户请求的重要服务,当系统的这些通用功能出现需求变更时,不需要修改整个应用,只需要修改局部的控制器组件即可.
二: 由于所有的请求都经过控制器过滤,因此可以降低视图组件之间, 以及视图组件和模型组件之间的相互依赖关系,提高每个组件的相对独立性.由控制器组件来决定把合适的视图组件返回给用户,这可以减少视图组件之间直接的,错综复杂的链接关系,使应用更加灵活,更于维护.
Struts的控制器组件主要完成以下任务:
接收用户请求
根据用户请求,调用合适的模型组件来执行相应的业务逻辑.
获取业务逻辑执行结果.
根据当前状态以及业务逻辑执行结果,选择合适的视图组件返回给用户.
org.apache.struts.action.ActionServlet类是Struts框架的核心控制器组件.所有的用户请求都先由ActionServlet来处理,然后再由ActionServlet把请求转发给其他组件.Struts框架只允许在一个应用中配置一个ActionServlet类,在应用的生命周期中,仅创建ActionServlet类的一个实例,这个ActionServlet实例可以同时响应多个用户请求.
Struts框架初始化过程:
Servlet容器在启动时,或者用户首次请求ActionServlet时加载ActionServlet类.在这两种情况下,Servlet容器都会在ActionServlet被加载后立即执行它的init()方法,这可以保证当ActionServet处理用户请求时已经被初始化.以下是ActionServelt的init()方法完成的初始化流程.
1. 调用initInternal()方法,初始化Struts框架内在的消息资源,如与系统日志相关的通知,警告和错误消息.
2. 调用initOther()方法,从web.xml文件中加载ActionServlet的初始化参数,如config参数.
3. 调用initServlet()方法,从web.xml文件中加载ActionServlet的URL映射信息.此外还会注册web.xml和Struts配置文件所使用的DTD文件,这些DTD文件用来验证web.xml和Struts配置文件的语法.
4. 调用initModuleConfig()方法,加载并解析默认子应用模块的Struts配置文件,创建ModuleConfig对象,把它存储在ServletContext中. 5. 调用initModuleMessageResources()方法,加载并初始化默认子应用模块的消息资源,创建MessageResources对象,把它存储在ServletContext中.
6. 调用initModuleDataSource()方法,加载并初始化默认子应用模块的数据源.如果在Struts配置文件中没有定义<data-sources>元素,就忽略这一流程.
7. 调用initModulePlugins()方法,加载并初始化默认子应用模块的所有插件.
8. 当默认子应用模块被成功地初始化后,如果还包括其他子应用模块,将重复流程4-7.分别对其子应用模块初始化.
Action类:
Action类是用户请求和业务逻辑之间的桥梁.每个Action充当客户的一项业务代理.在RequestProcessor类预处理请求时,在创建了Action的实例后,就调用自身的processActionPerform()方法,该方法再调用Action类的execute()方法.
Action的execute()方法调用模型的业务方法,完成用户请求的业务逻辑,然后根据执行结果把请求转发给其他合适的WEB组件.
分享到:
相关推荐
精通struts框架精通struts框架精通struts框架精通struts框架精通struts框架精通struts框架精通struts框架精通struts框架精通struts框架
struts框架详细介绍.ppt,struts框架详细介绍.ppt,struts框架详细介绍.ppt,struts框架详细介绍.ppt,struts框架详细介绍.ppt,struts框架详细介绍.ppt
Struts框架Struts框架Struts框架Struts框架
MVC模式和Struts框架
Struts框架(Struts框架详细介绍)Struts框架(Struts框架详细介绍)Struts框架(Struts框架详细介绍)Struts框架(Struts框架详细介绍)
本系统是基于Struts框架用MyEclipse集成开发环境开发而成的一个完整的网上论坛。
Struts框架学习大全,包括《Struts架构指导》、《Struts快速学习指南》、《Struts中文手册》、《精通Struts技术》、《Struts 1.1 API》、《Struts 2.0 API》、《Struts 2.0入门》和《struts 2.0中文帮助手册》。
struts 框架原理图 原理流程 跳转
主要介绍了Struts的设计模式,Struts框架的内核和在WEB开发中的应用!
struts框架\Struts框架的使用.pptstruts框架\Struts框架的使用.ppt
使用struts框架实现图片上传功能和显示图片。使用struts框架实现图片上传功能和显示图片。
struts框架与标签.doc,很好的学习笔记,WORD文档
javaStruts 框架,可以直接使用啊
一个有关学生管理的Struts框架开发的实例,想学习struts框架的可以参考一下,实例比较简单易懂,很容易理解struts框架的精髓。
struts1框架教案
Struts框架文件上传下载案例,需要的自取。
最近看到有人再找框架的信息,分享三大框架之一的struts
Struts框架讲解 -- 主要讲述StrutsMVC的框架原理及示例
基于MVC模式Struts框架研究与应用详解,对初学者很有用!!!