如果在java web应用中你需要在Session的创建或销毁时做一些事情,那么你就需要使用Listener。
当然它的使用是非常简单的,下面说明通过监听Session,获取在线人数状态。
第一步:实现一个javax.servlet.http.HttpSessionListener
public class MySessionListener implements javax.servlet.http.HttpSessionListener {
private static int count;
@Override
public void sessionCreated(HttpSessionEvent event) {
count++;
}
@Override
public void sessionDestroyed(HttpSessionEvent event) {
count--;
}
public static int getCount(){
return count;
}
}
这个类写得很简单,目的是说明HttpSessionListener的使用,只是在Session创建和销毁的时候改变一下计数变量。
但是你可以在这里面处理很多和Session相关的事情,例如将Session创建的测试记录到文件,就知道访问你的web应用的总人次了。
第二步:配置web.xml文件,添加下面的小节。
<listener>
<description>自定义Session监听器</description>
<display-name>MySessionListener</display-name>
<listener-class>MySessionListener</listener-class>
</listener>
其实Listener有多种
javax.servlet.ServletContextListener用来监听应用启动和停止,
javax.servlet.ServletRequestListener用来监听请求的初始化和销毁等等,
你可以通过这些监听器来控制你的应用。
当然它的使用是非常简单的,下面说明通过监听Session,获取在线人数状态。
第一步:实现一个javax.servlet.http.HttpSessionListener
public class MySessionListener implements javax.servlet.http.HttpSessionListener {
private static int count;
@Override
public void sessionCreated(HttpSessionEvent event) {
count++;
}
@Override
public void sessionDestroyed(HttpSessionEvent event) {
count--;
}
public static int getCount(){
return count;
}
}
这个类写得很简单,目的是说明HttpSessionListener的使用,只是在Session创建和销毁的时候改变一下计数变量。
但是你可以在这里面处理很多和Session相关的事情,例如将Session创建的测试记录到文件,就知道访问你的web应用的总人次了。
第二步:配置web.xml文件,添加下面的小节。
<listener>
<description>自定义Session监听器</description>
<display-name>MySessionListener</display-name>
<listener-class>MySessionListener</listener-class>
</listener>
其实Listener有多种
javax.servlet.ServletContextListener用来监听应用启动和停止,
javax.servlet.ServletRequestListener用来监听请求的初始化和销毁等等,
你可以通过这些监听器来控制你的应用。