解决struts2过滤器冲突的简单方法
struts2使用FilterDispatcher进行url过滤,默认是所有的url都过滤,但是项目中有些url是不想用struts2进行过滤的,网上搜了不少方法
?
1.修改web.xml文件。
<filter-mapping> ??
????<filter-name>public class ExtendStrutsFilter extends StrutsPrepareAndExecuteFilter {@Overridepublic void doFilter(ServletRequest req, ServletResponse res,FilterChain chain) throws IOException, ServletException {HttpServletRequest request = (HttpServletRequest) req;//不过滤的url,可以自行添加if ("/demo/fileupload".equals(request.getRequestURI())) {//System.out.println("使用自定义的过滤器");chain.doFilter(req, res);}else{//System.out.println("使用默认的过滤器");super.doFilter(req, res, chain);}}}
?
?修改web.xml
?
<!-- sturts2过滤器 --> <filter><filter-name>struts2</filter-name> <!-- 改为自己的过滤器 --><filter-class>com.filter.ExtendStrutsFilter</filter-class></filter><filter-mapping><filter-name>struts2</filter-name><url-pattern>/*</url-pattern></filter-mapping>
?这种方法试验成功
?