使用struts2.3.4、urlrewrite3.2整合做页面静态化的时候,url地址映射都是正确的,可是就是一直报404错误...
一直都没法解决 今天偶然发现一帖子终于解决了该问题
strtus2的filter-mapping一定要添加:<dispatcher>FORWARD</dispatcher>
正确配置如下:
注意:urlrewrite的filter在struts2的filter之前!
web.xml
<filter>
<filter-name>UrlRewriteFilter</filter-name>
<filter-class>org.tuckey.web.filters.urlrewrite.UrlRewriteFilter</filter-class>
</filter>
<filter>
<filter-name>struts2Filter</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>UrlRewriteFilter</filter-name>
<url-pattern>/*</url-pattern>
<dispatcher>REQUEST</dispatcher>
<dispatcher>FORWARD</dispatcher>
</filter-mapping>
<filter-mapping>
<filter-name>struts2Filter</filter-name>
<url-pattern>*.action</url-pattern>
<dispatcher>REQUEST</dispatcher>
<dispatcher>FORWARD</dispatcher>
</filter-mapping>

本文介绍了解决Struts2.3.4与URLRewrite3.2整合时出现404错误的方法。强调了在web.xml中正确配置过滤器的重要性,特别是struts2的filter-mapping必须包含FORWARD指令。
3085

被折叠的 条评论
为什么被折叠?



