Listener--监听器

Posted xiaoyi0214

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Listener--监听器相关的知识,希望对你有一定的参考价值。

普通的Java程序,监听其他对象身上事件的发生或状态的改变,并实现采取相关行动的方法。

  • JavaWeb的监听器

    Servlet中的一种特殊类,用于监听web程序中的ServletContext、HTTPSession、ServletResponse等域对象的创建与销毁事件,以及监听这些域对象中的属性发生修改的事件。

    监听器的使用:实现接口,并且在web.xml中注册即可。

  • Javaweb监听器的分类

    1.监听三个作用域的创建<initialized()>和销毁<destroyed()>:

      request--HTTPServletRequest---ServletRequestListener

        创建:访问服务器任意资源

        销毁:服务器做出响应

      Session--HTTPSession---HTTPSessionListener

        作用:统计在线人数

        创建:调用session

        销毁:session超时/非正常关闭

      application---ServletContext---ServletContextListener

        作用:完成初始化、执行自定义任务

        创建:启动服务器

        销毁:关闭服务器/移除项目

    2.监听三个作用域属性的变更:

      ServletContext---ServletContextAttributeListener

      request---ServletRequestAttributeListener

      session---HTTPSessionAttributeListener

    3.监听HTTPSession里存值状态的变更(这类监听器不用注册,Javabean实现该接口即可)

      HTTPSessionBindingListener  //绑定解绑动作

        valueBound、valueUnbound

      HttpSessionActivationListener  //Session值得活化或钝化动作

        sessionWillPassivate、SessionDidActivate

      注:session会在一定时间内钝化:

        tomcat --conf/context.xml----服务器

        conf/catalina/localhost/context.xml---localhost

        自己web工程中--meta-inf/context.xml---当前工程

      

<context>
    <manager classname="" maxIdleSwap="时间">
    <store classname="" directory="存放位置">
</context>

 

        

以上是关于Listener--监听器的主要内容,如果未能解决你的问题,请参考以下文章

Listener:监听器

Java三大器之监听器(Listener)的工作原理和代码演示

java_day29_Servlet三大组件之监听器listener

Servlet3.0的注解自定义原生Listener监听器实战

Listener

oracle的监听器listener 和 java web的监听器listener 的联系是啥?