Javaweb上下文监听者ServletContextListener
一个监听类,不是一个servlet或JSP,它能监听ServletContext一生中的两个关键事件:初始化(创建)和撤销。这个类实现了javax.servlet.ServletContextListener
这个监听类的功能:
1.上下文初始化时得到通知(应用得到部署)。
a.从ServletContext得到上下文初始化参数。
b.使用初始化参数查找名建立一个数据库连接。
c.把数据库连接存储为一个属性,使得Web应用的各个部分都能访问。
2.上下问撤销时得到通知(应用取消部署或结束)
a.关闭数据库连接。
上下文监听的工作步骤原理:
1.容器读这个应用的部署文件,包括和元素。
2.容器为这个应用创建一个新的ServletContext,应用的所有部分都会共享这个上下文。
3.容器为每个上下文初始化参数创建一个String名/值对。
4.容器将名/值参数的引用交给ServletContext。
5.容器创建MyServletContextListener类的一个新实例。
6.容器调用监听者的contextInitialized()方法,传入新的ServletContextEvent。这个事件对象有一个ServletContext引用,所以事件处理代码可以从事件得到上下文,并从上下文得到上下文初始化参数。
7.监听者向ServletContextEvent要ServletContext的一个引用。
监听者—-getServletContext()—>ServletContextEvent.
8.监听者向ServletContext要上下文初始化参数“breed”;
9.监听者使用初始化参数来构造一个新的Dog对象。
10.监听者把Dog设置为ServletContext中的一个属性。
监听者—-setAttribute(“dog”,d)—->ServletContext
11.容器建立一个新的servlet(也就是说,利用初始化参数建立一个新的ServletConfig,为这个ServletConfig提供ServletContext的一个引用,然后调用servlet的init()方法)。
Javaweb上下文监听者ServletContextListener的更多相关文章
- EntityFramework之监听者判断SQL性能指标
前言 当我们利用EF这个ORM框架时,我们可能会利用LINQ或者原生的SQL语句来进行数据操作,此时我们无法确定我们的代码是否会给数据库带来一定的负载,当给数据库带来一定的压力时,由于项目中对数据进行 ...
- 【Head First Servlets and JSP】笔记8:监听者
1.你不用了解所有监听者API,并不多,一共有8个.不过,你需要知道你能监听什么,以便在需要的时候可以查. 2.关于Session和Cookie.参见JavaWeb学习总结(十二)——Session ...
- Web应用中监听者的通知顺序按照DD中的定义顺序
Web应用中监听者的通知顺序按照DD中的定义顺序: XML: <?xml version="1.0" encoding="UTF-8"?> < ...
- Java Listener pattern 监听者模式
Java Listener pattern 监听者模式 2016-5-12 监听者模式(观察者模式)能降低对象之间耦合程度.为两个相互依赖调用的类进行解耦. 便于进行模块化开发工作.不同模块的开发者可 ...
- 在java.util中有EventListener接口:所有事件监听者都要实现这个接口。
在java.util中有EventListener接口:所有事件监听者都要实现这个接口. java.util中有EventObject类:所有的事件都为其子类. 事件范例在\CoreJava\Gi ...
- 在C++11中实现监听者模式
参考文章:https://coderwall.com/p/u4w9ra/implementing-signals-in-c-11 最近在完成C++大作业时,碰到了监听者模式的需求. 尽管C++下也可以 ...
- 基础学习总结(六)--getContentRolver()的应用、内容监听者ContentObserver
ContentResolver / getContentResolver() 外界的程序通过ContentResolver接口可以访问ContentProvider提供的数据,在Activity当 ...
- 一个简单的ServletContextListener示例
ServletContext可以初始化String类型的参数.但是,如果你希望应用初始化参数是一个数据库DataSource呢?上下文参数只能是String.毕竟,你不能把一个Dog对象塞到XML部署 ...
- Servlet 浅谈(二)
如何获取初始化参数 容器在初始化的时候,会为了这个Servlet创建一个唯一的ServletConfig,容器会从DD读出Servlet的初始化参数,并把这个参数交给ServletConfig,然后S ...
随机推荐
- 如何将 Microsoft Bot Framework 链接至微信公共号
说到 Microsoft Bot Framework 其实微软发布了已经有一段时间了,有很多朋友可能还不太了解,微软Bot的功能今天我给大家简单的介绍一下,Bot Framework的开发基础以及如何 ...
- 【转】How to resolve ORA-19706 error when select from dblink
文章转自:http://www.dbform.com/html/2012/1846.html
- Win10系统下编译GDAL1.9.2版本
环境说明: 1.Win10企业版.64位: 2.VS2012旗舰版: 3.GDAL1.9.2 GADL编译 1.解压GDAL压缩包至F:\GDAL\gdal-1.9.2: 2.设置GDAL编译后安装目 ...
- EventKit 学习(译)
From:http://docs.xamarin.com/guides/ios/platform_features/introduction_to_eventkit/ 本教程展示了对于如何通过Even ...
- mvc4.0添加EF4.0时发生编译时错误
解决此问题是因为MVC4.0默认未添加EF4.0的引用,EF4.0引用的是System.Data.Entity.dll, Version=4.0.0.0, 解决办法: 在web.config文件sys ...
- 【转载】Linux中强大且常用命令:find、grep
转载自:http://www.linuxeden.com/html/softuse/20130804/142065.html 在linux下面工作,有些命令能够大大提高效率.本文就向大家介绍find. ...
- SharePoint 2013中规划企业搜索体系结构
摘要:了解如何规划小型.中型或大型企业搜索体系结构. 设置企业搜索体系结构之前,需要仔细规划很多事项.我们将逐步帮助您规划小型.中型或大型企业搜索体系结构. 您是否熟悉 SharePoint 2013 ...
- AutoTransformHandler
public static ObservableCollection<F> Transform<T, F>(List<T> target) where F : ne ...
- springMVC源码分析之拦截器
一个东西用久了,自然就会从仅使用的层面上升到探究其原理的层面,在javaweb中springmvc更是如此,越是优秀的框架,其底层实现代码更是复杂,而在我看来,一个优秀程序猿就相当于一名武林高手,不断 ...
- MySQL+Sphinx实现全文搜索
最近在做一个搜索引擎,主要是对图书方面的对象级的搜索,首先来了解下Sphinx吧. 它能够提高你的查询的速度,这个不是一般的快. Sphinx是一个基于SQL的全文检索引擎,可以结合MySQL,Pos ...