springboot监听器之ServletContextListener

      Spring Boot是由Pivotal团队供给的全新框架,其设计目标是用来简化新Spring应用的初始搭建以及开辟过程。该框架利用了特定的体例来进行设置装备摆设,从而使开辟人员不再需要界说样板化的设置装备摆设。经由过程这种体例,Spring Boot致力于在蓬勃成长的快速应用开辟范畴(rapid application development)当作为带领者。

      在Servlet API中有一个ServletContextListener接口,它可以或许监听ServletContext对象的生命周期,现实上就是监听Web应用的生命周期      当Servlet容器启动或终止Web应用时,会触发ServletContextEvent事务,该事务由 ServletContextListener 来处置。在 ServletContextListener 接口中界说了处置ServletContextEvent事务的两个方式contextInitialized和contextDestroyed。

工具/原料

  • 电脑
  • intellij IDEA 2018 2.2或者eclipse 2017

方式/步骤

  1. 1

    第一步调:建立一个springboot的项目(也可以建立一个简答的java项目)。

    1、 打开建立页面 选择File-new-project..

    2、选择建立的项目为spring initializr 进入springboot项目建立步调(也可以选择类型java,建立一个通俗java项目)

    3、输入项目名字,选择依靠web(按照项目需求选择,此次需要),选择存放目次-完当作(Finish)

  2. 2

    第二步调:ServletContextListener监听实现。

    1、首先建立一个类ServletListener并实现接口implements ServletContextListener

    2、实现contextInitialized和contextDestroyed方式

    3、在类ServletListener撒花姑娘添加注释@WebListener

    import javax.servlet.annotation.WebListener;

    4、在启动类ExcelimportApplication上添加注释@ServletComponentScan

    import org.springframework.boot.web.servlet.ServletComponentScan;

    5、具体代码如下所示:

    import javax.servlet.ServletContextEvent;import javax.servlet.ServletContextListener;import javax.servlet.annotation.WebListener;@WebListenerpublic class ServletListener  implements ServletContextListener {        @Override    public void contextInitialized(ServletContextEvent servletContextEvent) {        System.out.println("-------启动---------");    }        @Override    public void contextDestroyed(ServletContextEvent servletContextEvent) {        System.out.println("-------终止---------");    }}

  3. 3

    第三步调:ServletContextListener监听器测试。

    1、首先启动办事运行日记如下所示。

  4. 4

    第四步调:ServletContextListener监听具体利用介绍。

    1、contextInitialized

    用来通知监听器web应用初始化过程已经起头。 当Servlet 容器启动Web 应用时挪用该方式。在挪用完该方式之后,容器再对Filter 初始化,而且对那些在Web 应用启动时就需要被初始化的Servlet 进行初始化

    2、contextDestroyed

    用来通知servletContext即将封闭。当Servlet 容器终止Web 应用时挪用该方式。在挪用该方式之前,容器会先销毁所有的Servlet 和Filter 过滤器。

    3、一般本家儿要借助于contextInitialized来加载缓存数据

    public void contextInitialized(ServletContextEvent servletContextEvent)     ServletContext sc = servletContextEvent.getServletContext();

       //查询数据的数据加载的缓存中    sc.setAttribute("key","value");    System.out.println("-------启动---------");}

注重事项

  • 开辟情况 jdk 1.8 IDEA 2018.2.2 maven:apache-maven-3.5.4
  • 发表于 2019-04-24 20:01
  • 阅读 ( 191 )
  • 分类:其他类型

相关问题

0 条评论

请先 登录 后评论