首页 > 技术文章 > SpringBoot注册Servlet/Filter/Listener

brxHqs 2019-01-15 14:19 原文

由于SpringBoot默认是以jar包的方式启动嵌入式的Servlet容器来启动SpringBoot的web应用,那么没有web.xml文件,如何配置我们的三大Web基础组件呢?

通过使用XXXRegistrationBean如何注册Servlet:

 
如何注册Servlet:
@Bean
public ServletRegistrationBean myServlet(){
ServletRegistrationBean registrationBean = new ServletRegistrationBean(new MyServlet(),"/myServlet");
return registrationBean;
}
//Myservlet extends HttpServlet


如何注册Filter:

 @Bean
  public FilterRegistrationBean myFilter(){
  FilterRegistrationBean registrationBean = new FilterRegistrationBean();
  registrationBean.setFilter(new MyFilter());
  registrationBean.setUrlPatterns(Arrays.asList("/hello","/myServlet"));
  return registrationBean;
 }

如何注册Listener:

  @Bean
  public ServletListenerRegistrationBean myListener(){
  ServletListenerRegistrationBean<MyListener> registrationBean = new
  ServletListenerRegistrationBean<>(new MyListener());
  return registrationBean;
·}

//MyListener implements ServletContextListener等6大接口

 

推荐阅读