第一步:配置web.xml文件

添加如下代码

<servlet>
<servlet-name>Timer</servlet-name>
<servlet-class>com.ccpit.p4.dispatch.web.Timer</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>

第二步:创建一个类,名称为Timer(与web.xml文件的servlet-class内的Timer匹配)

package com.ccpit.p4.dispatch.web;

import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit; import javax.servlet.Servlet;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet; @SuppressWarnings("serial")
public class Timer extends HttpServlet{ //Start tomcat automatically to perform listening services
//Override一定要写哦,不然启动tomcat后不会自动执行init()方法
@Override
public void init() throws ServletException{
ScheduledExecutorService executor = Executors.newScheduledThreadPool(1);
executor.scheduleWithFixedDelay(new EchoServer(), 0, 1000, TimeUnit.MILLISECONDS);
}
}

第三步:大家是不是把第二步的代码放入工程后new EchoServer()会报错,没错这里就是真正要执行我们写的服务代码,将在下面贴出,我再描述一下scheduleWithFixedDelay这个函数各个参数的含义:参数一:待执行的任务,参数二:执行任务前的延时,参数三:每次执行任务的间隔时间单位ms,参数四:设定以ms为记时单位。

服务方法代码

package com.ccpit.p4.dispatch.web;
class EchoServer implements Runnable {
@Override
public void run() {
try {
Thread.sleep(50);
} catch (InterruptedException e) {
e.printStackTrace();
}
//下面写我们要执行的代码
System.out.println("This is a echo server. The current time is " +
System.currentTimeMillis() + "."); }
}

至此,启动服务器将会自动执行我们特指的一个方法,我是在需要自动发送邮件的时候用到了此功能,因为在服务启动或重启之后自动监控是否有需要发送的邮箱,所用使用了启动tomcat将自动执行自己设定的方法,如有疑问欢迎留言

												

启动tomcat服务器自动执行一个方法的更多相关文章

  1. python paramiko ssh.exec_command()启动tomcat服务器应用进程失败问题解决方法- Neither the JAVA_HOME nor the JRE_HOME environment variable is defined At least one of these environment variable is needed to run this progr

    问题说明:

  2. 部署war包后,新增tomcat服务器,启动tomcat服务器报错解决方法

    导入Maven工程后,新增tomcat服务器,启动服务器后,报如下错误: 使用http访问页面的时候报如下错误: 经过百度后,有一种方法可以解决: 在eclipse tomcat无法启动,无法访问to ...

  3. 用js实现在加载完成一个页面后自动执行一个方法

    <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"% ...

  4. 页面加载完后自动执行一个方法的js代码

    1.在body中用onload: <body onload="conver()"> 2.在脚本中用window.onload: <script type=&quo ...

  5. Myeclipse在启动Tomcat服务器的时候总是进入debug视图的解决方法

    最近调试程序,由于出现过一些错误,在调试的时候,更改过一些东西,但是后来在myeclipse下启动Tomcat服务器的时候,自动的跳入到debug视图了(以前是一启动Tomcat服务器后,直接就加载t ...

  6. 启动Tomcat服务器报错

    启动Tomcat服务器报错: Several ports (8005, 8080, 8009) required by Tomcat v5.5 Server at localhost are alre ...

  7. war包部署在tomcat下,使用windows service服务方式启动tomcat服务器,在包含调用dll的模块,报dll找不到问题的解决办法

    问题描述: 开发了一个需要调用dll的java web程序,在idea开发环境下运行调试没问题,可以正常运行,在tomcat/bin下,运行批处理startup.bat,启动tomcat服务器,也可以 ...

  8. [转]eclipse启动tomcat无法访问的解决方法

    这篇文章介绍了eclipse启动tomcat无法访问的解决方法,有需要的朋友可以参考一下 症状: tomcat在eclipse里面能正常启动,而在浏览器中访问http://localhost:8080 ...

  9. eclipse启动tomcat无法访问的解决方法

    转自:https://www.cnblogs.com/longshiyVip/p/4637680.html 问题:: tomcat在eclipse里面能正常启动,但在浏览器中访问http://loca ...

随机推荐

  1. JZOJ 100029. 【NOIP2017提高A组模拟7.8】陪审团

    100029. [NOIP2017提高A组模拟7.8]陪审团 Time Limits: 1000 ms  Memory Limits: 131072 KB  Detailed Limits   Got ...

  2. 科学计算库Numpy——数组形状

    改变数组维数 给数组的shape属性赋值,改变数组的维数.数组的大小是不能改变的. 增加维度 使用np.newaxis增加维度. 删除维度 使用squeeze()删除维度是1的维度,也就是删除shap ...

  3. 【STM32】IIC的基本原理(实例:普通IO口模拟IIC时序读取24C02)(转载)

     版权声明:本文为博主原创文章,允许转载,但希望标注转载来源. https://blog.csdn.net/qq_38410730/article/details/80312357 IIC的基本介绍 ...

  4. HDU - 6514 Monitor(二维差分)

    题意 给定一个\(n×m\)的矩阵.(\(n×m <= 1e7\)). \(p\)次操作,每次可以在这个矩阵中覆盖一个矩形. \(q\)次询问,每次问一个矩形区域中,是否所有的点都被覆盖. 解析 ...

  5. CTU Open Contest 2017

    这场题很水.水题我就懒得贴了. B - Pond Cascade 优先队列维护这个水池需要多少时间 或者 直接扫一遍. #include <cstdio> #include <cst ...

  6. Three Steps to Migrate Group Policy Between Active Directory Domains or Forests Using PowerShell

    Three Steps Ahead Have you ever wished that you had three legs? Imagine how much faster you could ru ...

  7. 浅谈我所见的CSS组织风格

    1.简单组织(见习级) projectName ├─css | └style.css 优点:简单,单一文件,适合一些简单项目. 缺点:过度集中,没有模块化,无法适应大型项目. 2.公共组织(见习级) ...

  8. 【LeetCode】Merge Two Sorted Lists(合并两个有序链表)

    这道题是LeetCode里的第21道题. 题目描述: 将两个有序链表合并为一个新的有序链表并返回.新链表是通过拼接给定的两个链表的所有节点组成的. 示例: 输入:1->2->4, 1-&g ...

  9. Java实现对cookie的增删改查

    原文地址:http://blog.csdn.net/k21325/article/details/54377830 @RequestMapping(value="meeting/addGua ...

  10. Format aborted in 格式化namenode 失败的原因

    [user6@das0 hadoop-0.20.203.0]$ bin/hadoop namenode -format 12/02/20 14:05:17 INFO namenode.NameNode ...