`

怎样使用ServletContextListener接口

阅读更多

翻译自:http://www.iwebie.com/servletcontextlistener-interface

 

 

ServletContext : 每一个web应用都有一个 ServletContext与之相关联。 ServletContext对象在应用启动的被创建,在应用关闭的时候被销毁。 ServletContext在全局范围内有效,类似于应用中的一个全局变量。

 

ServletContextListener: 使用listener接口,开发者能够在为客户端请求提供服务之前向ServletContext中添加任意的对象。这个对象在ServletContext启动的时候被初始化,然后在ServletContext整个运行期间都是可见的。该接口拥有两个方法如下所示:

Servletcontextlistener代码  收藏代码
  1. void contextDestoryd(ServletContextEvent sce);  
  2.   
  3. void contextInitialized(ServletContextEvent sce);  

 用户需要创建一个java类实现 javax.servlet.ServletContextListener接口并提供上面两个方法的实现。

 

 

示例: 当你需要在处理任何客户端请求之前创建一个数据库连接,并且希望在整个应用过程中该连接都是可用的,这个时候ServletContextListener接口就会十分有用了。

Java代码  收藏代码
  1. package com.database;  
  2. import javax.servlet.ServletContext;  
  3. import javax.servlet.ServletContextAttributeEvent;  
  4. import javax.servlet.ServletContextAttributesListener;  
  5. import javax.servlet.ServletContextEvent;  
  6. import javax.servlet.ServletContextListener;  
  7. import com.database.DbConnection;  
  8.   
  9. public class DatabaseContextListener implements ServletContextListener {  
  10.   
  11.   private ServletContext context = null;  
  12.   private Connection conn = null;  
  13.   
  14.   public DatabaseContextListener() {  
  15.   
  16.   }  
  17.   
  18.   
  19.   //该方法在ServletContext启动之后被调用,并准备好处理客户端请求  
  20.   public void contextInitialized(ServletContextEvent event)  {  
  21.     this.context = event.getServletContext();  
  22.     conn = DbConnection.getConnection;  
  23.     // 这里DbConnection是一个定制好的类用以创建一个数据库连接  
  24.     context = setAttribute(”dbConn”,conn);  
  25.   }  
  26.   
  27.   //这个方法在ServletContext 将要关闭的时候调用  
  28.   public void contextDestroyed(ServletContextEvent event){  
  29.     this.context = null;  
  30.     this.conn = null;   
  31.   }  
  32. }  

 

然后部署该类,并在web.xml文件中添加

Xml代码  收藏代码
  1. <listener>  
  2. com.database.DatabaseContextListener  
  3. </listener>  

 一旦web应用启动的时候,我们就能在任意的servlet或者jsp中通过下面的方式获取数据库连接:

Java代码  收藏代码
  1. Connection conn = (Connection) getServletContext().getAttribute(”dbConn”);  

 

 

分享到:
评论

相关推荐

    ServletContextListener使用详解

    我们可以通过实现 ServletContextListener 接口,并在 contextInitialized() 方法中加载数据,使用 setAttribute() 方法将数据提交到内存中去。然后,其他的 Servlet 就可以通过 getAttribute() 方法将数据取出。 ...

    ServletContextListener,Timer,TimerTask学习笔记

    当Web应用启动时,服务器会自动调用实现了`ServletContextListener`接口类的`contextInitialized`方法,而在Web应用停止时,会调用`contextDestroyed`方法。这为开发者提供了一个全局的、统一的入口点来执行一些初始...

    ServletContextListener的应用

    在Java Web开发中,`ServletContextListener`是一个非常重要的接口,它是Servlet API的一部分,定义了两个方法:`contextInitialized`和`contextDestroyed`。这个接口的主要作用是监听Servlet上下文(`...

    Java基于ServletContextListener实现UDP监听

    通过实现ServletContextListener接口,可以在Servlet上下文创建和销毁时执行特定的操作。在这篇文章中,我们将介绍如何使用ServletContextListener来实现UDP监听。 在UDP监听中,需要使用DatagramSocket来创建一个...

    SpringMVC中ervletContextListener的使用

    `ServletContextListener`是一个接口,它包含两个方法:`contextInitialized`和`contextDestroyed`。当Web应用程序启动时,服务器会调用`contextInitialized`方法,而在应用程序关闭时调用`contextDestroyed`。...

    ServletContextListener完成在线人数统计和显示人员列表

    在Java Web开发中,`ServletContextListener`是一个非常重要的接口,它属于Servlet API的一部分,用于监听ServletContext的生命周期事件。当我们想要在Web应用启动时执行某些初始化操作或者在Web应用关闭时进行清理...

    servlet--listener 各种接口的简单例子

    3. **ServletContextListener**:这个接口允许你在Web应用的整个生命周期中进行初始化和清理工作。contextInitialized()方法在Web应用启动时调用,contextDestroyed()方法在Web应用关闭时调用。这是设置全局变量或...

    Listener监听器1

    例如,实现ServletContextListener需要继承ServletContextListener接口并实现contextDestroyed和contextInitialized方法。 public class HelloServletContextListener implements ServletContextListener{ public ...

    tomcat-7.0.56 接口说明文档

    这个接口说明文档是开发者理解和使用Tomcat进行Web应用程序开发的重要参考资料。它详细阐述了Tomcat内部的工作机制、API接口以及如何配置和管理Tomcat服务器。 首先,Tomcat作为Servlet容器,主要职责是解析HTTP...

    Java Servlet应用程序接口查询Java.Servlet.API和SWT 应用程序接口查询SWT_API.rar

    例如,`javax.servlet.ServletContextListener`可以监听ServletContext的生命周期事件,如Web应用的启动和停止。 SWT(Standard Widget Toolkit)是用于创建Java GUI应用程序的库,它是Eclipse IDE的基础。与AWT和...

    Listener:ServletContextListener,sesson,请求侦听器

    首先,`ServletContextListener`是Java Servlet API中的一个接口,它允许我们对Web应用程序的初始化和销毁进行监听。当Web应用被部署或卸载时,服务器会调用该接口定义的方法。例如,我们可以在`contextInitialized`...

    JAVA培训Servlet监听器.pdf

    ServletContextListener用于监听WEB应用启动和销毁的事件,监听器类需要实现javax.servlet.ServletContextListener接口。例如: ```java public class QuartzListener implements ServletContextListener{ private...

    java 监听使用

    `ServletContextListener`是Java Servlet API中定义的一个接口,用于监听Web应用上下文(`ServletContext`)的创建和销毁事件。通过实现这个接口,开发者可以定义在应用启动和关闭时需要执行的操作。 ##### 2.1 ...

    jsp实验5:监听器拦截器的使用

    在本实验中,我们可能会使用到`HttpSessionListener`、`ServletRequestListener`或`ServletContextListener`等监听器接口。例如,`HttpSessionListener`可以用来监控用户会话的创建和销毁,确保只有经过登录验证的...

    java web使用监听器实现定时周期性执行任务demo

    我们可以通过实现`javax.servlet.ServletContextListener`接口,并重写`contextInitialized`和`contextDestroyed`方法,分别在Web应用启动和停止时执行代码。 2. **定时任务实现**:在`contextInitialized`方法中,...

    Spring的监听器ContextLoaderListener的作用

    它实现了 ServletContextListener 接口,在 web.xml 文件中配置这个监听器,启动容器时,就会默认执行它实现的方法。 ContextLoaderListener 的作用可以分为三个方面: 首先,ContextLoaderListener 会关联 ...

    如何让tomcat服务增加java启动命令

    在本文中,我们使用了ServletContextListener接口来实现自启动。ServletContextListener接口有两个重要的方法:contextInitialized和contextDestroyed,这两个方法分别在Tomcat启动和关闭时被调用。我们可以在...

    spring监听器共20页.pdf.zip

    - 在Servlet环境中,可以使用`ServletContextListener`监听ServletContext事件,如Web应用启动和停止。 7. **监听器的应用场景** - 初始化数据:在应用启动时加载配置信息或初始化静态资源。 - 日志记录:监控和...

    servlet监听器

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

Global site tag (gtag.js) - Google Analytics