首页 > 代码库 > httpServlet,java web后台服务
httpServlet,java web后台服务
1,定时执行的类
package com.utils;import java.io.IOException;import java.text.SimpleDateFormat;import java.util.Date;
public class MyTimer extends Thread { // 间隔时间:小时 private int intervalHours; // 误差(操作所需时间可能导致误差):分钟 private int deviationMinute; // 执行时间 private String runTime; public MyTimer(){ // 参数取得 intervalHours = 24; deviationMinute = 5; runTime= "19:30"; } public void run() { while (!this.isInterrupted()) {// 线程未中断执行循环 // 获取当前时间:HH:mm Date now = new Date(); SimpleDateFormat dateFormat = new SimpleDateFormat("HH:mm"); String hours = dateFormat.format(now); // 时间到达 if(hours.equals(runTime)){ doRun(); try { // 长时间休眠:间隔时间-误差 Thread.sleep(intervalHours * 3600 * 1000 - deviationMinute * 60 * 1000); } catch (InterruptedException e) { e.printStackTrace(); } }else{ try { // 等待间隔:30s Thread.sleep(30000); System.out.println(hours); } catch (InterruptedException e) { e.printStackTrace(); } } } } /** * 处理 */ private void doRun() { }}
2,servlet
package com.utils;import javax.servlet.http.HttpServlet;public class MyServlet extends HttpServlet{ /** * */ private static final long serialVersionUID = 1L; private MyTimer myTimer; public MyServlet(){ } public void init(){ String str = null; if (str == null && myTimer== null) { myTimer= new MyTimer(); myTimer.start(); }
super.init(); } public void destory(){ if (myTimer!= null && myTimer.isInterrupted()) { myTimer.interrupt(); }
super.destroy(); } }
3,web.xml
<servlet> <servlet-name>MyServlet</servlet-name> <servlet-class>com.utils.MyServlet</servlet-class> <load-on-startup>9</load-on-startup
</servlet>
httpServlet,java web后台服务
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。