Struts1几个常用类的分析
来源:互联网 发布:2345电脑软件软件大全 编辑:程序博客网 时间:2024/04/27 14:04
ActionServlet
在struts的web应用中,所有*.do形式的URL请求都由ActionServlet来接收,它主要完成两件事:
1、为请求选择适当的Action(如果需要的话,创建一个该Action类的实例)
2、调用该Action的execute()方法
如果ActionServlet不能找到有效的映射,它会调用默认的Action类(在配置文件中定义);如果找到了,ActionServlet将适当的ActionMapping类以及HttpServletRequest(或者ServletRequest)对象转发给Action
ActionServlet类一般来说不需要自己实现,添加struts.jar到classpath后在web项目的web.xml文件中定义即可,配置如下:
<servlet>
<servlet-name>action</servlet-name>
<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
<init-param>
<param-name>config</param-name>
<param-value>/WEB-INF/struts-config.xml</param-value>
</init-param>
<init-param>
<param-name>debug</param-name>
<param-value>3</param-value>
</init-param>
<init-param>
<param-name>detail</param-name>
<param-value>3</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
……
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
Action
每个Action类都扩展了org.apache.struts.action.Action类,分别对应一个*.do的请求,并且覆盖org.apache.struts.action.Action类中的execute()方法:
public ActionForward execute(
ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response)throws Exception {
……