SpringBoot-- 整合ServletFilterListener
Posted 听歌敲代码
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SpringBoot-- 整合ServletFilterListener相关的知识,希望对你有一定的参考价值。
SpringBoot中有两种方式可以添加 Servlet、Filter、Listener。
1.代码注册,通过ServletRegistrationBean、 FilterRegistrationBean 和 ServletListenerRegistrationBean 获得控制
1) Servlet
@Bean public ServletRegistrationBean servletRegistrationBean() { return new ServletRegistrationBean(new MyServlet(), "/xs/*"); }
2.在 SpringBootApplication 上使用@ServletComponentScan 注解后,Servlet、Filter、Listener 可以直接通过 @WebServlet(urlPatterns = "/test/*")、@WebFilter、@WebListener 注解自动注册,这些注解都是JDK的,无需其他代码。
1) Servlet
@SpringBootApplication @ServletComponentScan(basePackages={"com.xsjt"}) public class SpringBootSampleApplication { public static void main(String[] args) { SpringApplication.run(SpringBootSampleApplication.class, args); } }
2) Filter
/** * @Description 自定义的Serlvlet过滤器 * @ClassName MyFilter * @Date 2017年11月1日 下午2:29:50 */ @WebFilter(filterName = "myFilter", urlPatterns = "/*") public class MyFilter implements Filter { public void init(FilterConfig filterConfig) throws ServletException { // TODO Auto-generated method stub } public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { HttpServletRequest req = (HttpServletRequest)request; System.out.println(req.getRequestURL() + "------>doFilter"); chain.doFilter(request, response); } public void destroy() { // TODO Auto-generated method stub } }
3) Listener
/** * @Description 自定义监听器 * @ClassName MyListener * @Date 2017年11月1日 下午2:31:18 */ @WebListener public class MyListener implements ServletContextListener { public void contextInitialized(ServletContextEvent sce) { System.out.println("ServletContext 初始化"); System.out.println(sce.getServletContext().getServerInfo()); } public void contextDestroyed(ServletContextEvent sce) { System.out.println("ServletContext 销毁"); } }
以上是关于SpringBoot-- 整合ServletFilterListener的主要内容,如果未能解决你的问题,请参考以下文章
[SpringBoot系列]SpringBoot如何整合SSMP
SpringBoot完成SSM整合之SpringBoot整合junit