Listener介绍

当Web应用在Web容器中运行时,Web应用内部会不断地发生各种事件:如Web应用被启动,Web应用被停止,用户session开始,用户session结束,用户请求到达等,通常来说,这些Web事件对开发者是透明的。
实际上,Servlet API提供了大量监听器来监听Web应用的内部事件,从而允许当Web内部事件发生时回调事件监听器内的方法。
一,Listener是什么?
监听器
二,如何使用Listener?
(1).定义Listener实现类
(2).通过注解或在web.xml文件中配置Listener

1.实现Listener类
与AWT事件编程完全相似,监听不同Web事件的监听器也不相同。常用的Web事件监听器接口有如下几个。
这里写图片描述
下面以ServletContextListener为例介绍Listener的开发和使用,ServletContextListener用于监听Web应用的启动和关闭。该Listener类必须实现ServletContextListener接口,该接口包含如下两个方法:
(1)contextInitialized(ServletContextEvent sce):启动Web应用时,系统调用Listener的该方法。
(2)contextDestroyed(ServletContextEvent sce):关闭Web应用时,系统调用Listener的该方法。

下面将创建一个获取数据库连接的Listener,该Listener会在应用启动时获取数据库连接,并将获取到的连接设置成application范围内的属性。代码如下:
这里写图片描述
这里写图片描述
上面的程序中重写了ServletContextListener的contextInitialized(),contextDestroyed()方法,这两个方法分别在应用启动,应用关闭时被触发。上面ServletContextListener的两个方法分别实现获取数据库连接,数据库关闭的功能,这些功能都是为整个 Web应用提供服务的。
程序中,contextInitialized()方法中获取了4个参数分别是driver,url,user,pass。

2.配置Listener
这里写图片描述
这里写图片描述
上面的配置片段向Web应用注册了一个Listener,其实现类为lee.GetConnListener。当Web应用被启动时,该Listener的contextInitialized方法被触发,该方法会获取一个JDBC Connection,并放入application范围内,这样所有JSP页面都可通过application获取数据库连接,从而可以非常方便地进行数据库访问。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值