遇到一个问题,我们的首页原来是在index.jsp里做个重定向。
然后被要求主页url只能是域名,不能跳转,于是改成转发,但是转发之后出现404错误。
而直接访问目标地址没有问题,后来网上搜到是因为struts的filter没有处理来自forward的请求,在web.xml里修改一下map参数就行了:
4 Understanding and Using Servlet Filters
http://yanln.iteye.com/blog/1602770 :
<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>
修改为:
<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>
<dispatcher>REQUEST</dispatcher>
<dispatcher>FORWARD</dispatcher>
</filter-mapping>