过滤器配置

1、新增一个LoginFilter集成Filter,重写doFilter方法。类上可以给一个注解@WebFilter(filterName = “loginFilter”)

private String login = "/log_in.html";
    public void doFilter(ServletRequest req, ServletResponse resp, FilterChain chain) throws ServletException, IOException {
        HttpServletRequest request = (HttpServletRequest)req;
        HttpServletResponse response = (HttpServletResponse)resp;
        String path = request.getRequestURI();
        if(path.endsWith(login)){
            chain.doFilter(req,resp);
            return;
        }
        HttpSession session = request.getSession();
        User user = (User) session.getAttribute("loginUser");
        if(user==null){
            response.sendRedirect(request.getContextPath()+login);
            return;
        }
        chain.doFilter(req,resp);
    }

2、配置web.xml。路径中配置.html的话就只过滤html网页,不过滤静态资源这些

<filter-mapping>
    <filter-name>loginFilter</filter-name>
    <url-pattern>*.html</url-pattern>
  </filter-mapping>

猜你喜欢

转载自blog.csdn.net/weixin_38400347/article/details/78885972