Servlet事件监听器(二)

     张老师对Servlet事件监听器的三个接口做了详细的说明,并举例用

ServletContextListener事件监听器对象的contextInitialized()方法和contextDestoryed方法来控制数据库的连接和关闭来形象的说明了Servlet事件处理器的用处,有助于理解其原理。


ServletContextListener接口
    它用于监听代表Web应用程序的ServletContext对象的创建和销毁的事
件,当在Web应用程序中注册一个或多个实现了ServletContextListener接口的事件监听器后,Web容器在创建和销毁ServletContext对象时就会产生一个ServletContextEvent事件对象,接着依次调用每个ServletContext事件监听器中相应的处理方法,并将ServletContextEvent事件对象传递给这些方法。在

ServletContextListener接口中定义了两个事件处理方法,contextInitialized()和contextDestroyed()方法,他们分别用于处理ServletContext对象的创建事件和销毁事件。
    contextInitialized()方法
    public void contextInitialized(ServletContextEvent sce)
    当ServletContext对象创建时,web容器会调用ServletContextListener的

contextInitialized方法,contextInitialized方法接受到一个ServletContextEvent对象的参数,通过这个参数可以获得当前被创建的

ServletContext对象。
     contextDestroyed方法
     public void contextDestroyed(ServletContextEvent sce)
     当ServletContext对象销毁时,web容器会调用ServletContextListener的

contextDestoryed方法,并将ServletContextEvent对象传递给contextDestoryed方法。

    可以利用ServletContextListener事件监听器的编写一些实现特殊功能的程序,例如创建全局共享的数据库链接。
    1.当Web应用程序被加载时,其对应的ServletContext对象被创建,
Web服务器将调用ServletContextListener事件监听器对象的contextInitialized()方法,在此方法中编写获得数据库链接的代码,并把这个获得连接的对象保存到ServletContext对象中,所有的Servlet程序和JSP页面中就可以直接从ServletContext对象中取出被保存的链接对象来访问数据库,避免每个Servlet程序和JSP页面都去创建新的数据库链接,提高了程序运行效率。
   2.当Web应用程序被卸载时,其对应的ServletContext对象被销毁,
Web服务器将调用web容器会调用ServletContextListener监听器对象的contextDestoryed方法,在此方法中编写关闭数据库连接的代码,这样就可以确保数据库链接对象在Web应用程序卸载时被销毁,从而避免浪费数据库链接资源的现象。

HttpSessionListener接口
    它用于监听Web应用程序中的用户会话对象HttpSession的创建和销毁
事件,当在Web应用程序中注册一个或多个实现了HttpSessionListener接口的事件监听器后,Web容器在创建或销毁每个HttpSession对象时就会产生一个HttpSessionEvent对象,然后依次调用每个HttpSession事件监听器中的相应处理方法,并将HttpSessionEvent对象传递给这些方法,在HttpSessionListener接口中定义了两个事件处理方法:sessionCreated()和sessionDestroy(),他们分别在HttpSession对象被创建和销毁时被调用

HttpRequestListener接口
它用于监听Web应用程序中的ServletRequest对象的创建和销毁事件,
其原理类似月前两个接口。HttpRequestListener接口中定义了两个方法,requestInitialized()和requestDestroy()方法,他们分别用于处理ServletRequest对象的创建事件和销毁事件。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值