struts2 过滤器

要让struts 2 能够处理用户的请求,最重要的就是通过配置web.xml文件让框架能在Servlet客户端运行,下面是大家都熟悉的struts 1.x在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>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属性来进行配置的。


你可能感兴趣的:(框架,struts,servlet,filter,action)