SpringBoot通过代码注册Servlet、Fillter、Listener

来源:互联网 发布:倚天蝴蝶形态指标源码 编辑:程序博客网 时间:2024/06/08 03:52

Spring Boot提供了 ServletRegistrationBeanFilterRegistrationBeanServletListenerRegistrationBean这3个东西来进行配置Servlet、Filter、Listener。


通过自定义配置文件WebConfig.java注册Servlet、Filter、Listener。

[java] view plain copy
  1. import java.util.ArrayList;  
  2. import java.util.EventListener;  
  3. import java.util.List;  
  4.    
  5. import org.springframework.boot.context.embedded.FilterRegistrationBean;  
  6. import org.springframework.boot.context.embedded.ServletListenerRegistrationBean;  
  7. import org.springframework.boot.context.embedded.ServletRegistrationBean;  
  8. import org.springframework.context.annotation.Bean;  
  9. import org.springframework.context.annotation.Configuration;  
  10. import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;  
  11.    
  12. import com.tianshouzhi.springbootstudy.web.filter.DemoFilter;  
  13. import com.tianshouzhi.springbootstudy.web.listener.DemoListener;  
  14. import com.tianshouzhi.springbootstudy.web.servlet.DemoServlet;  
  15.    
  16. @Configuration  
  17. public class WebConfig extends WebMvcConfigurerAdapter{  
  18.     @Bean  
  19.     public FilterRegistrationBean getDemoFilter(){  
  20.         DemoFilter demoFilter = new DemoFilter();  
  21.         FilterRegistrationBean registrationBean = new FilterRegistrationBean();  
  22.         registrationBean.setFilter(demoFilter);  
  23.         List<String> urlPatterns = new ArrayList<String>();  
  24.         urlPatterns.add("/*");//拦截路径,可以添加多个  
  25.         registrationBean.setUrlPatterns(urlPatterns);  
  26.         registrationBean.setOrder(1);  
  27.         return registrationBean;  
  28.     }  
  29.     @Bean  
  30.     public ServletRegistrationBean getDemoServlet(){  
  31.         DemoServlet demoServlet = new DemoServlet();  
  32.         ServletRegistrationBean registrationBean = new ServletRegistrationBean();  
  33.         registrationBean.setServlet(demoServlet);  
  34.         List<String> urlMappings=new ArrayList<String>();  
  35.         urlMappings.add("/demoservlet");////访问,可以添加多个  
  36.         registrationBean.setUrlMappings(urlMappings);  
  37.         registrationBean.setLoadOnStartup(1);  
  38.         return registrationBean;  
  39.     }  
  40.     @Bean  
  41.     public ServletListenerRegistrationBean<EventListener> getDemoListener(){  
  42.         ServletListenerRegistrationBean<EventListener> registrationBean = new ServletListenerRegistrationBean<>();  
  43.         registrationBean.setListener(new DemoListener());  
  44.         //registrationBean.setOrder(1);  
  45.         return registrationBean;  
  46.     }  







阅读全文
0 0
原创粉丝点击