在web中,定时器的启动一般随web server的启动而启动,一般有两种方法.
方法一:在web.xml里配置一个Servlet,并设置其随web server的启动而启动。然后在该Servlet的init()方法里启动定时器,在destory()方法里销毁定时器。
方法二:在web.xml里配置一个Listener,然后在该Listener的初始化方法里启动定时器,在其销毁的方法朝左销毁定时器。
在servlet中启动定时器
import java.io.IOException;
import java.util.Timer;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.lang.StringUtils;
public class ConvergeDataServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
private Timer timer1 = null;
private Task task1;
/**
* Constructor of the object.
*/
public ConvergeDataServlet() {
super();
}
/**
* Destruction of the servlet.
*/
public void destroy() {
super.destroy();
if(timer1!=null){
timer1.cancel();
}
}
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doGet(request, response);
}
// init方法启动定时器
public void init() throws ServletException {
ServletContext context = getServletContext();
// (true为用定时间刷新缓存)
String startTask = getInitParameter("startTask");
// 定时刷新时间(分钟)
Long delay = Long.parseLong(getInitParameter("delay"));
// 启动定时器
if(startTask.equals("true")){
timer1 = new Timer(true);
task1 = new Task(context);
timer1.schedule(task1, delay * 60 * 1000, delay * 60 * 1000);
}
}
}
定时执行操作
/**
*
* @author callan
*/
import java.util.TimerTask;
import javax.servlet.ServletContext;
public class Task extends TimerTask{
private ServletContext context;
private static boolean isRunning = true;
public Task(ServletContext context){
this.context = context;
}
@Override
public void run() {
if(isRunning){
}
}
}
在web.xml配置这个servlet为服务启动时就调用servlet
< servlet >
< servlet-name >taskservlet< / servlet-name >
< servlet-class >com.task< /servlet-class >
< init-param >
< param-name >startTask< /param-name >
< param-value >true< /param-value >
< /init-param >
< init-param >
< param-name >intervalTime< /param-name >
< param-value >1< /param-value >
< /init-param >
< load-on-startup >300< /load-on-startup >
< /servlet >
分享到:
相关推荐
Java定时器在Web应用中的实现主要涉及到`java.util.Timer`类和`ServletContextListener`接口,它们在Spring、Struts、Hibernate等框架环境下同样适用。本文将详细解释如何使用这两个核心组件来实现在Web环境中定时...
Web定时器组件是Java Web应用中用于执行周期性任务的关键工具。它允许开发者在特定时间间隔内自动执行某些操作,例如数据同步、日志清理、发送通知等。这些任务可以是后台运行的,不会影响用户的交互体验。在本文中...
在Web应用中集成Quartz,可以实现定时触发各种业务逻辑,例如数据清理、报告生成、邮件发送等自动化操作。 首先,理解Quartz的核心概念: 1. **Job**:工作,是任务的具体实现,包含要执行的业务逻辑。 2. **...
在Web开发中,定时器常用于页面自动刷新、WebSocket的心跳检测等。在移动应用开发中,定时器可以用来实现后台任务,如位置更新、消息推送等。在游戏开发中,定时器用于控制动画帧率、计时游戏事件等。在服务器端,...
在Java Web应用中,Spring框架提供了更强大的定时任务支持。通过`@EnableScheduling` 注解启用定时任务配置,并在具体的类上使用`@Scheduled` 注解来定义定时任务。 ```java import org.springframework.scheduling...
- 在Web应用中,服务器端多线程定时器常用于实现后台任务,如定时数据同步、清理过期记录、发送通知等。 - ASP.NET框架提供了`System.Threading.Timer`和`System.Timers.Timer`类,它们可以在服务器端创建多线程...
在Web应用程序中,实现定时任务的常见方式之一是使用Web定时器。这篇博文链接指向的是一个关于在Java应用程序中实现Web定时任务的讨论,虽然具体的细节没有给出,但我们可以根据这个主题来深入探讨Web定时器的实现...
本项目中的"Servlet定时器功能完整版已测试过"是一个Java Web应用,利用Servlet实现了定时器功能。这通常涉及到计划执行的任务,例如数据备份、日志清理或者定期发送通知等。 首先,我们要理解Servlet容器如Tomcat...
在实际应用中,定时器可以用于各种场景,例如计划任务、缓存更新、日志记录等。例如,在一个 web 应用程序中,可以使用定时器来计划任务,例如每天凌晨执行某个任务。在一个游戏应用程序中,可以使用定时器来更新...
在Java Web开发中,我们经常需要实现一些定时任务,例如自动备份、数据统计或者消息推送等。这时,我们可以利用JSP(Java Server Pages)技术来创建一个简单的定时器。本实例将介绍如何在MyEclipse开发环境中,结合...
Java Web定时器是一种在Web应用程序中定期执行特定任务的机制,它主要依赖于Java的`java.util.Timer`类和`java.util.TimerTask`类。在Java Web开发中,定时任务通常用于后台数据处理、定时备份、日志清理等场景。...
在实际开发中,灵活运用定时器,可以提高用户体验,增强应用的互动性和实用性。希望这个实例能对你有所帮助,更多uni-app的实践技巧和案例,欢迎访问我的博客:https://blog.csdn.net/k571039838k 获取。
- **启用定时任务**:要在Spring应用中使用`@Scheduled`,首先需要开启定时任务支持。这通常在配置类上使用`@EnableScheduling`注解来完成。 - **定义任务**:然后,你可以创建一个带有`@Component`注解的类,并在...
总结一下,Java定时器虽然简单易用,但在复杂应用中可能显得不足。Spring定时器通过提供丰富的配置选项和强大的`TaskScheduler`接口,成为企业级应用中定时任务的首选。使用Spring定时器,开发者能够更高效地管理和...
在本例中,实现了`ServletContextListener`接口的`WorkServiceImpl`类会在Web应用初始化时调用`contextInitialized()`方法,从而创建一个新的定时器并安排任务。同时,在Web应用关闭时,`contextDestroyed()`方法会...
通过熟练掌握和灵活运用`setTimeout()`和`setInterval()`,开发者可以构建出更富吸引力和交互性的Web应用。在实际项目中,还要注意性能优化,避免过多的定时器影响页面性能,合理使用定时器的清除功能,以提供更流畅...
在IT领域,定时器是一种非常重要的工具,广泛应用于各种软件系统中,用于执行特定任务或在预设时间点触发事件。...理解并熟练运用这些概念,对于开发高质量的桌面应用、移动应用或Web应用至关重要。
在Web应用中,经常需要执行一些定期的任务,例如数据同步、日志清理等。为了实现这样的需求,可以利用`java.util.Timer`配合Servlet监听器(`ServletContextListener`)来实现定时任务的自动启动与执行。 ##### 3.2...
综上所述,Web Servlet定时器是通过在Servlet的生命周期方法中启动和销毁定时任务,以实现在Web应用中定时执行特定任务的功能。这通常涉及到`web.xml`的配置、`init()`和`destroy()`方法的编写,以及选择合适的...