翻译自:http://www.iwebie.com/servletcontextlistener-interface
ServletContext :
每一个web应用都有一个
ServletContext与之相关联。
ServletContext对象在应用启动的被创建,在应用关闭的时候被销毁。
ServletContext在全局范围内有效,类似于应用中的一个全局变量。
ServletContextListener:
使用listener接口,开发者能够在为客户端请求提供服务之前向ServletContext中添加任意的对象。这个对象在ServletContext启动的时候被初始化,然后在ServletContext整个运行期间都是可见的。该接口拥有两个方法如下所示:
void contextDestoryd(ServletContextEvent sce);
void contextInitialized(ServletContextEvent sce);
用户需要创建一个java类实现
javax.servlet.ServletContextListener接口并提供上面两个方法的实现。
示例:
当你需要在处理任何客户端请求之前创建一个数据库连接,并且希望在整个应用过程中该连接都是可用的,这个时候ServletContextListener接口就会十分有用了。
package com.database;
import javax.servlet.ServletContext;
import javax.servlet.ServletContextAttributeEvent;
import javax.servlet.ServletContextAttributesListener;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
import com.database.DbConnection;
public class DatabaseContextListener implements ServletContextListener {
private ServletContext context = null;
private Connection conn = null;
public DatabaseContextListener() {
}
//该方法在ServletContext启动之后被调用,并准备好处理客户端请求
public void contextInitialized(ServletContextEvent event) {
this.context = event.getServletContext();
conn = DbConnection.getConnection;
// 这里DbConnection是一个定制好的类用以创建一个数据库连接
context = setAttribute(”dbConn”,conn);
}
//这个方法在ServletContext 将要关闭的时候调用
public void contextDestroyed(ServletContextEvent event){
this.context = null;
this.conn = null;
}
}
然后部署该类,并在web.xml文件中添加
<listener>
com.database.DatabaseContextListener
</listener>
一旦web应用启动的时候,我们就能在任意的servlet或者jsp中通过下面的方式获取数据库连接:
Connection conn = (Connection) getServletContext().getAttribute(”dbConn”);
分享到:
相关推荐
ServletContextListener使用详解
这是一个maven项目,直接导入eclipse即可运行,此处监听的是9092端口,将项目运行起后,可以对其端口使用情况进行查看,在window下,可以使用命令 netstat -aon|findstr "9092",在linux下可以使用命令netstat -...
NULL 博文链接:https://chenhua-1984.iteye.com/blog/374683
ServletContextListener的应用案例 项目启动:创建新的空表, 项目关闭:删除表 百度六祎,期...
在SpringMVC中利用ServletContextListener初始化数据到内存
ServletContextListener完成在线人数统计和显示人员列表
主要介绍了Java基于ServletContextListener实现UDP监听,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
编写程序,提供用户登录界面。 登录成功后,提示用户上次登录时间,登录IP地址信息。 保存用户的登录信息可以使用XML,也可以使用纯文本文件。... 要求使用ServletContextListener,要求理解Listener.
最近公司项目要用到定时任务,因为是通过接口传送数据,所以我就新建了一个web项目,在web.xml配置文件里配置一个监听器,然后该监听器再继承HttpServlet,同时实现ServletContextListener接口,很简单的一个定时...
听众 ServletContextListener,sesson,请求侦听器
Listener监听器 JavaBean Servlet Jsp XML ...JAVA WEB开发技术 Listener监听器 事件监听器用于对程序中发生的事件进行监听,在监听的过程中会涉及几个重要组成部分: ...ServletContextListener接口 HttpS
JavaWeb新版教程. jsp--ServletContextListener监听器演示.avi
其中一种比较好的方式,是通过实现ServletContextListener接口进行坚挺,重写contextInitialized方法,实现自己需要进行的初始化操作,之后在web.xml中添加相应的listner,tomcat在启动服务时会调用相应方法。...
本方案的原理是写一个实现了ServletContextListener接口的类,该类中有两个方法:public void contextInitialized,它是在应用启动时调用;另一个方法是:public void contextDestroyed,该方法是在应用结束时调用。
介绍了Java定时执行任务,给出了如何使用ServletContextListener实现定时运行java某个方法的例子,简单易用。
public class Test extends HttpServlet implements ServletContextListener { // 服务器停止时执行该事件 public void contextDestroyed(ServletContextEvent sce) { DeleteFile();// 删除启动服务器时建立的...
在启动时,它使用 ServletContextListener 创建一个 websocket 连接。 它将类 WebSocketClient 作为 ClientEndpoint 传递。 ClientEndpoint 处理所有传入事件。 连接顺序 随着 WAR 的部署,一个 ...
为应用添加Servlet,Filter或ServletContextListener ii. 64.2. 改变HTTP端口 iii. 64.3. 使用随机未分配的HTTP端口 iv. 64.4. 发现运行时的HTTP端口 v. 64.5. 配置SSL vi. 64.6. 配置Tomcat vii. 64.7. 启用Tomcat...
实现的接口:ServletRequestListener,HttpSessionListener,ServletContextListener 工程的大致步骤: 1.自定义实现三个监听器的类 2.使用注解的方法注册监听器 3.部署工程并运行,在控制台会输出相应的信息