SpringBoot集成拦截器[通俗易懂]

SpringBoot集成拦截器[通俗易懂]集成拦截器登录验证为例添加拦截器public class LoginInterceptor implements HandlerInterceptor { private Logger log = LoggerFactory.getLogger(getClass()); //Controller逻辑执行之前 @Override public boolean preHandle(HttpServletRequest request, HttpServletRe

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

集成拦截器

  • 登录验证为例

  • 添加拦截器

    public class LoginInterceptor implements HandlerInterceptor { 
         
    
        private Logger log = LoggerFactory.getLogger(getClass());
    
        //Controller逻辑执行之前
        @Override
        public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { 
         
            log.info("preHandle....");
            Object user = WebUtils.getHttpSession().getAttribute("user");
            log.info("user:{}",user);
            String uri = request.getRequestURI();
            log.info("uri:"+ uri);
            if (user == null) { 
         
                response.sendRedirect("/");
                return false;
            } else { 
         
                return true;
            }
        }
    
        //Controller逻辑执行完毕但是视图解析器还未进行解析之前
        @Override
        public void postHandle(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o, ModelAndView modelAndView) throws Exception { 
         
            log.info("postHandle....");
        }
    
        //Controller逻辑和视图解析器执行完毕
        @Override
        public void afterCompletion(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o, Exception e) throws Exception { 
         
            log.info("afterCompletion....");
        }
    }
    
  • 注册,配置拦截路径和排除登录需访问路径

    @Configuration
    public class WebMvcConfig implements WebMvcConfigurer { 
         
    
        @Override
        public void addInterceptors(InterceptorRegistry registry) { 
         
            registry.addInterceptor(new LoginInterceptor()).addPathPatterns("/**")
                    .excludePathPatterns("/", "/login",  "/user/login","/user/login",
                            "/images/**", "/user/getCode", "/js/**", "/page/**",  "/layui/**",
                            "/layui_ext/**", "/login.html", "/webjars/**", "/css/**");
        }
    }
    
  • 退出登录清除session

        /** * 跳转到登录 * @return */
        @RequestMapping("toLogin")
        public String toLogin(){ 
         
            WebUtils.getHttpSession().removeAttribute("user");
            return "/";
        }
    
    
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/169176.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Fungus插件_插件大师

    Fungus插件_插件大师一个任务的fungus声明fungus设置一个开关,当触发碰撞器时,将开关打开,当在持续碰撞时如是碰到的是人物,并且按下空格且开关为开,就执行对话重载名字并且关闭开关//多个任务的时候就是加个else其他都一样usingSystem;usingSystem.Collections;usingSystem.Collections.Generic;usingFungus;usingUnityEngine;publicclassFungunNpcGrandFather:.

    2025年7月26日
    0
  • MongoDB 3 分片集群安装配置「建议收藏」

    MongoDB 3 分片集群安装配置

    2022年3月2日
    36
  • 如何查看顶级域名有几个二级域名

    如何查看顶级域名有几个二级域名

    2021年10月21日
    62
  • MySQL的Illegal mix of collationsy异常原因和解决方法

    MySQL的Illegal mix of collationsy异常原因和解决方法

    2021年10月15日
    75
  • 视觉slam与激光slam_适马fpl 视频

    视觉slam与激光slam_适马fpl 视频SLAM(同步定位与地图构建),是指运动物体根据传感器的信息,一边计算自身位置,一边构建环境地图的过程,解决机器人等在未知环境下运动时的定位与地图构建问题。目前,SLAM的主要应用于机器人、无人机、无人驾驶、AR、VR等领域。其用途包括传感器自身的定位,以及后续的路径规划、运动性能、场景理解。SLAM按照传感器来分,分为视觉SLAM(VSLAM)和激光SLAM,视觉SLAM基于摄像

    2022年8月23日
    3
  • 可以搜课程设计的网站_课程设计论文格式

    可以搜课程设计的网站_课程设计论文格式1.主要功能:展示各种类型的作文。普通用户的登录注册和管理员用户登录。可以精确或模糊按照作文题目搜索。还有分页功能,首页、尾页、上一页、下一页。返回顶部等等很多功能。普通用户登录:发表作文,管理自己的作文,管理自己账号。管理员用户登录:发表作文,管理所有的作文,管理所有账号。数据库用的是sqlserver。丰富精美的css、js效果。2.效果截图:登录/注册没登录时的基础首页普通用户:左边的侧边栏可以随意显示隐藏。管理员:3.项目文件截图:

    2025年6月14日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号