有时候在用SSH框架时候,要用到Servlet(比如微信),所有就有Struts2和Servlet并存问题了。
案例:跳转Servlet地址:http://kanzong:8080/WeiXin/servlet/Test
web.xml部分配置:
<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>
<servlet>
<servlet-name>Test</servlet-name>
<servlet-class>com.ysq.servlet.Test</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Test</servlet-name>
<url-pattern>/servlet/Test</url-pattern>
</servlet-mapping>
当访问http://kanzong:8080/WeiXin/servlet/Test时候报错,
原因是由于strut2的filter拦截了所有请求,然后默认对它当做action
处理,这样如果struts2.xml中没有配置名为Test的action
那么就会报错.