监听器

第三种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】


    im.weitang.listener.HttpSessionListenerDemo

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

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

(2)session属性监听,HttpSessionAttributeListener

(3)session属性监听,HttpSessionBindingListener

你可能感兴趣的:(监听器)