读书人

struts2链接过滤器摩擦的解决方案

发布时间: 2013-10-19 20:58:22 作者: rapoo

struts2链接过滤器冲突的解决方案

1.修改web.xml文件。

<filter-mapping>

<filter-name>package com.olympus.sapg.smtinnovation.util.method; import java.io.IOException; import javax.servlet.FilterChain; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; import javax.servlet.http.HttpServletRequest; import org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter; public class FCKFilter extends StrutsPrepareAndExecuteFilter { public void doFilter(ServletRequest req,ServletResponse res, FilterChain chain) throws IOException, ServletException { HttpServletRequest request = (HttpServletRequest) req; String URI = request.getRequestURI(); String[] uriArray = URI.split("/fckeditor/editor/filemanager/connectors/"); int arrayLen = uriArray.length; if (arrayLen >= 2) { chain.doFilter(req, res); }else{ super.doFilter(req, res, chain); } } }

单个链接的过滤器:

public class ExtendStrutsFilter extends StrutsPrepareAndExecuteFilter {              @Override      public 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文件:

<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>  



读书人网 >编程

热点推荐