Spring Boot-- Servlet、Filter、Listener、Interceptor
阿新 • • 發佈:2018-11-11
Spring Boot-- Servlet、Filter、Listener、Interceptor
在Spring Boot中讓Servlet、Listener、Filter生效的方法:
- 在Application上使用@ServletComponentScan註解標註
- 配置一個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;
}