监听器

作者: kylelin | 来源:发表于2014-08-07 16:55 被阅读39次

    第三种Servlet程序称为监听Servlet,主要功能是负责监听Web的各种操作,当相关的事件触发后将产生事件,并对此事件进行处理,在Web中可以对application、session和request 3中操作进行监听。

    1. 对application监听

    2. 对session监听

    在监听器中,针对session的监听操作主要使用HttpSessionListener、HttpSessionAttributeListener和HttpSessionBindingListener接口。

    (1)session状态监听,HttpSessionListener接口
    HttpSessionListener接口定义的方法

    方法 描述
    public void sessionCreated(HttpSessionEvent event) session创建时候调用
    public void sessionDestroyed(HttpSessionEvent event) session销毁时调用

    当session创建或销毁后,将产生HttpSessionEvent事件,此事件定义的方法如下:

    方法 描述
    public HttpSession getSession() 取得当前的session

    【HttpSessionListenerDemo.java】:

    package im.weitang.listener;
    
    import javax.servlet.http.HttpSessionEvent;
    import javax.servlet.http.HttpSessionListener;
    
    public class HttpSessionListenerDemo implements HttpSessionListener {
    
        public void sessionCreated(HttpSessionEvent event) {
            System.out.println("SESSION创建,SESSION ID = " + event.getSession().getId());
        }
    
        public void sessionDestroyed(HttpSessionEvent event) {
            System.out.println("SESSION销毁,SESSION ID = " + event.getSession().getId());
        }
    
    }
    

    【配置Web.xml】

    <listener>
        <listener-class>im.weitang.listener.HttpSessionListenerDemo</listener-class>
    </listener>
    

    当一个用户打开了一个动态页时,后台将显示:
    SESSION销毁,SESSION ID = 90D2AA9ECCD1766A31F89D39BA562A43

    当一个session被服务器销毁时后台将显示:
    SESSION创建,SESSION ID = 90D2AA9ECCD1766A31F89D39BA562A43

    (2)session属性监听,HttpSessionAttributeListener

    (3)session属性监听,HttpSessionBindingListener

    相关文章

      网友评论

          本文标题:监听器

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