springboot实现拦截器_spring拦截器和过滤器

springboot实现拦截器_spring拦截器和过滤器集成拦截器登录验证为例添加拦截器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/169020.html原文链接:https://javaforall.net

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


相关推荐

  • 使用javascript下载网络图片「建议收藏」

    使用javascript下载网络图片「建议收藏」**因为某些原因需要使用js下载网站上的图片,查了万恶的某度,结果解决方案都是一样的,试了试,果然不行。于是乎,上stackoverflow一查,答案就出来了。直接上代码,很简单,答案使用jquery,改成原生js也不难的**functiondownloadImage(src){vara=$("<a></a>").attr("href",…

    2022年6月2日
    39
  • 与ClientWidth有关的一点资料「建议收藏」

    与ClientWidth有关的一点资料「建议收藏」51windows.Netvar s=””;s+=”网页可见区域宽:”+document.body.clientWidth;s+=”网页可见区域高:”+document.body.clientHeight;s+=”网页可见区域宽:”+document.body.offsetWidth +”(包括边线的宽)”;s+=”网页可见区域高:

    2022年7月22日
    15
  • STM32 SPI详解[通俗易懂]

    STM32 SPI详解[通俗易懂]本文的程序是主控室STM32F107各种宏定义和文件会在末尾说明1、SPI简介SPI,是英语SerialPeripheralinterface的缩写,顾名思义就是串行外围设备接口。是Motorola首先在其MC68HCXX系列处理器上定义的。SPI接口主要应用在EEPROM,FLASH,实时时钟,AD转换器,还有数字信号处理器和数字信号解码器之间。SPI,是一种高速的,全双工,

    2022年6月18日
    39
  • QFile读写文件乱码[通俗易懂]

    QFile读写文件乱码[通俗易懂]QFile读写的时候一定要按相同的格式进行读取。。。比如toUtf8()

    2022年6月7日
    118
  • kali linux切换更新源_Kali Linux 更新源 操作完整版教程

    kali linux切换更新源_Kali Linux 更新源 操作完整版教程一、查看kali系统的更新源地址文件命令:vim/etc/apt/sources.list上面这是kali官方的更新源;拓展知识:一个完整的源包括:deb和deb-src;上图源地址是:http://http.kali.org/;图中的kali-rolling是kali目前最新的代号,kali有两个代号(codename):sana和kali-rolling。打开http://http.ka…

    2022年5月10日
    70
  • Slob分配器的数据结构和分配逻辑

    Slob分配器的数据结构和分配逻辑slob分配器:1.数据链表结构构造;2.分配与释放的逻辑分析;

    2025年6月6日
    3

发表回复

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

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