ITEEDU

第三章Struts框架的工作原理和组件

对于Struts 如何控制、处理客户请求,让我们通过对struts 的四个核心组件介绍来具体说明。这几个组件就是:ActionServlet。Action Classes,Action Mapping(此处包括ActionForward),ActionFrom Bean。

3.1 Struts ActionServlet 控制器对象

ActionServlet 继承自javax.servlet.http.HttpServlet 类,其在Struts framework中扮演的角色是中心控制器。它提供一个中心位置来处理全部的终端请求。控制器ActionServlet 主要负责将HTTP 的客户请求信息组装后,根据配置文件的指定描述,转发到适当的处理器。按照Servelt 的标准,所有得Servlet 必须在web 配置文件(web.xml)声明。同样,ActoinServlet 必须在Web Application 配置文件(web.xml)中描述,有关配置信息如下。

<servlet>
	<servlet-name>action</servlet-name>
	<servlet-class>org.apache.struts.action.ActionServlet</servl
	et-class>
</servlet>

全部的请求URI 以*.do 的模式存在并映射到这个servlet,其配置如下:

<servlet-mapping>
	<servlet-name>action</servlet-name>
	<url-pattern>*.do</url-pattern>
</servlet-mapping>

一个该模式的请求URI 符合如下格式:
http://www.my_site_name.com/mycontext/actionName.do
中心控制器为所有的表示层请求提供了一个集中的访问点。这个控制器提供的抽象概念减轻了开发者建立公共应用系统服务的困难,如管理视图、会话及表单数据。它也提供一个通用机制如错误及异常处理,导航,国际化,数据验证,数据转换等。当用户向服务器端提交请求的时候,实际上信息是首先发送到控制器ActionServlet,一旦控制器获得了请求,其就会将请求信息传交给一些辅助类(help classes)处理。这些辅助类知道如何去处理与请求信息所对应的业务操作。在Struts 中,这个辅助类就是org.apache.struts.action.Action。通常开发者需要自己继承Aciton 类,从而实现自己的Action 实例。