ssm中拦截器

做项目时,我们经常需要验证当前用户是否有登录,登录后才可以访问其他页面,而注册和登录页面不需要验证登录,又因为每个页面(除了注册和登录)都需要验证,故,我们可以在访问页面前拦截所有的请求,然后检查是否登录,具体实现方法:

1.新建filter文件夹

2.新建拦截器类LoginInterceptor 实现接口 HandlerInterceptor,  编写注解:@Component,右击Generate,选择override Methods

3.编写验证用户是否登录

HttpSession session =request.getSession();
 User user =(User)session.getAttribute("user");
 if(user ==null){
     request.getRequestDispatcher("/login").forward(request,response);
     return false;
 }else{
     return true;//如果session有值,则说明该用户已经登录。
 }

4.编写注册类,如下图所示,用来注册刚才写的拦截器,如下图所示

registry.addInterceptor(loginInterceptor).addPathPatterns("/**").excludePathPatterns("/register","/login","/login/**","/css/**","/font/**","/img/**","/images/**","/js/**","/layui/**");

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章