一切福田,不離方寸,從心而覓,感無不通。

十一,Spring Boot 当中配置拦截器的“两”种方式

1. 准备工作:

在 pom.xml 文件当中,导入相关的 jar 包文件。

在这里插入图片描述

 

编写相关项目的启动场景。

在这里插入图片描述

 

对应的 Bean 类

在这里插入图片描述

 

 

编写相关 thymeleaf 视图,HTML文件。

在这里插入图片描述

 

 

相关的 controller 控制器,处理请求内容。

在这里插入图片描述

演示:拦截器:这里我们演示,登录页面的拦截:

  • 当用户没有登录过的时候,不可以访问后面的内容
  • 当用户登录过了,就可以访问后面的内容了。

在这里插入图片描述

在这里插入图片描述


2. Spring Boot当中配置拦截器的第一种方式:通过配置类的方式

首先我们需要定义一个类,并且该类要实现 implements HandlerInterceptor 接口,同时重写其中的 :preHandle( ),postHandle( ),afterCompletion( ) 的三个方法。根据业务拦截的需要,在这个三个方法中,编写,拦截的业务处理。

在这里插入图片描述

在这里插入图片描述

定义一个配置类,在配置类当中,编写我们要拦截哪些请求路径映射,放行哪些请求路径的映射。

注意:

  • 添加上:@Configuration 注解 // 标注是配置类
  • 该类要实现:implements WebMvcConfigurer 类
  • 重写其中的:public void addInterceptors(InterceptorRegistry registry) 方法。

在这里插入图片描述

 

注意点:

在这里插入图片描述

在这里插入图片描述

注意:配置了拦截器的话,图片之类的一些静态资源的访问以及一些文件上传下载,也是要注意放行的,已经视图解析器也是放行的,要放行视图的内容,因为上面是addPathPatterns("/**") // 拦截所有的请求拦截所有,注意不要: templates ,因为sprinboot的默认配置,就是以templates为根路径往下找的,所以再添加 templates 就错了,就成了 /templates/templates/images 了。

简单的就是:记住注意好 Spring Boot的根路径是从哪里开始的,以哪里为根路径的,可能有多个标准/参照路径。

3. Spring Boot 当中配置拦截器的第二种方式:

基于第一种方式修改,webconfig 配置类即可。

在这里插入图片描述

 


4. 补充:URI 和 URL 的区别

1.URI 和 URL 的区别
URI = Universal Resource Identifier
URL = Universal Resource Locator

 

5. 总结:

在这里插入图片描述

 

注意:配置了拦截器的话,图片之类的一些静态资源的访问以及一些文件上传下载,也是要注意放行的,已经视图解析器也是放行的,要放行视图的内容,因为上面是addPathPatterns("/**") // 拦截所有的请求拦截所有,注意不要: templates ,因为sprinboot的默认配置,就是以templates为根路径往下找的,所以再添加 templates 就错了,就成了 /templates/templates/images 了。

简单的就是:记住注意好 Spring Boot的根路径是从哪里开始的,以哪里为根路径的,可能有多个标准/参照路径。

6. 最后:

“在这个最后的篇章中,我要表达我对每一位读者的感激之情。你们的关注和回复是我创作的动力源泉,我从你们身上吸取了无尽的灵感与勇气。我会将你们的鼓励留在心底,继续在其他的领域奋斗。感谢你们,我们总会在某个时刻再次相遇。”

 

from:https://www.cnblogs.com/TheMagicalRainbowSea/p/18414183