遇到一个奇怪问题,有时候会不显示css或图片文件,通过调试工具发现请求返回长度都是0.研究半天未果,初步猜测可能是过滤器给拦截了。
果然在一个过滤器中发现相关代码:
HttpRequestWrapperTow httpReqWarp = new HttpRequestWrapperTow(httpReq, xssMap);
chain.doFilter(httpReqWarp, response);
原来这个HttpRequestWrapperTow 是自定义的request处理程序用于防止sql注入。不需要过滤js、css、图片等资源文件。
所以将web.xml中的url-patten加以限制:
<filter-mapping>
<filter-name>XSSFilter</filter-name>
<url-pattern>*.action</url-pattern>
</filter-mapping>
只过滤action相关后台代码。