介绍一下Struts的ActionServlet类

来源:互联网 发布:河源市民网络问政平台 编辑:程序博客网 时间:2024/06/06 01:21

ActionServlet继承自javax.servlet.http.HttpServlet类,其在Struts.framework中扮演的角色是中心控制器。它提供一个中心位置来处理全部的终端请求。控制器ActionServlet主要负责将HTTP的客户端请求信息组装后,根据配置文件的制定描述,转发到适当的处理器。

按照Servlet的标准,所有的Servlet必须在web配置文件(web.xml)声明。同样,ActionServlet必须在WebApplication配置文件(web.xml)中描述,有关配置信息如下。

[html] view plain copy
  1. <servlet>  
  2.    <servlet-name>action</servlet-name>  
  3.    <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>  
  4. </servlet>  

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

[html] view plain copy
  1. <servlet-mapping>  
  2.    <servlet-name>action</servlet-name>  
  3.    <url-pattern>*.do</url-pattern>  
  4. </servlet-mapping>  

一个该模式的请求url符合如下格式

http://www.my_site_name.com/mycontext/actionName.do

中心控制器为所有的表示层请求提供了一个集中的访问点。这个控制器提供的抽象概念减轻了开发者建立公共应用系统服务的困难,如管理视图、会话及表单数据。它也提供一个通用机制如错误及异常处理,导航,国际化,数据验证,数据转换等。

当用户向服务器端提交请求的时候,实际上信息是首先发送到控制器ActionServlet,一旦控制器获得了请求,其就会将请求信息传交给一些辅助类(help classes)处理。这些辅助类知道如何去处理与请求信息所对应的业务操作。在struts中,这个辅助类就是org.apache.struts.action.Action。通常开发者需要自己继承Action类,从而实现自己的Action实例。
0 0