第一种
通过组件扫描注册
Servlet 3.0 提供了以下 3 个注解:
@WebServlet:用于声明一个 Servlet
@WebFilter:用于声明一个 Filter
@WebListener:用于声明一个 Listener。
要想springboot注册这些原生web组件,那么在启动类加上@ServletComponentScan注解
第二种
通过RegistrationBean注册
Spring 提供了三个它的实现类,分别用来注册 Servlet、Filter 和 Listener。
ServletRegistrationBean:Servlet 的注册类
FilterRegistrationBean:Filter 的注册类
ServletListenerRegistrationBean:Listener 的注册类
使用 @Bean 注解将 ServletRegistrationBean、FilterRegistrationBean 和 ServletListenerRegistrationBean 添加 Spring 容器中,并通过它们将我们自定义的 Servlet、Filter 和 Listener 组件注册到容器中使用。
因此,创建servet、listener、filter的类,但不需要加任何注解。
第三种
拦截器的注册
拦截器主要是对url请求进行拦截,可进行登陆验证、权限验证、性能监控、异常处理等。
拦截器功能主要是通过实现WebMvcConfigurer 接口的配置类,重写相关方法,将自定义的拦截器注入IOC容器。