listener 作用
简介
Listener是监听器,它可以监听客户端的请求、服务端的操作等。通过监听器,可以自动激发一些操作
监听系统启动,做一些初始化动作比如监听在线的用户的数量
Listener 创建模板
创建的模板如下:
选择这个 整个生命周期的监测
package servlet;
import javax.servlet.http.HttpSessionEvent;
import javax.servlet.http.HttpSessionListener;
/**
* Application Lifecycle Listener implementation class ListenerTest
*
*/
public class ListenerTest implements HttpSessionListener {
/**
* Default constructor.
*/
public ListenerTest() {
// TODO Auto-generated constructor stub
}
/**
* @see HttpSessionListener#sessionCreated(HttpSessionEvent)
*/
public void sessionCreated(HttpSessionEvent se) {
// TODO Auto-generated method stub
}
/**
* @see HttpSessionListener#sessionDestroyed(HttpSessionEvent)
*/
public void sessionDestroyed(HttpSessionEvent se) {
// TODO Auto-generated method stub
}
}
添加对应的业务
package servlet;
import javax.servlet.http.HttpSessionEvent;
import javax.servlet.http.HttpSessionListener;
/**
* Application Lifecycle Listener implementation class ListenerTest
*
*/
public class ListenerTest implements HttpSessionListener {
private static int activeSessions = 0;
/**
* Default constructor.
*/
public ListenerTest() {
// TODO Auto-generated constructor stub
}
/**
* @see HttpSessionListener#sessionCreated(HttpSessionEvent)
*/
public void sessionCreated(HttpSessionEvent se) {
// TODO Auto-generated method stub
activeSessions++;
System.out.println("sessionCreated");
}
/**
* @see HttpSessionListener#sessionDestroyed(HttpSessionEvent)
*/
public void sessionDestroyed(HttpSessionEvent se) {
// TODO Auto-generated method stub
if (activeSessions>0) {
activeSessions--;
System.out.println("sessionDestroyed");
}
}
public static int getActiveSessions() {
return activeSessions;
}
}
webxml中添加listener
servlet.ListenerTest
jsp如下:
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@ page import="servlet.ListenerTest"%>
My JSP 'ApplicationTest.jsp' starting page
在线人数为:<%=ListenerTest.getActiveSessions() %>