• tomcat启动时自动加载一个类 MyServletContextListener


    目的:

    我们知道在tomcat启动后,需要页面请求进行驱动来执行操作接而响应。我们希望在tomcat启动的时候能够自动运行一个后台线程,以处理我们需要的一些操作。因此需要tomcat启动时就自动加载一个类,或运行一个类的方法。

    可以采用ServletContextListener。

    方法:

    (1)编写一个监听类,实现javax.servlet.ServletContextListener接口。

    复制代码
     1 import javax.servlet.ServletContextEvent;
     2 import javax.servlet.ServletContextListener;
     3 
     4 import com.SWDiskTest.Control.ManagerThread;
     5 import com.SWDiskTest.model.Chamber;
     6 
     7 public class MyServletContextListener implements ServletContextListener {
     8     static Chamber chamber = new Chamber();
     9     static{
    10         System.out.println("static");
    11         new Thread(new ManagerThread(chamber)).start();
    12     }
    13 
    14     @Override
    15     public void contextDestroyed(ServletContextEvent arg0) {
    16         // TODO Auto-generated method stub
    17 
    18     }
    19 
    20     @Override
    21     public void contextInitialized(ServletContextEvent arg0) {
    22         // TODO Auto-generated method stub
    23         System.out.println("start");
    24 
    25     }
    26 
    27 }
    复制代码

    (2)配置web.xml

    复制代码
    <web-app version="3.0" 
        xmlns="http://java.sun.com/xml/ns/javaee" 
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
        xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
        http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
      <listener>
          <listener-class>com.SWDiskTest.startup.MyServletContextListener</listener-class>
      </listener>
    ......
    </web-app>
    复制代码

    注意:

    应用事件监听器程序是建立或修改servlet环境或会话对象时通知的类。它们是servlet规范的版本2.3中的新内容。注册一个监听程序涉及在web.xml的web-app元素内放置一个listener元素。虽然listener元素的结构很简单,但请不要忘记,必须正确地给出web-app元素内的子元素的次序。listener元素位于所有的servlet元素之前以及所有filter-mapping元素之后。此外,因为应用生存期监听程序是serlvet规范的2.3版本中的新内容,所以必须使用web.xmlDTD的2.3或以后版本。

  • 相关阅读:
    react的路由权限控制
    react的路由中的switch和exact的使用
    react中antd的表格自定义展开
    webstorm的git操作使用
    ES6的相关语法
    vue导出文件下载
    vue如何解析xml文件 x2js
    ES6模板字符串
    彻底卸载微软拼音输入法
    systemverilog新增的always_comb,always_ff,和always_latch语句
  • 原文地址:https://www.cnblogs.com/jpfss/p/9766658.html
Copyright © 2020-2023  润新知