`
long272449358
  • 浏览: 65772 次
  • 性别: Icon_minigender_1
  • 来自: 重庆
社区版块
存档分类
最新评论

实现tomcat启动时自动运行代码

    博客分类:
  • Java
阅读更多
方法1:自动执行servlet

写一个servlet,在init()方法中写好想要执行的程序,

同时,在web.xml配置文件中指出

<servlet>
    <servlet-name>XXXX</servlet-name>
    <servlet-class>XXXX</servlet-class>
    <load-on-startup>1</load-on-startup>
</servlet>

其中粗体部分即可实现tomcat启动时执行该servlet

load-on-startup的值必须为整数

当load-on-startup值为负整数或者未指定时,容器在该servlet被调用时加载

当其值为0和正整数时,容器启动时加载,值越小,优先级越高

方法2:Servlet侦听器

要运用Servlet侦听器需要实现javax.servlet.ServletContextListener接口,同时实现它的contextInitialized(ServletContextEvent event)和contextDestroyed(ServletContextEvent event)两个接口函数。
contextInitialized函数里的内容将被自动执行
最后在web.xml里面添加一个监听节点就行了
<listener>
<listener-class>com.test.ContextListener</listener-class>  
</listener>


如果要执行定时任务,就在自动执行的代码里面使用 java.util.Timer以及创建一个继承java.util.TimerTask的类。示例:

servlet
1. private java.util.Timer timer = null;
2. public void contextInitialized(ServletContextEvent event) {
3. timer = new java.util.Timer(true);
4. event.getServletContext().log("定时器已启动");
5. timer.schedule(new MyTask(event.getServletContext()), 0, 60*60*1000);
6. event.getServletContext().log("已经添加任务调度表");
7. }
8. public void contextDestroyed(ServletContextEvent event) {
9. timer.cancel();
10. event.getServletContext().log("定时器销毁");
11. }    
MyTask类:
1. private static final int C_SCHEDULE_HOUR = 0;
2. private static boolean isRunning = false;
3. private ServletContext context = null;
4. public MyTask(ServletContext context) {
5. this.context = context;
6. }
7. public void run() {
8. Calendar cal = Calendar.getInstance();
9. if (!isRunning) {
10. if (C_SCHEDULE_HOUR == cal.get(Calendar.HOUR_OF_DAY)) {
11. isRunning = true;
12. context.log("开始执行指定任务");
13.
14. //TODO 添加自定义的详细任务,以下只是示例
15. int i = 0;
16. while (i++ < 10) {
17. context.log("已完成任务的" + i + "/" + 10);
18. }
19.
20. isRunning = false;
21. context.log("指定任务执行结束");
22. }
23. } else {
24. context.log("上一次任务执行还未结束");
25. }
26. }    
分享到:
评论

相关推荐

    Linux下shell脚本监控Tomcat的状态并实现自动启动的步骤

    最近公司需要在Linux下监控tomcat的服务,一旦tomcat服务存在异常或者宕机,重启tomcat保证服务的正常运行,由于Linux下有Shell脚本可以实现此效果,下面是Linux下shell脚本监控Tomcat的状态并实现自动启动的步骤。...

    apache-tomcat-9.0.31-windows-x64.zip

    tomcat运行时所需要的配置文件。 注意: server.xml (配置tomcat端口) connectionTimeout="20000" redirectPort="8443" /&gt; lib: 存放tomcat运行时所需要的jar文件。 logs: 存放tomcat运行时所...

    使用MyBatisPlus自动生成代码后tomcat运行报错的问题及解决方法

    主要介绍了使用MyBatisPlus自动生成代码后tomcat运行报错的问题及解决方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

    APACHE 2.2.9+TOMCAT6.0.18配置负载均衡

    就OK了,以后开机后tomcat服务就自动启动了 注册服务: 首先,在开始-&gt;运行中敲cmd,进入MS-DOS界面 cd 到tomcat的bin目录下 运行命令service install TomcatA 就可以把tomcat注册成系统服务了,服务的名称是TomcatA ...

    简单网络运用实例源代码

    war包放tomcat目录下webapp下启动tomcat即可运行,访问地址:http://localhost:8080/cxyu-work 实现: 一. 登录检查:拦截器实现,没有登录无法访问其他资源,自动重定向到登录界面 二. 登录 用户名:cxyu 密码:...

    xmljava系统源码-classfinal:Java类加密工具

    运行加密项目时,无需求修改tomcat,spring等源代码。 支持普通jar包、springboot jar包以及普通java web项目编译的war包。 支持spring framework、swagger等需要在启动过程中扫描注解或生成字节码的框架。 支持...

    简单网络运用实例

    war包放tomcat目录下webapp下启动tomcat即可运行,访问地址:http://localhost:8080/cxyu-work 实现: 一. 登录检查:拦截器实现,没有登录无法访问其他资源,自动重定向到登录界面 二. 登录 用户名:cxyu 密码:...

    完全免费的Java/jsp开发编辑工具FirstJava2

    在工具条上点"运行Tomcat 服务器",就会自动运行Tomcat 服务器. 并自动运行IE浏览器,并自动打开http://localhost:8080/test1 网页. 你还将学会直接用javac命令来编译代码,java运行代码方法,ANT方式编译和运行代码, ...

    tomcat常见的错误与解决方案小结

    web容器其实都是tomcat,但tomcat的内核很...不管是初学者还是有经验的web程序员,使用Tomcat容器的时候会发生包括404,运行启动错误,以及乱码等等的问题,本文将开发过程中遇到的常见错误和简单解决方法分享给大家。

    FirstJava2完全教材

    在工具条上点"运行Tomcat 服务器",就会自动运行Tomcat 服务器. 并自动运行IE浏览器,并自动打开http://localhost:8080/test1 网页. 你还将学会直接用javac命令来编译代码,java运行代码方法,ANT方式编译和运行代码, ...

    FirstJava2免费版3.0

    会有方便的辅助对话框,显示相关的函数和属性,jsp页面的有更好的编辑辅助对话框可以少输入很多代码,java代码的自动编译和运行,Tomcat工程的自动Build,自动部署和自动启动,加入文件的导航功能,实现了方便的文件切换,...

    基于JSP的BBS论坛的源代码

    3.启动MyEclipse,新建一个JavaProject,名称为SimpleBBS,这样MyEclipse会自动找到对应的SimpleBBS的文件夹,并且把其中的JAVA代码全都复制到Ch03工程中 4.在MyEclipse开发环境中,将sqljdbc.jar(SimpleBBS\WebRoot...

    Java/jsp编辑开发工具FirstJava2.2完整版

    包,类的创建和保存,java代码和jsp页面的编辑,会有方便的辅助对话框,显示相关的函数和属性,jsp页面的有更好的编辑辅助对话框可以少输入很多代码,java代码的自动编译和运行,Tomcat工程的自动Build,自动部署和自动启动,...

    将之前基于SSM实现的教务管理系统改成SpringBoot+Mybatis实现+源代码+文档说明

    * 在 IntelliJ IDEA 中,运行SpringBoot启动类。 * 运行 ![login](png/login.png) # 功能模块介绍 ### 1、登录模块功能 使用Shiro权限管理框架,实现登录验证和登录信息的储存,根据不同的登录账户,分发权限角色...

    山东大学大数据的课程设计,基于hadoop实现的图书推荐系统+源代码+文档说明+数据集

    ### 图书推荐系统 ...3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。 --------

    jsp中使用java资源注射

    这个过程是运行时自动完成的,不需要编写任何代码。 资源注射是通过注解(Annotation)完成的。注解是Java 5.0里引入的新特性。注解是一种特殊的接口,以“@”符号为标志。 JSP中如何使用资源注射呢? 其实很简单。

    FirstJava2免费版3.5

    java代码的自动编译和运行,Tomcat工程的自动Build,自动部署和自动启动. FirstJava2主要特点:速度快,功能简单,管用,反应敏捷,编辑辅助方式比较高效.好用! 加入六个实用功能,可以大大减少开发工作量: 1.Hibernate配置...

    FirstJava2教材3.1

    包,类的创建和保存,java代码和jsp页面的编辑,会有方便的辅助对话框,显示相关的函数和属性,jsp页面的有更好的编辑辅助对话框可以少输入很多代码,java代码的自动编译和运行,Tomcat工程的自动Build,自动部署和自动启动....

    mcg-helper流程自动化工具-其他

    三、应用部署:GIT代码拉取,MAVEN打包,SFTP上传,Linux脚本执行,自动化一气呵成,且轻松实现切换用户等交互性需求,数据初始化,多应用的启动顺序或特定条件触发,均可实现自动化操作。 四、模拟操作:接口调试,...

    基于SpringBoot的学习社区,实现登录注册、发帖评论、点赞私聊、热帖排行等功能+源代码+文档说明

    1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合...

Global site tag (gtag.js) - Google Analytics