In a web.xml url-pattern matcher is there a way to exclude URLs?

前端 未结 4 876
迷失自我
迷失自我 2020-12-13 19:43

I wrote a filter that needs to be invoked every time a url on my site is accessed EXCEPT the CSS, JS, and IMAGE files. So in my definition I\'d like to have something like

4条回答
  •  刺人心
    刺人心 (楼主)
    2020-12-13 20:37

    I think you can try this one:

    @WebFilter(filterName = "myFilter", urlPatterns = {"*.xhtml"})
    public class MyFilter implements Filter {
    
       @Override
       public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
                throws IOException, ServletException {
          String path = ((HttpServletRequest) request).getServletPath();
    
          if (excludeFromFilter(path)) chain.doFilter(request, response);
          else // do something
       }
    
       private boolean excludeFromFilter(String path) {
          if (path.startsWith("/javax.faces.resource")) return true; // add more page to exclude here
          else return false;
       }
    }
    

提交回复
热议问题