struts2.3中StrutsPrepareAndExecuteFilter影响文件上传

 

StrutsPrepareAndExecuteFilter为struts2.3版本的过滤器,但是其影响struts上传文件;故而改造如下:

继承StrutsPrepareAndExecuteFilter,并修改doFilter设置。红色为不需要过滤的部分;

 

public class MyStrutsFilter extends StrutsPrepareAndExecuteFilter {

 @Override
 public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException {
  HttpServletRequest request = (HttpServletRequest) req;
  String url = request.getRequestURI();

  try {

   if (url.indexOf("/oa/") > -1) {
    chain.doFilter(req, res);
   } else {
    super.doFilter(req, res, chain);
   }
  } catch (Exception e) {
   e.printStackTrace();
  }

 }

}

web.xml的配置如下:

<filter>
  <filter-name>struts</filter-name>
  <filter-class>
   com.xxx.login.action.MyStrutsFilter
  </filter-class>
  <init-param> 
   <param-name>config</param-name> 
   <param-value>struts-default.xml,struts-plugin.xml,conf/struts/struts.xml </param-value>
  </init-param>
 </filter>
 <filter-mapping>
  <filter-name>struts</filter-name>
  <url-pattern>/*</url-pattern>
 </filter-mapping>

 

 

 

你可能感兴趣的:(struts2.3中StrutsPrepareAndExecuteFilter影响文件上传)