zoukankan      html  css  js  c++  java
  • 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或以后版本。

  • 相关阅读:
    Codeforces 1291 Round #616 (Div. 2) B
    总结
    刷新DNS解析缓存+追踪+域名解析命令
    数学--数论--Hdu 5793 A Boring Question (打表+逆元)
    Lucene.net(4.8.0) 学习问题记录六:Lucene 的索引系统和搜索过程分析
    LeetCode 117 Populating Next Right Pointers in Each Node II
    LeetCode 116 Populating Next Right Pointers in Each Node
    test test
    LeetCode 115 Distinct Subsequences
    LeetCode 114. Flatten Binary Tree to Linked List
  • 原文地址:https://www.cnblogs.com/jpfss/p/9766658.html
Copyright © 2011-2022 走看看