`
long272449358
  • 浏览: 66023 次
  • 性别: 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的状态并实现自动启动的步骤。...

    Myeclipse中Tomcat的项目两种部署方式

    * 在部署 Tomcat 项目时,需要确保 Tomcat 的安装目录和 JDK 的安装目录正确。 优缺点分析 方式一:通过 Myeclipse 软件中部署的优点是方便快捷,缺点是需要在 Myeclipse 中进行配置。 方式二:通过 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运行报错的问题及解决方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

    idea配置tomcat

    Idea 是一款功能强大且流行的集成开发环境(IDE),而 Tomcat 则是 Java web 应用程序服务器,可以用来部署和运行基于 Java 的 web 应用程序。以下将详细介绍如何在 Idea 中配置 Tomcat 环境。 下载和安装 Tomcat ...

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

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

    Java Tomcat面试题

    1. 当容器启动时,会读取在webapps目录下所有的web应用中的web.xml文件,然后对xml文件进行解析,并读取servlet注册信息。 2. 将每个应用中注册的servlet类都进行加载,并通过反射的方式实例化。(有时候也是在第一...

    将Web项目War包部署到Tomcat服务器基本步骤.docx

    War 包可以放在 Tomcat 服务器的 webapps 或者 word 目录下,随着 Tomcat 服务器的启动,它可以自动被解压。 Tomcat 服务器基础知识 Tomcat 服务器是一个免费的开放源代码的 Web 应用服务器,属于轻量级应用服务器...

    简单网络运用实例源代码

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

    在Dreamweaver(DM)中创建jsp站点+Tomcat服务器整理.pdf

    Dreamweaver和Tomcat的集成还可以提供一些其他的功能,例如, Dreamweaver可以自动检测Tomcat服务器的状态,并提供相关的警告和提示信息,帮助用户更好地开发和调试jsp站点。 三、 jsp站点的创建 jsp站点的创建...

    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方式编译和运行代码, ...

    debian安装java环境文档

    为了让 Tomcat 在系统启动时自动运行,我们需要创建一个脚本文件 /etc/init.d/tomcat5.sh,内容如下: #!/bin/sh export JAVA_HOME=/usr/local/jdk export TOMCAT_HOME=/usr/local/tomcat export PATH=$PATH:$JAVA_...

    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...

    idea创建springMVC项目.pdf

    设置项目的热部署热部署:热部署就是正在运行状态的项目,修改了项目源码之后,在不手动重新启动Tomcat的情况下能够自动编译并部署项目到服务器上,使得修改立即生效。 四、运行项目 点击按钮,启动Tomcat服务器,...

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

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

Global site tag (gtag.js) - Google Analytics