• Interceptor在springboot2.x版本的快速入门
  1. 实现HandlerInterceptor的接口,并重载它的三个方法:preHandle、postHandle、afterCompletion。
  2.  1 /**
    2 * 登陆拦截器
    3 * @author HILL
    4 *
    5 */
    6 public class LoginInterceptor implements HandlerInterceptor {
    7
    8 @Override
    9 public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)
    10 throws Exception {
    11 return HandlerInterceptor.super.preHandle(request, response, handler);
    12 }
    13
    14 @Override
    15 public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler,
    16 ModelAndView modelAndView) throws Exception {
    17 HandlerInterceptor.super.postHandle(request, response, handler, modelAndView);
    18 }
    19
    20 @Override
    21 public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex)
    22 throws Exception {
    23 HandlerInterceptor.super.afterCompletion(request, response, handler, ex);
    24 }
    25 }

    实现接口

 2.加载过滤器的配置类,并设置过滤路径路径

  这里的意思是:添加一个MyInterceptor拦截器,拦截路径为/properties。(注意不要忘记在配置类上加@Configuration注解)

@Configuration
public class MyWebMvcConfigurer implements WebMvcConfigurer {
@Override
public void addInterceptors(InterceptorRegistry registry) { registry.addInterceptor(new MyInterceptor()).addPathPatterns("/properties");
WebMvcConfigurer.super.addInterceptors(registry);
}
}

加载配置

  • 拦截器三个方法:preHandle、postHandle、afterCompletion的性质。
  1. 因为springboot就是类似一个配置好的ssm框架,所以mvc层就是springmvc,所以这里的性质也是一样的。

    preHandle:在进入controller之前进行拦截并决定是否放行。

    postHandle:在controller处理完请求后,返回视图前执行。当controller发生异常时不执行该方法。

    afterCompletion:返回视图后,一般用于资源的回收,因为发生异常该方法也会执行

  • Interceptor的拦截性质
  1. 因为springmvc的入口就是dispatcherServlet,所有操作都是基于这个入口。所以Interceptor只能拦截springmvc中的RequestMapping,并不能拦截Servlet
  2. 需要拦截servlet时要定义filter进行过滤。
  3. 多个拦截器是的执行顺序,preHandle是在configure类里先添加先执行。postHandle、afterCompletion则依次按顺序由先进后出的规则执行。

springboot的拦截器Interceptor的性质的更多相关文章

  1. spring-boot 加入拦截器Interceptor

    1.spring boot拦截器默认有 HandlerInterceptorAdapter AbstractHandlerMapping UserRoleAuthorizationIntercepto ...

  2. springboot+springmvc拦截器做登录拦截

    springboot+springmvc拦截器做登录拦截 LoginInterceptor 实现 HandlerInterceptor 接口,自定义拦截器处理方法 LoginConfiguration ...

  3. Java 中的过滤器Filter 和拦截器 Interceptor

    1.先说拦截器 Interceptor 本项目以springboot为例: 新建 InterceptorConfig package com.opendev.mystudy.MyInterceptor ...

  4. 5-21 拦截器 Interceptor

    Spring MVC拦截器 什么是拦截器 拦截器是SpringMvc框架提供的功能 它可以在控制器方法运行之前或运行之后(还有其它特殊时机)对请求进行处理或加工的特定接口 常见面试题:过滤器和拦截器的 ...

  5. struts2学习笔记--拦截器(Interceptor)和登录权限验证Demo

    理解 Interceptor拦截器类似于我们学过的过滤器,是可以在action执行前后执行的代码.是我们做web开发是经常使用的技术,比如权限控制,日志.我们也可以把多个interceptor连在一起 ...

  6. struts2拦截器interceptor的三种配置方法

    1.struts2拦截器interceptor的三种配置方法 方法1. 普通配置法 <struts> <package name="struts2" extend ...

  7. SpringBoot自定义拦截器实现IP白名单功能

    SpringBoot自定义拦截器实现IP白名单功能 转载请注明源地址:http://www.cnblogs.com/funnyzpc/p/8993331.html 首先,相关功能已经上线了,且先让我先 ...

  8. SSM-SpringMVC-33:SpringMVC中拦截器Interceptor讲解

     ------------吾亦无他,唯手熟尔,谦卑若愚,好学若饥------------- 拦截器Interceptor: 对处理方法进行双向的拦截,可以对其做日志记录等 我选择的是实现Handler ...

  9. 过滤器(Filter)和拦截器(Interceptor)

    过滤器(Filter) Servlet中的过滤器Filter是实现了javax.servlet.Filter接口的服务器端程序.它依赖于servlet容器,在实现上,基于函数回调,它可以对几乎所有请求 ...

随机推荐

  1. 学生管理系统(javaweb版)

    准备用javaweb 的技术做一个简单的学生管理系统 打算不用登陆的那种,直接进入管理界面. 完成增删改查的功能. 慢慢开始更新,先写那么多.

  2. regex正则表达式学习

    正则表达式 动机1. 处理文本成为计算机常见工作之一2. 对文本内容的搜索提取是一项比较复杂困难的工作3. 为了快速方便处理上述问题,正则表达式技术诞生,主键发展为一个被众多语言使用的独立技术 定义: ...

  3. C#使用Spire.Doc Word for .Net读写Word

    以前对Excel或Word文档操作都使用微软的COM组件Microsoft Word 15.0 object library. 但是这种方式必须要求服务器上安装Office,而且会出现读写操作完成后未 ...

  4. Java框架spring Boot学习笔记(二):Hello Spring Boot、以及项目属性配置

    新建一个新建一个SpringBootTest工程 新建一个HelloController.java文件 package com.example.demo; import org.springframe ...

  5. 如何自动生成图片用于测试 pytorch(No image? No need image)

    if __name__ == '__main__': module = CAM_Module() in_data = torch.randint(0, 255, (2, 3, 7, 7), dtype ...

  6. jsp2

    jsp:实现了静态html中,插入了动态的代码 servlet:动态代码中,插入静态html (jsp代码) <%@ page language="java" content ...

  7. 【noip模拟赛4】Matrix67的派对 暴力dfs

    [noip模拟赛4]Matrix67的派对   描述 Matrix67发现身高接近的人似乎更合得来.Matrix67举办的派对共有N(1<=N<=10)个人参加,Matrix67需要把他们 ...

  8. php 通过扫描二维码关注公众号

    class Wxfollow {     protected $appid = 'wxf1d959b99f33b156';     protected $secret = '248f3a5606045 ...

  9. JAVA课程设计-教学论坛系统

    团队课程设计博客 1. 团队名称:教学论坛系统设计团队 团队成员介绍: 郑佳亮(组长):201721123022,查看帖子,点赞,参与度,搜索,管理员删帖的后端,点赞,参与度前端 李于程(组员):20 ...

  10. 大白书中无向图的点双联通分量(BCC)模板的分析与理解

    对于一个无向图,如果任意两点至少存在两条点不重复(除起点和终点外无公共点)的路径,则这个图就是点双联通. 这个要求等价于任意两条边都存在于一个简单环(即同一个点不能在圈中出现两次)中,即内部无割点. ...