`
uule
  • 浏览: 6358923 次
  • 性别: Icon_minigender_1
  • 来自: 一片神奇的土地
社区版块
存档分类
最新评论

使用ServletContextListener监听servlet容器

阅读更多

实现 javax.servlet.ServletContextListener 接口
当Servlet容器启动时会执行contextInitialized(),当Servlet容器停止时会执行contextDestroyed()
在contextInitialized()中加入需要监听的程序

 

/**
 * 定时器启动监听器
 */
public class TimerStartListener implements ServletContextListener {

	protected static final Logger logger = Logger
			.getLogger(TimerStartListener.class);


	@Override
	public void contextDestroyed(ServletContextEvent sce) {

	}

	@Override
	public void contextInitialized(ServletContextEvent sce) {
		TaobaoOrderTimerUtils taobaoOrderTimerUtils = SpringContextHolder
				.getBean("taobaoOrderTimerUtils");
		TimerUtils timerUtils = SpringContextHolder.getBean("timerUtils");
		sce.getServletContext().setAttribute("timerUtils", timerUtils);
		ITaoBaoStoreManager storeManager = SpringContextHolder
				.getBean("taoBaoStoreManager");
		List<TaoBaoStore> stores = new ArrayList<TaoBaoStore>();
		try {
			stores = storeManager.getAllTaoBaoStore();
		} catch (DBRuntimeException e) {
			logger.info("如果本次错误在首次安装出现,请忽略本异常!", e);
		}
		for (TaoBaoStore store : stores) {
			// 如果定时器为开启状态的在启动时开启定时任务
			if (store.getStatus_time_task() == 1) {
				taobaoOrderTimerUtils.startTimer(store);
			}
		}
	}
}

 项目中用到的!

 

spring包中ContextLoaderListener
servlet包中ServletContextListener

 

===========================================================

ServletRequestListener用于监听用户请求的到达,实现该接口的监听器需要实现如下两个方法。

requestInitialized(ServletRequestEvent sre):用户请求到底、被初始化时触发该方法。

requestDestroyed(ServletRequestEvent sre):用户请求结束、被销毁时触发该方法。

 

ServletRequestAttributeListener则用于监听ServletRequest(request)范围内属性的变化

实现该接口的监听器需要实现attributeAdded、attributeRemoved、attributeReplaced三个方法。由此可见,ServletRequestAttributeListener与ServletContextAttributeListener的作用相似,都用于监听属性的改变,只是ServletRequestAttributeListener监听request范围内属性的改变,而ServletContextAttributeListener监听的是application范围内属性的改变。

分享到:
评论

相关推荐

    servlet监听器技术源码

    Servlet监听器技术是Java Servlet规范中的一项重要特性,它允许开发者在特定的Servlet容器事件发生时执行自定义的代码逻辑。这些事件可以包括Web应用程序的初始化、终止,或者是Servlet或Servlet上下文...

    ServletContextListener使用详解

    ServletContextListener 是 Servlet API 中的一个接口,它能够监听 ServletContext 对象的生命周期,实际上就是监听 Web 应用的生命周期。当 Servlet 容器启动或终止 Web 应用时,会触发 ServletContextEvent 事件,...

    servlet监听器案例

    Servlet监听器是Java Web开发中的一个重要概念,它允许开发者在特定的Servlet容器事件发生时执行相应的代码。在本文中,我们将深入探讨Servlet监听器的工作原理、配置和使用,结合具体的"web.xml"配置以及JSP页面的...

    利用servlet监听器,系统启动时创建自定义容器简单例子

    在"利用servlet监听器,系统启动时创建自定义容器简单例子"中,我们主要关注`ServletContextListener`接口。要创建一个监听器,你需要编写一个类,实现`ServletContextListener`接口,并重写它的两个方法:`context...

    servlet事件监听器和JSP基础

    Servlet事件监听器允许开发者对特定的Servlet容器事件做出反应,而JSP则是用于创建动态网页的简便方式。这里我们将深入探讨这两个概念以及它们在实际应用中的使用。 一、Servlet事件监听器 Servlet事件监听器是...

    JAVA培训Servlet监听器.pdf

    JAVA Servlet监听器是指在Servlet容器中,用于监听一些重要事件的发生,监听器对象可以在事情发生前、发生后做一些必要的处理。监听器可以分为多种类型,每种类型都有其特定的应用场景和用途。 ...

    servlet监听器教程(含代码)

    4. **ServletRequestAttributeListener** 和 **HttpSessionAttributeListener**:监听Servlet请求或HttpSession中属性的添加、移除和替换事件。 5. **ServletContextAttributeListener**:监听ServletContext对象中...

    Servlet-api setvlet文档

    7. **监听器Listener**:监听器允许我们监听Servlet容器中的特定事件,如会话创建、销毁、上下文初始化等。常见的监听器接口有`ServletContextListener`、`ServletRequestListener`等。 8. **会话Session管理**:...

    SSH集成Servlet监听

    Servlet监听器是Java Web开发中的一个重要概念,它允许开发者对Web应用程序中特定事件的发生进行响应。监听器基于Java的事件驱动模型,通过实现特定的接口,可以在ServletContext、HttpSession和ServletRequest等...

    servlet事件监听

    - `javax.servlet.ServletContextListener`: 监听Servlet上下文的生命周期事件,例如应用启动和关闭。 - `javax.servlet.ServletContextAttributeListener`: 监听ServletContext中的属性添加、删除和更新事件。 -...

    Servlet监听器例子

    首先,`ServletContextListener`接口用于监听Servlet上下文(即整个Web应用)的生命周期事件。当Web应用启动时,`contextInitialized`方法会被调用,这可以用来进行一些初始化工作,如加载配置文件、设置全局变量等...

    我收集的servlet中事件监听器机制we吧xml配置详解

    1. **ServletRequestListener**:监听Servlet请求的开始和结束。 2. **ServletRequestAttributeListener**:监听请求属性的变化、添加或移除。 3. **HttpSessionListener**:监控会话的创建和销毁。 4. **...

    servlet监听器总结

    ### Servlet监听器总结 #### 一、Listener概念与作用 - **定义**:在Java Web开发中,Listener(监听器)是一种特殊的组件,主要用于监听容器内的特定事件,并根据这些事件的发生执行相应的处理逻辑。 - **功能**...

    JavaServlet帮助文档

    在这个“JavaServlet帮助文档”中,我们将深入探讨Servlet容器的工作原理、Servlet API的使用以及如何在实际项目中部署和管理Servlet。 Servlet容器如Tomcat、Jetty等,它们提供了一个执行Servlet的平台,负责解析...

    Java Servlet帮助文档

    监听器是实现了特定接口的对象,它们监听Servlet上下文、session和请求事件。例如,ServletContextListener可以监听上下文的初始化和销毁事件,HttpSessionListener可以监听会话的创建和失效事件。 综上所述,Java ...

    servlet-2.5 API文档

    7. **监听器(Listener)**:监听器是实现了特定接口的类,可以监听Servlet容器中的特定事件,如会话创建、销毁,或者ServletContext的初始化和销毁。常见的监听器有`HttpSessionListener`、`ServletRequestListener...

    servlet监听器

    开发Servlet监听器需要实现Servlet规范定义的接口,例如实现ServletContextListener接口需要覆盖contextInitialized和contextDestroyed方法。在web.xml配置文件中注册监听器,可以指定多个监听器并控制它们的加载...

    Java Servlet中文说明文档

    监听器用于监听Servlet容器中的特定事件,如Session的创建、销毁,或者Context的初始化、销毁等。常见的监听器接口有`ServletContextListener`、`ServletRequestListener`、`HttpSessionListener`等。 七、部署描述...

    servlet官方文档

    - 监听器监听特定的Servlet上下文事件,如会话创建、销毁、请求初始化等,实现`ServletContextListener`、`HttpSessionListener`等接口。 8. **MVC框架与Servlet**: - Spring MVC、Struts、JSF等MVC框架都是基于...

Global site tag (gtag.js) - Google Analytics