ServletContextListener在Springboot中的使用

Posted 再见理想

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ServletContextListener在Springboot中的使用相关的知识,希望对你有一定的参考价值。

ServletContextListener是servlet容器中的一个API接口, 它用来监听ServletContext的生命周期,也就是相当于用来监听Web应用的生命周期。今天我们就来说说如何在Springboot 1.5.2这个轻量型框架中如何使用它。 
其实配置ServletContextListener与其它Filter, Listener, Servlet方法是一致的,具体可参考Springboot 1.5.2 官方文档 
首先写一个类来实现ServletContextListener接口,并实现contextInitialized(), contextDestroyed()两个父类方法,并使用@WebListener注解, 具体代码如下:

package org.liting;

import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
import javax.servlet.annotation.WebListener;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@WebListener
public class PmsServletContextListener implements ServletContextListener{
    private Logger logger =  LoggerFactory.getLogger(this.getClass());

    @Override
    public void contextDestroyed(ServletContextEvent arg0) {
        // TODO Auto-generated method stub
        logger.info("liting: contextDestroyed");
    }

    @Override
    public void contextInitialized(ServletContextEvent arg0) {
        // TODO Auto-generated method stub
        logger.info("liting: contextInitialized");
    }

}

其次在Springboot web 应用启动代码中添加@ServletComponentScan注解,使我们的Springboot应用在启动时能扫描到该Listener.

运行项目,我们可以springboot的启动log看到如下log信息,即表明我们的ServletContextListener注册成功。

2017-03-28 20:31:43.274  INFO 8808 --- [ost-startStop-1] org.liting.PmsServletContextListener     : liting: contextInitialized

那么我们就可以利用ServletContextListener来监听我们的web应用及做一些对应的业务逻辑。

 
 

以上是关于ServletContextListener在Springboot中的使用的主要内容,如果未能解决你的问题,请参考以下文章

ServletContextListener 和静态块

ServletContextListener

ServletContextListener使用详解

如何从 ServletContextListener 中查询 servlet 容器以获取有效 URL?

ServletContextListener接口用法

JavaWeb-ServletContextListener