如何在tomcat启动的时候运行一个Java类

设置个Listener就好了,在web.xml中指定描述。

web.xml其实就是tomcat启动的时候会读取的一个描述文件,比如访问服务器的时候首页等都可以在里面指定,有相应的tag。这里有解释:http://blog.chinaunix.net/uid-20399471-id-1687965.html

实现这个Listener的接口:

 1 public class MyServletContextListener implements ServletContextListener {
 2
 3   @Override
 4   public void contextDestroyed(ServletContextEvent arg0) {
 5     //Notification that the servlet context is about to be shut down.
 6   }
 7
 8   @Override
 9   public void contextInitialized(ServletContextEvent arg0) {
10     // do all the tasks that you need to perform just after the server starts
11
12     //Notification that the web application initialization process is starting
13   }
14
15 }

然后在web.xml中编写listener的标签,添加listener类:

MyTestListener换成自己实现ServletContextListener接口的类名
<listener>
     <listener-class>[package].MyTestListener</listener-class>
    </listener>
  

references:

http://stackoverflow.com/questions/13819773/how-to-run-specific-java-code-on-tomcat-start-or-on-application-deploy

http://stackoverflow.com/questions/158336/is-there-a-way-to-run-a-method-class-only-on-tomcat-startup

http://crunchify.com/how-to-run-java-program-automatically-on-tomcat-startup/

http://blog.sina.com.cn/s/blog_6ea90e4b0100ny3t.html

时间: 2024-10-21 16:45:16

如何在tomcat启动的时候运行一个Java类的相关文章

如何在tomcat启动时加载一个类

Tomcat启动时classloader加载顺序 Tomcat的class加载的优先顺序一览   1.最先是$JAVA_HOME/jre/lib/ext/下的jar文件.   2.环境变量CLASSPATH中的jar和class文件.   3.$CATALINA_HOME/common/classes下的class文件.   4.$CATALINA_HOME/commons/endorsed下的jar文件.   5.$CATALINA_HOME/commons/i18n下的jar文件.   6.

如何在tomcat启动时自动加载一个类

有时候在开发web应用的时候,需要tomcat启动后自动加载一个用户的类,执行一些初始化方法,如从数据库中加载业务字典到内存中,因此需要在tomcat启动时就自动加载一个类,或运行一个类的方法. 可以采用在WEB-INF/web.xml中添加一个监听程序(ServletContextListener配置项),步骤如下:1) 增加一个监听程序 MyServletContextListener.java, 实现javax.servlet.ServletContextListener接口 packag

tomcat启动时自动运行代码

原文链接:http://jingpin.jikexueyuan.com/article/49660.html 作者: 一直向北 发布时间:2015-07-13 11:12:13 方法1:tomcat 自动执行servlet 写一个servlet,在init()方法中写好想要执行的程序,程序如下: eclipse新建一个web\Dynamic Web Project , name = myweb1 , 把tomcat中的 servlet-api.jar复制到lib中,新建一个类MyServlet.

Tomcat启动时自动运行某程序

项目需要和tmall实现长连接,接收tmall推送的Order消息,然后对消息进行逻辑处理. 目前写了一个servlet,实现了permit的验证,然后对tmall进行长连接操作,启动后,只要tomcat一直运行着,长连接就不会断掉.现在的需求是tomcat启动后我这个servlet自己就运行起来,不用我自己再去访问一下配置的servlet路径. 资料: http://www.cnblogs.com/Payne-Wang/archive/2013/04/01/loadOnTomcatStartu

2个问题,解决tomcat启动一闪而过和运行tomcat/bin目录下的startup.bat时报错(the CATALINA_HOME environment variable is not defined correctly)

1.除手动使用开始菜单自启动或者程序启动TOMCAT时TOMCAT一闪而过,这时候是发生了错误,这时候我们打开BIN目录下的“startup.bat”文件,编辑,在结尾添加pause命名,这样在CMD下执行startup.bat时就会出错停止,这时候我们就知道是什么错误了. 2.运行tomcat/bin目录下的startup.bat时报错:the CATALINA_HOME environment variable is not defined correctly 碰到这个问题时的第一反应是添加

如何在Linux启动的时候执行一个命令

在Linux启动起来时,执行一个命令的设置方法== 例如:需要执行的命令是cvslockd ============第一种方式:根据运行级别配置======================== 第一步:建立自启动脚本/etc/rc.d/init.d/cvslockd [[email protected] ~]# vim /etc/rc.d/init.d/cvslockd #add /usr/local/bin/cvslockd [[email protected] ~]# chmod +x /e

请写一个java类,在任何时候都可以向它查询“你已经创建了多少个对象?”

这个问题解决方法很简单,只要设置一个类的静态整型成员(事例中我设置的是n),初始化值为1,然后在其构造函数中添加语句使其+1(n++),这样需要查询创建了多少个对象时直接查询n的值就可以了,如下: 1 package trr; 2 3 public class trr 4 { 5 public static void main(String[] args) 6 { 7 a c1=new a(); 8 System.out.println("创建了"+a.n+"个对象"

增强一个Java类中的某个方法的几种方式

      * 一种方式:继承的方式.  * 能够控制这个类的构造的时候,才可以使用继承. Connection是一个接口,实现类不确定(由各厂商提供),无法使用此方法     * 二种方式:装饰者模式方式.         * 包装对象和被包装的对象都要实现相同的接口.         * 包装的对象中需要获得到被包装对象的引用.         ***** 缺点:如果接口的方法比较多,增强其中的某个方法.其他的功能的方法需要原有调用.     * 三种方式:动态代理的方式.         

一天一个Java类之Java关键字

关键字含义 abstract表明类或者成员方法具有抽象属性 assert用来进行程序调试 boolean基本数据类型之一,布尔类型 break提前跳出一个块 byte基本数据类型之一,字节类型 case用在switch语句之中,表示其中的一个分支 catch用在异常处理中,用来捕捉异常 char基本数据类型之一,字符类型 class类 const保留关键字,没有具体含义 continue回到一个块的开始处 default默认,例如,用在switch语句中,表明一个默认的分支 do用在do-whi