Spring Boot-- Servlet、Filter、Listener、Interceptor

Spring Boot-- Servlet、Filter、Listener、Interceptor


在Spring Boot中让Servlet、Listener、Filter生效的方法:

  1. 在Application上使用@ServletComponentScan注解标注
  2. 配置一个WebConfig
@Configuration
public class WebConfig {

    @Bean
    public FilterRegistrationBean getFilter(){
        FilterRegistrationBean filterRegistrationBean = new FilterRegistrationBean();
        DemoFilter filter = new DemoFilter();
        filterRegistrationBean.setFilter(filter);

        List<String> urls = new ArrayList<>();
        urls.add("/*");
        filterRegistrationBean.setUrlPatterns(urls);
        //设置优先级 值越小优先级越高
        filterRegistrationBean.setOrder(1);

        return filterRegistrationBean;
    }

    @Bean
    public ServletRegistrationBean getServlet(){
        ServletRegistrationBean servletRegistrationBean = new ServletRegistrationBean();
        DemoServlet servlet = new DemoServlet();
        servletRegistrationBean.setServlet(servlet);

        List<String> urls = new ArrayList<>();
        urls.add("/demoServlet");
        urls.add("/servlet");
        servletRegistrationBean.setUrlMappings(urls);
        //程序启动时就加载servlet
        servletRegistrationBean.setLoadOnStartup(1);

        return servletRegistrationBean;
    }

    @Bean
    public ServletListenerRegistrationBean getListener(){
        ServletListenerRegistrationBean servletListenerRegistrationBean = new ServletListenerRegistrationBean();
        DemoListener listener = new DemoListener();
        servletListenerRegistrationBean.setListener(listener);

        servletListenerRegistrationBean.setOrder(1);
        return servletListenerRegistrationBean;
    }

    @Bean
    public ServletListenerRegistrationBean getSessionListener(){
        ServletListenerRegistrationBean servletListenerRegistrationBean = new ServletListenerRegistrationBean();
        DemoSessionListener listener = new DemoSessionListener();
        servletListenerRegistrationBean.setListener(listener);

        servletListenerRegistrationBean.setOrder(2);
        return servletListenerRegistrationBean;
    }

猜你喜欢

转载自blog.csdn.net/lolwsyzc/article/details/83109472