利用Filter实现session拦截

1、在web.xml中配置

    <!-- Session监听器 -->
    <filter>
        <filter-name>sessionValidateFilter</filter-name>
        <filter-class>cn.jxufe.core.filter.SessionValidateFilter</filter-class>
    </filter>
    <filter-mapping>
        <filter-name>sessionValidateFilter</filter-name>
        <url-pattern>/admin/*</url-pattern>
    </filter-mapping>

2、创建自定义过滤器类

public class SessionValidateFilter implements Filter {
    public void destroy() {}

    public void doFilter(ServletRequest servletRequest,
            ServletResponse servletResponse, FilterChain chain)
            throws IOException, ServletException {
        HttpServletRequest request = (HttpServletRequest) servletRequest;
        HttpServletResponse response = (HttpServletResponse) servletResponse;
        HttpSession session = request.getSession();
        if ((session == null) || (session.getAttribute("username") == null)) {
            String PATH=request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+request.getContextPath()+"/";
            response.sendRedirect(PATH+"login.jsp");
        }
        chain.doFilter(request, response);
    }

    public void init(FilterConfig filterConfig) throws ServletException {}

}
原文地址:https://www.cnblogs.com/hehaiyang/p/4190250.html