登陆过滤代码演示

 1 /**
 2  * 登录的过滤
 3  * @author 王东海
 4  * @2017年4月17日
 5  */
 6 
 7 @WebFilter(filterName="LoginFilter",urlPatterns={"*.do","*.jsp"})
 8 public class LoginFilter implements Filter {
 9 
10     @Override
11     public void destroy() {
12 
13     }
14 
15     @Override
16     public void doFilter(ServletRequest arg0, ServletResponse arg1,
17             FilterChain chain) throws IOException, ServletException {
18         /**
19          * 首先确定哪些资源拦截,哪些资源不拦截
20          * 1.资源拦截定义
21          *         servlet下不拦截的:userLoginController.do
22          *                        userLoginOutController.do
23          *                        userRegistrerController.do
24          *         jsp下不拦截的:login.jsp
25          *                    register.jsp
26          * 2.其他的我们需要拦截,accountManagerController.do,
27          * 需要判断session里user是否存在,
28          * 如何存在,放行;不存在,跳转到登录页面,进行登录
29          */
30         
31         //1.进行下转换
32         HttpServletRequest request  = (HttpServletRequest) arg0;
33         HttpServletResponse response = (HttpServletResponse) arg1;
34         
35         String uri = request.getRequestURI();
36         
37         //判断哪些包含放行的
38         if (uri.indexOf("userLoginController.do") >-1
39                 || uri.indexOf("userLoginOutController.do") > -1
40                 || uri.indexOf("userRegistrerController.do") > -1
41                 || uri.indexOf("login.jsp") > -1
42                 || uri.indexOf("register.jsp") > -1
43                 ) {
44             
45             chain.doFilter(request, response);
46             return;
47         }
48         
49         
50         User user = (User) request.getSession().getAttribute("user");
51         if (user == null) {
52             //如果用户名为空,我就重定向
53             response.sendRedirect("login.jsp");
54             return;
55         }
56         
57         chain.doFilter(request, response);
58     }
59 
60     @Override
61     public void init(FilterConfig arg0) throws ServletException {
62 
63     }
64 
65 }
原文地址:https://www.cnblogs.com/wdh1995/p/6725222.html