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>