要让struts 2 能够处理用户的请求,最重要的就是通过配置web.xml文件让框架能在Servlet客户端运行,下面是大家都熟悉的struts 1.x在web.xml里的配置方法。
在struts 2 中,配置有了许多改变,最明显 的是分发器(Dispatcher)已有Servlet转为Servlet Filter ,其配置和Servlet一样简单,如下所示:
显然Struts 2的配置从表面上看简单了许多,主要有如下几个方面的变化。
1、在struts 2中使用了Filter 来代替servlet作为分发器。和Servlet配置一样,Filter配置中定义了Filter的名称和类名。Filter Mapping通过URI和名称匹配来调用相应的Filter。
2、在Struts 2 中没有提供映射文件名的配置参数,取而代之的是在Classpath下的默认配置文件"struts.xml",并且该文件名是通过default.properties中struts.configuration.files属性来进行配置的。
- <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>2</param-value>
</init-param>
- <init-param>
<param-name>detail</param-name>
<param-value>2</param-value>
</init-param>
<load-on-startup>2</load-on-startup>
</servlet>
- <!-- Standard Action Servlet Mapping
-->
- <servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
在struts 2 中,配置有了许多改变,最明显 的是分发器(Dispatcher)已有Servlet转为Servlet Filter ,其配置和Servlet一样简单,如下所示:
- <!-- 添加struts2的过滤器
-->
- <filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
- <filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
显然Struts 2的配置从表面上看简单了许多,主要有如下几个方面的变化。
1、在struts 2中使用了Filter 来代替servlet作为分发器。和Servlet配置一样,Filter配置中定义了Filter的名称和类名。Filter Mapping通过URI和名称匹配来调用相应的Filter。
2、在Struts 2 中没有提供映射文件名的配置参数,取而代之的是在Classpath下的默认配置文件"struts.xml",并且该文件名是通过default.properties中struts.configuration.files属性来进行配置的。