Spring Boot工程应用篇(六)Web工程配置(注册SpringMVC拦截器)、Servlet、Servlet的Filter

11. Spring Boot 下使用拦截器

在非Spring Boot工程中若要使用SpringMVC的拦截器,在定义好拦截器后,需要在Spring配置文件中对其进行注册。但 Spring Boot 工程中没有了 Spring 配置文件,那么如何使用拦截器呢?

Spring Boot 对于原来在配置文件配置的内容,现在全部体现在一个类中,该类需要继承自 WebMvcConfigurationSupport 类,并使用@Configuration 进行注解,表示该类为一个JavaConfig 类,其充当配置文件的角色。

11.1 步骤

  • 定义拦截器
  • 定义 WebMvc 配置类,其需要继承自 WebMvcConfigurationSupport,且需要使用@Configuration 进行注解
  • 无需修改主配置文件

11.2 定义工程

复制《Spring Boot工程应用篇》任意Web工程,并重命名为 05-interceptor。

11.2.1 定义拦截器

在这里插入图片描述

11.2.2 定义处理器

在这里插入图片描述

11.2.3 定义配置文件类

在这里插入图片描述

12. Spring Boot Web工程注册 Servlet

在 Spring Boot 中使用 Servlet,根据 Servlet 注册方式的不同,有两种使用方式。

12.1 注解方式

(1) 步骤

  • 定义 Servlet,并在 Servlet 类上添加@WebServlet 注解
  • 在启动类上添加@ServletComponentScan 注解

(2) 创建工程

创建一个 Spring Boot 工程,并命名为 11-servlet01。

(3) 创建 Servlet
在这里插入图片描述

(4) 修改入口类

在入口类中添加 Servlet 扫描注解。
在这里插入图片描述

12.2 配置类方式

(1) 步骤

  • 定义 Servlet,但无需使用@WebServlet 注解
  • 定义 JavaConfig 配置类,并在一个@Bean 修饰的方法中创建一个 Servlet 实例。该方法返回值类型为 ServletRegistrationBean
  • 启动类上无需使用@ServletComponentScan 注解

(2) 创建工程

创建 spring boot 工程,并命名为 11-servlet02。

(3) 定义 Servlet
在这里插入图片描述

(4) 定义配置类
在这里插入图片描述

13. Spring Boot Web工程注册 Filter

在 Spring Boot 中使用 Filter 与前面的使用 Servlet 相似,根据 Filter 注册方式的不同,有两种使用方式。

13.1 注解方式

(1) 步骤

  • 定义 Filter,并在 Filter 类上添加@WebFilter 注解
  • 在启动类上添加@ServletComponentScan 注解

(2) 使用工程

直接在 11-servlet01 工程上进行修改,不再创建新的工程。

(3) 创建 Filter
在这里插入图片描述

(4) 修改入口类

在@ServletComponentScan 注解中注册 Filter 所在的包,当然,Spring Boot 支持通配符的使用。
在这里插入图片描述

13.2 配置类方式

(1) 步骤

  • 定义 Filter,但无需使用@WebFilter 注解
  • 定义 JavaConfig 配置类,并在一个@Bean 修饰的方法中创建一个 Filter 实例。该方法返回值类型为 FiltertRegistrationBean
  • 启动类上无需使用@ServletComponentScan 注解

(2) 使用工程

直接在 11-servlet02 工程上进行修改,不再创建新的工程。

(3) 定义 Filter
在这里插入图片描述

(4) 修改配置类

在配置类中添加如下方法。
在这里插入图片描述

其他Web相关配置注册类似…

猜你喜欢

转载自blog.csdn.net/weixin_41947378/article/details/108750687