HttpSessionListener用法
来源:互联网 发布:c语言的架构 编辑:程序博客网 时间:2024/06/10 11:25
继上次说到Listener的功效,这里就不得不说说另外一个接口HttpSessionListener了。
上次说到了ServletContextListener,它是用来监听Servlet Context的创建和销毁的状态。今天特别有兴趣在
聊聊另一个监听的接口,名字叫做HttpSessionListener。
在理解这个接口之前,先提出一个问题,就是假设我的web应用上想知道到底有多少用户在使用?
首先看一段代码。
package demo.listener;
import javax.servlet.ServletContext;
import javax.servlet.http.HttpSessionEvent;
import javax.servlet.http.HttpSessionListener;
public class SessionCounter implements HttpSessionListener {
public void sessionCreated(HttpSessionEvent event) {
ServletContext ctx = event.getSession( ).getServletContext( );
Integer numSessions = (Integer) ctx.getAttribute("numSessions");
if (numSessions == null) {
numSessions = new Integer(1);
}
else {
int count = numSessions.intValue( );
numSessions = new Integer(count + 1);
}
ctx.setAttribute("numSessions", numSessions);
}
public void sessionDestroyed(HttpSessionEvent event) {
ServletContext ctx = event.getSession( ).getServletContext( );
Integer numSessions = (Integer) ctx.getAttribute("numSessions");
if (numSessions == null) {
numSessions = new Integer(0);
}
else {
int count = numSessions.intValue( );
numSessions = new Integer(count - 1);
}
ctx.setAttribute("numSessions", numSessions);
}
}
在这个解决方案中,任何一个Session被创建或者销毁时,都会通知SessionCounter 这个类,当然通知的原因是必须在web.xml文件中做相关的配置工作。如下面的配置代码:
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE web-app PUBLIC
"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
<display-name>Struts Examples</display-name>
<listener>
<listener-class>demo.listener.SessionCounter</listener-class>
</listener>
... rest of web.xml
- HttpSessionListener用法
- HttpSessionListener的用法
- HttpSessionListener的用法
- HttpSessionListener, HttpSessionAttributeListener的用法
- HttpSessionListener, HttpSessionAttributeListener的用法
- HttpSessionListener, HttpSessionAttributeListener的用法
- HttpSessionListener的用法
- HttpSessionListener
- httpsessionlistener
- HttpSessionListener :
- HttpSessionListener
- HttpSessionListener, HttpSessionAttributeListener的用法及简单实例
- HttpSessionListener ServletContextListener
- HttpSessionListener统计在线人数
- HttpSessionListener统计在线人数
- HttpSessionListener统计在线人数
- HttpSessionListener统计在线人数
- HttpSessionListener统计在线人数
- Server Java 四 :如何在用JSF在服务器端处理Ajax请求
- 删除及重建oracle EM
- 第03章 面向对象 38 对象转型2
- 2015年之前需要阅读完的非技术书单
- 第03章 面向对象 39 多态1
- HttpSessionListener用法
- HDU Boring counting 树状数组
- 局部变量、全局变量、堆、堆栈、静态和全局
- 学习MongoDB--(6-1):聚合(初级聚合函数使用)
- 学习MongoDB--(6-2):聚合(MapReduce使用)
- 边双连通分量
- 转载:面试技巧70招
- POJ1664
- OpenGL ES之glLightModel函数