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相关配置注册类似…