美文网首页
JavaWeb之Listener监听器

JavaWeb之Listener监听器

作者: 指间Hrc | 来源:发表于2019-01-06 10:03 被阅读7次

    概念

    Servlet 监听器用于监听 web 应用程序中的 ServletContext,HttpSession 和 ServletRequest 等域对象的创建和销毁事件,以及监听这些域对象中的属性发生修改的事件

    分类

    1、监听域对象自身的创建和销毁的事件监听器

    2、监听域对象中的属性的增加和删除的事件监听器

    3、监听绑定到 HttpSession 域中的某个对象的状态的事件监听器

    常用监听器

    1、ServletContextListener

    2、ServletRequestListener

    3、HttpSessionListener

    使用

    1、实现各自的监听方法

    l两个方法,分别是对象被创建(contextInitialized),还有对象被销毁(contextDestroyed)

    还有实现 ServletRequestListener 的方法

    和实现 HttpSessionListener 的方法

    2、在 web.xml 里配置

    其中,ServletContextListener 是最常用的 listener,可以在当前 web 应用被加载时对当前 web 应用的相关资源进行初始化操作,例如:创建数据库连接池,创建 spring 的 IOC 容器,读取当前 web 应用的初始化参数等。

    生命周期

    request

    是一个请求,当一个响应返回时,即被销毁,当发送一个请求时被创建。

    注意,请求转发的过程是一个 request 对象,而重定向是两个请求

    session

    当第一次访问 web 应用的一个 JSP 或 Servlet 时,且该 JSP 或 Servlet 中还需要创建 session 对象,此时服务器会创建一个 session 对象

    session 销毁有几种情况:

    1、session 过期

    2、直接调用 session 的 invalidate 方法

    3、当前 web 应用被卸载(session 可以被持久化)

    注意,关闭浏览器并不意味着 session 被销毁,还可以通过 sessionid 找到服务器中的 session 对象,当访问地址带上之前做创建的 sessionid,依然不会创建新的 session 对象

    JSESSIONID=XXXXXXXX

    http://localhost:8080/test.jsp;jsessionid=XXXXXXXX

    application

    贯穿于当前的 WEB 应用的生命周期,当前 WEB 应用被加载时创建 application 对象,当前 WEB 应用被卸载时销毁 application 对象

    以上为本人的一些学习笔记,如有出错欢迎指正,陆续更新!!!

    相关文章

      网友评论

          本文标题:JavaWeb之Listener监听器

          本文链接:https://www.haomeiwen.com/subject/iiarrqtx.html