您的位置:首页 > 理论基础 > 计算机网络

使用 HttpSessionListener 补偿“浏览器缓存凭据”

2007-10-15 16:07 423 查看
浏览器会缓存用户凭据并经常自动将它们重新发送到服务器。这样,即使退出或超时,WebLogic Server 会话也不会受到破坏。可以只缓存当前浏览器会话的凭据,也可以缓存多个浏览器会话的凭据,具体取决于浏览器。
可以通过创建实现
javax.servlet.http.HttpSessionListener
接口的类来验证 WebLogic Server 的会话是否受到了破坏。如果 Web 应用程序中的活动会话列表发生改变,则会通知该接口的实现。要接收通知事件,必须在
web.xml
中的 Web 应用程序部署描述符中配置实现类。
要配置会话监听器类,请执行下列操作:

打开 Web 应用程序的
web.xml
部署描述符,您将在文本编辑器中为该描述符创建会话监听器类。
web.xml
文件位于 Web 应用程序的 WEB-INF 目录中。

添加使用 web.xml部署描述符的监听器元素的事件声明。事件声明可定义当事件发生时要调用的事件监听器类。例如:
<listener>
<listener-class>myApp.MySessionListener</listener-class>
</listener>
有关其他信息和依次准则,请参阅 配置事件监听器类

编写并部署会话监听器类。清单 3-4 中显示的示例使用简单计数器跟踪会话计数。
清单 3-4 跟踪会话计数

package myApp;


import javax.servlet.http.HttpSessionListener;
import javax.servlet.http.HttpSessionEvent;


public class MySessionListener implements HttpSessionListener {


private static int sessionCount = 0;

public void sessionCreated(HttpSessionEvent se) {
sessionCount++;
//写入日志或执行其他处理。


public void sessionDestroyed(HttpSessionEvent se) {
if(sessionCount > 0)
sessionCount--;
//写入日志或执行其他处理。


}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: