Servlet 编写过滤器filter配置多个url-pattern

时间:2020-05-14 23:27:56 类型:JAVA
字号:    

Servlet 编写过滤器filter配置多个url-pattern的方法如下:

<filter>  
    <filter-name>authority</filter-name>  
    <filter-class>com.util.AuthorityFilter</filter-class>  
</filter>  
<filter-mapping>  
    <filter-name>authority</filter-name>  
       <url-pattern>/admin/*</url-pattern>  
</filter-mapping>  
<filter-mapping>  
    <filter-name>authority</filter-name>  
    <url-pattern>/manage/*</url-pattern>  
</filter-mapping>

如下登陆实例:

public void doFilter(ServletRequest req, ServletResponse resp, FilterChain chain) throws ServletException, IOException {
    // 获得在下面代码中要用的request,response,session对象
   HttpServletRequest request = (HttpServletRequest) req;
   HttpServletResponse response = (HttpServletResponse) resp;
   response.setContentType("text/html;charset=utf-8");
   PrintWriter out = response.getWriter();
   HttpSession session = request.getSession();
    if(session.getAttribute("username") == null){
        out.println("<script>alert('请登陆');location.href='/login'</script>");
        return;
    }
    else{
        chain.doFilter(req, resp);
    }

web.xml:

<filter>
   <filter-name>IsLogFilter</filter-name>
   <filter-class>zhuangzi.com.filter.IsLogFilter</filter-class>
</filter>
<filter-mapping>
   <filter-name>IsLogFilter</filter-name>
   <url-pattern>/admin/*</url-pattern>
   <!--<dispatcher>FORWARD</dispatcher>-->
</filter-mapping>


<