您当前的位置: 首页 > 

梁云亮

暂无认证

  • 1浏览

    0关注

    1211博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

SSM项目 拦截器

梁云亮 发布时间:2021-11-25 11:52:44 ,浏览量:1

第一步:编写一个拦截器(登录拦截器)
@Slf4j
public class LoginInterceptor implements HandlerInterceptor {
    @Override
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
        String requestURI = request.getRequestURI();
        log.info("被拦截的请求有:{}",requestURI);
        
        //通过session,拿到用户登录信息
        HttpSession session = request.getSession();
        final Object userObj = session.getAttribute(ProjShow.USER_SESSION);//获取角色属性

        if (userObj != null) {
            //如果已经登录,不拦截
            return true;
        } else {
            //如果没有登录,打开登录页面
            response.sendRedirect(request.getContextPath() + "/login.jsp");
            return false;
        }
    }
}
第二步:在springmvc配置文件中对第一步中创建的拦截器进行配置

    
        
        
        
        
        
        
        
        

        
    

第三步:在web.xml中指定使用默认的servlet对静态资源进行拦截


    default
    *.js
    *.css

经过以上三步,ssm中的拦截器就创建成功了

附:过滤器与拦截器的区别:
  • 过滤器

    • servlet规范中的一部分,任何java web工程都可以使用
    • 在url-pattern中配置了/*之后,可以对所有要访问的资源进行拦截
  • 拦截器

    • 拦截器是AOP思想的具体应用。
    • 拦截器是springMVC框架自己的,只有使用了SpringMVC框架的工程才能使
    • 拦截器只会拦截访问的控制器方法,如果访问的是jsp/html/css/image/js是不会进行拦截
关注
打赏
1665409997
查看更多评论
立即登录/注册

微信扫码登录

0.0419s