springboot配置mvc拦截器
1、导入依赖
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.5.1</version>
<relativePath/>
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
2、配置controller
@Controller @RequestMapping("/hello") public class HelloController { @GetMapping("/show") @ResponseBody public String show(){ return "hello world!"; } }
3、创建Interceptor拦截器
@Component public class MyInterceptor implements HandlerInterceptor { @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { System.out.println("拦截器执行前"); return true; } @Override public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception { System.out.println("拦截器执行中"); } @Override public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception { System.out.println("拦截器执行后"); } }
4、配置拦截器
@Configuration public class MyWebConfiguration implements WebMvcConfigurer { @Autowired private MyInterceptor myInterceptor; @Override public void addInterceptors(InterceptorRegistry registry) { /** * addPathPatterns 拦截的资源,/** 表示拦截所有多级资源 * excludePathPatterns 不拦截的资源 aa.js */ registry.addInterceptor(myInterceptor).addPathPatterns("/**").excludePathPatterns("/aa.js"); } }
5、springboot目录结构

6、测试拦截器
访问 http://localhost:8080/hello/show,提示如图信息表示拦截器配置成功

浙公网安备 33010602011771号