package com.nstars.common.web.listener;
import javax.servlet.ServletContext;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.springframework.context.ApplicationContext;
import org.springframework.web.context.ContextLoaderListener;
import org.springframework.web.context.support.WebApplicationContextUtils;
import com.nstars.baseobjectanalyse.service.IBaseObjectMgr;
import com.opensymphony.oscache.general.GeneralCacheAdministrator;
/**
* 服务启动时可以做一些自定义的初始化动作
*
*
*/
public class StartupListener extends ContextLoaderListener implements ServletContextListener {
private static final Log log = LogFactory.getLog(StartupListener.class);
public void contextInitialized(ServletContextEvent event) {//系统启动时所作操作
ServletContext context = event.getServletContext();
if (log.isDebugEnabled()) {
log.debug("系统初始化开始...");
}
super.contextInitialized(event);
// ApplicationContext ctx = WebApplicationContextUtils.getRequiredWebApplicationContext(context);
//ProviderManager provider = (ProviderManager) ctx.getBean("authenticationManager");//得到其service层接口
// call Spring's context ContextLoaderListener to initialize
// all the context files specified in web.xml
setupContext(context);
if (log.isDebugEnabled()) {
log.debug("系统初始化结束...");
}
}
public static void setupContext(ServletContext context) {
//其实这里可以调用任何东西
GeneralCacheAdministrator admin=new GeneralCacheAdministrator();
admin.flushAll();
ApplicationContext ctx = WebApplicationContextUtils.getRequiredWebApplicationContext(context);
IBaseObjectMgr ibom=(IBaseObjectMgr)ctx.getBean("baseObjMgr");
admin.removeEntry("CacheForVarietyInstances");
if (log.isDebugEnabled()) {
log.debug("系统初始化实例化品种缓存开始...");
}
ibom.readVarietyInstance();
if (log.isDebugEnabled()) {
log.debug("系统初始化实例化品种缓存结束...");
}
//XXXMgr mgr = (XXXMgr) ctx.getBean("lookupManager");
// 甚至可以设置一些公用常量在里边。
//context.setAttribute(Constants.AVAILABLE_ROLES, mgr.getAllRoles());
//log.debug("Drop-down initialization complete [OK]");
}
public void contextDestroyed(ServletContextEvent event) {//系统关闭时所作操作
// TODO Auto-generated method stub
super.contextDestroyed(event);
}
}
分享到:
相关推荐
通过这个“servlet 监听器范例”,我们不仅学习了如何使用Servlet监听器来统计在线用户,还了解了如何跟踪用户登录状态。这个示例对于理解和实现在Java Web应用程序中进行用户管理、监控系统活动具有很大的价值。
在特定的生命周期阶段,Servlet容器可能会触发监听器(Listener)中的特定事件处理方法,例如`contextInitialized(ServletContextEvent sce)`和`contextDestroyed(ServletContextEvent sce)`,这些监听器可以帮助...
这个程序代码示例主要用于查看服务器的参数和运行状态信息,对于理解和学习Servlet编程具有很高的参考价值。 Servlet是Java Servlet API的核心,它定义了一组接口和类,用于构建服务器端的应用程序。开发者通过实现...
Servlet通过servlet引擎运行在Web服务器中,以执行请求和响应,请求、响应的典型范例是HTTP协议。 一个客户端程序,可以是一个Web浏览器,或者是非其他的可以连接上Internet的程序,它会访问Web服务器并发出请求。这...
此外,这本书可能还会涵盖DOM操作,通过JavaScript改变HTML元素,添加事件监听器,以及如何利用AJAX实现异步数据交换。 JavaScript还支持多种库和框架,如jQuery、React、Vue或Angular,它们极大地简化了前端开发...
Java Web程序开发是Web应用程序开发的关键领域,涵盖了诸如Servlet、JSP、JSTL、过滤器、监听器等核心技术。本资源"JAVA WEB程序开发范例宝典1-2章源代码"旨在帮助开发者深入理解并实践这些概念,通过实际的代码示例...
《Java通用范例开发金典源代码》是一个包含大量Java编程示例的资源集合,旨在帮助开发者深入理解和掌握Java编程语言的各种特性和应用场景。这个压缩包文件中的源代码覆盖了Java语言的基础到高级各个方面,是Java学习...
Servlet作为事件监听器,接收并处理这些请求。例如,你可以创建一个实现了HttpServlet的类,重写service()方法来响应特定HTTP方法(GET、POST等)。 手机开发源码的标签暗示了这些示例可能也涵盖了移动应用的事件...
**Ajax技术详解与百度搜索范例实践** Ajax(Asynchronous JavaScript and XML)是一种在无需刷新整个网页的情况下,能够更新部分网页的技术。它通过在后台与服务器进行少量数据交换,使得网页实现异步更新,极大地...
本编程范例主要聚焦于Java的事件监听器和事件适配器机制,以及如何在J2EE(Java 2 Platform, Enterprise Edition)环境中实现这些概念。 首先,我们要理解Java事件模型。Java事件模型基于发布/订阅模式,其中事件源...
《Java Web程序开发范例宝典 (源码) (上集)》是一本专注于Java Web应用程序开发实践的书籍,提供了一系列实例代码供学习者参考。这本书的上集部分包含了一系列的RAR压缩文件,如01.rar到12.rar,每个文件可能对应一...
在Java Web程序开发中,我们通常涉及到一系列的关键技术与概念,这些内容在"Java Web程序开发范例宝典源代码11-21"中很可能有所体现。通过对这些源代码的深入学习,开发者可以增强自己在构建Web应用程序时的能力。...
这三章通常会深入讲解Web应用程序的开发过程,包括但不限于Servlet、JSP、JavaServer Faces (JSF)、MVC模式、过滤器、监听器、数据库交互以及安全性等方面的知识。下面,我们将详细探讨这些章节可能涵盖的重要知识点...
5. **Web开发**:对于Web应用,可能包含Servlet、JSP、MVC模式、过滤器、监听器等内容。读者可以通过实际项目了解HTTP协议、请求响应流程,以及如何利用Tomcat服务器部署应用。 6. **项目管理**:在实际开发中,...
在Maven项目中,你会在pom.xml文件中看到jersey相关的依赖,如`jersey-container-servlet-core`、`jersey-media-multipart`等,这些依赖用于提供HTTP容器集成和处理不同媒体类型的能力。 接下来,查看项目中的源...
《Java Web程序开发范例宝典 源码1-10》是一个涵盖了Java Web开发全方位实例的资源集合,旨在帮助开发者深入理解并熟练掌握Java Web应用的开发技术。源码1-10可能代表着一系列从基础到进阶的示例项目,每个项目都...
总之,这个"quartz1.8 范例"涵盖了Quartz在独立线程和Web环境下的使用,对于理解如何在Java项目中利用Quartz实现定时任务具有很好的参考价值。开发者可以通过分析和运行这个示例,更好地掌握Quartz的工作原理和实际...
10. **Filter和Listener**:在Servlet容器中,Filter用于拦截请求和响应,进行预处理或后处理,而Listener则监听特定事件,如会话创建、销毁等。 通过分析压缩包中的源代码和实例,我们可以对这些技术有更深入的...
5. **Listener**:监听器是实现特定接口的Java类,它们监听Web应用中的特定事件,如会话创建、销毁、请求初始化等,可以用来执行相应的逻辑操作。 除了这些基础组件,Java Web开发还涉及到MVC(Model-View-...
Java Web开发范例源代码是学习和理解Java Web技术的重要资源,它包含了各种实际应用场景的实例,可以帮助开发者深入掌握相关技术。在这个压缩包中,我们可以找到一系列与Java Web相关的源代码,这对于初学者和有经验...