您的位置:首页 >> 编程开发 >> Java >> Struts/Hibernate >> 正文
Struts/Hibernate RSS
 

Struts控制器组件

http://www.rdxx.com 05年07月27日 22:41 CSDN 我要投稿

关键词: 控制器 , Struts , 组件 , 控制

Struts控制器组件

 

Struts控制器组件负责接受用户请求、更新模型,以及选择合适的视图组件返回给用户。控制器组件有助于将模型层和视图层分离,有了这种分离,就可以在同一个模型的基础上得心应手地开发多种类型的视图。Struts控制器组建主要包括:

 

·ActionServlet组件:充当Struts框架的中央控制器。

·RequestProcessor组件:充当每个子应用模块的请求处理器

·Action组件:负责处理一项具体的业务。

 

Struts框架采用控制器组件来预处理所有的客户请求,这种集中控制方式可以满足MVC设计模式的两大需求:

 

·首先,控制器在用户输入数据和模型之间充当媒介 / 翻译者的角色,提供一些通用功能,如安全、登入和其他针对具体用户请求的重要服务,当系统的这些通用功能出现需求变更时,部需要修改整个应用,只需要修改局部的控制器组件即可。

·其次,由于所有的请求都经过控制器过滤,因此可以降低视图组件之间,以及视图组件和模型组件之间的相互依赖关系,提高每个组件的相对独立性。由控制器组件来决定把合适的视图组件返回给用用户,这可以减少视图组件之间直接的,错综复杂的连接关系,使应用更加灵活,便于维护。

 

Struts框架采用ActionServletRequestProcessor组件进行集中控制,并采用Action组件来处理单项业务。

 

 

控制器组件的控制机制

 

Struts的控制器组件主要完成以下任务:

·接受用户请求

·根据用户请求,调用合适的模型组件来执行相应的业务逻辑。

·获取业务逻辑执行结果。

·根据当前状态以及业务逻辑执行结果,选择合适的视图组件返回给用户。

 

1 Action

 

 org.apache.struts.action.ActionServlet类是Struts框架的核心控制器组件,所有的用户请求都先有ActionServlet来处理,然后再由ActionServlet把请求转发给其他组件。Struts框架只允许在一个应用中配置一个ActionServlet类,在应用的生命周期中,仅创建ActionServlet类的一个实例,这个ActionServlet实例可以同时响应多个用户请求。

 

<!--[if !supportLists]-->(a)   <!--[endif]-->Struts框架初始化过程

<!--[if !supportLists]-->(1)   <!--[endif]-->调用initInternal()方法,初始化Struts框架内在的消息资源,如与系统日志相关的同志、警告和错误消息。

<!--[if !supportLists]-->(2)   <!--[endif]-->调用initOther()方法,从web.xml文件中加载ActionServlet的初始化参数,如config参数。

<!--[if !supportLists]-->(3)   <!--[endif]-->调用initServlet()方法,从web.xml文件中加载ActionServletURL映射信息。此外还会注册web.xmlStruts配置文件所使用的DTD文件,这些DTD文件用来验证web.xmlStruts配置文件的语法。

<!--[if !supportLists]-->(4)   <!--[endif]-->调用initModuleConfig()方法,加载并解析子应用模块的Struts配置文件;创建ModuleConfig对象,把它存储在ServletContext中。

<!--[if !supportLists]-->(5)   <!--[endif]-->调用initModuleMessageResources()方法,加载并初始化默认子应用模块的消息资源:创建MessageResources对象,把它存储在ServletContext中。

<!--[if !supportLists]-->(6)   <!--[endif]-->调用initModuleDataSources()方法,加载并初始化默认子应用模块的数据源。如果在Struts配置文件中没有定义<data-sources>元素,就忽略这一流程。

<!--[if !supportLists]-->

共8页  第1页 第2页 第3页 第4页 第5页 第6页 第7页 第8页


 
 
标签: 控制器 , Struts , 组件 , 控制 打印本文
 
 
  热点搜索
 
 
 



Valid XHTML 1.0 Transitional
Copyright ©2005 - 2008 Rdxx.Com,All Rights Reserved
收藏本页
收藏本站