监听HTTP会话
2011年09月01日
监听HTTp会话是利用Servlet监听程序。结合监听技术,来讨论获得当前平台中用户总数的方法。
在Web应用中,可以监听HTTP会话活动情况、HTTP会话中属性的设置情况,也可以监听HTTP会话的active、passivate情况等
可以通过HttpSessionListener接口监听HTTP会话创建、销毁的信息;通过HttpSessionActivationListener监听HTTP会话的active、passivate情况;通过HttpSessionBindingListener监听HTTP会话中对象的绑定信息;通过HttpSessionAttributeListener监听HTTP会话中属性的设置请求。
下面看个实例
package com.test.ch9; import java.util.Hashtable; import java.util.Iterator; import javax.servlet.http.HttpSession; import javax.servlet.http.HttpSessionEvent; import javax.servlet.http.HttpSessionListener; public class SessionListener implements HttpSessionListener{ //集合对象,保存session对象的引用 static Hashtable ht=new Hashtable(); //实现HttpSessionListener接口,完成session创建事件控制 public void sessionCreated(HttpSessionEvent arg0){ HttpSession session=arg0.getSession(); ht.put(session.getId(),session); System.out.println("create session:"+session.getId()); } //实现HttpSessionListener接口,完成session销毁事件控制 public void sessionDestroyed(HttpSessionEvent arg0){ HttpSession session=arg0.getSession(); System.out.println("destory session:"+session.getId()); ht.remove(session.getId()); } // 返回全部session对象集合 static public Iterator getSet(){ return ht.values().iterator(); } //依据session id返回指定的session对象 static public HttpSession getSession(String sessionId){ return (HttpSession)ht.get(sessionId); } }
该实例中,SessionListener实现了HttpSessionListener接口。SessionListener类还有一个属性,就是Hashtable用来保存所有的登录信息。当创建一个Session时,就调用sessionCreate()方法将登陆会话信息保存到Hashtable中;当销毁有关Session时,就调用sessionDestroyed()方法将登陆会话信息从Hashtable中移除,这样就实现了管理在线用户登录会话信息的目的。
我们还需要几个页面程序来测试这个监听器的工作并且深入体会下Session的会话管理机制。
测试程序如下:
会话管理 会话管理实例 名称: 事件: 提交 重置
当访问index.jsp时会出现一个类似登录框的会话描述页面,输入会话描述后进入display.jsp显示刚才输入的会话信息。
例如
会话控制显示 "); out.println("thing:"+session.getAttribute("thing") +"
"); out.println("session id:"+session.getId()+"
"); out.println("create time:"+session.getCreateTime()); %> 管理 注销
单击管理会进入会话关联页面(session.jsp)单击“注销”会进入会话注销页面(logout.jsp)是HTTP会话无效,
例如:会话关联的程序
Manager session JSP 会话管理
会话Id 用户名 事件 创建时间 操作 "); out.println(""+session1.getId()+"") out.println(""+session1.getAttribute("name")+""); out.println(""+session1.getAttribute("thing")+"") out.println(""+session1.getCreationTime()+"") ; %> '>销毁 "); System.out.println("sessionId"+session1.getId()); } catch(Exception ex){ ex.printStackTrace(); return; } } %>
注销会话的程序(logout.jsp)
会话控制
如果单击“销毁”,则可以强制将会话信息移除如下
LL JSP
最后将监听器部署到web.xml中去。如下
com.test.ch9.SessionListener
发表评论
-
关于latch free等待事件
2012-01-20 02:55 1019关于latch free等待事件 2010年08月03日 ... -
Delphi IDE扩展开发向导
2012-01-20 02:55 1410Delphi IDE扩展开发向导 2 ... -
在使用WSAAsyncSelect中的搜集到的一些资料以及发现的一些问题
2012-01-20 02:54 1003在使用WSAAsyncSelect中的搜集到的一些资料以及发现 ... -
网络编程常见问题总结
2012-01-20 02:54 682网络编程常见问题总结 2010年10月26日 网络编程常 ... -
网桥的工作原理与应用
2012-01-20 02:54 1074网桥的工作原理与应用 ... -
【黑客】利用VBS脚本让QQ永远在线,等级速升
2012-01-19 13:28 565【黑客】利用VBS脚本让QQ永远在线,等级速升 2010年0 ... -
用vbs实现获取电脑硬件信息的脚本-1
2012-01-19 13:28 945用vbs实现获取电脑硬件信息的脚本-1 2011年11月19 ... -
Adsutil.vbs在脚本入侵中的妙用
2012-01-19 13:28 925Adsutil.vbs在脚本入侵中的妙用 2011年03月0 ... -
利用VBS脚本让qq永远在线
2012-01-19 13:28 741利用VBS脚本让qq永远在线 2011年06月07日 让 ... -
vbs脚本实例
2012-01-19 13:28 612vbs脚本实例 2011年02月28日 rem 结束QQ ... -
ARM经典100问
2012-01-17 03:17 830ARM经典100问 2011年03月13日 第1章 体系 ... -
2010-07-09 22:03:18 计算机报错大全
2012-01-17 03:17 16752010-07-09 22:03:18 计算 ... -
电脑故障3000实例排查大全! 计算机报错大全
2012-01-17 03:17 5955电脑故障3000实例排查大 ... -
接上一篇
2012-01-17 03:17 754接上一篇 2011年04月25日 第 2 章 路由器基 ... -
点名。。。。。。。
2012-01-16 01:51 835点名。。。。。。。 4小时前 ★我的大名:郑渌 ★是 ... -
胡思乱想。。
2012-01-16 01:51 574胡思乱想。。 4小时前 我可不喜欢外国人 有思维障碍 交 ... -
大学往事 第五章 计算机班的女生
2012-01-16 01:51 590大学往事 第五章 计算机班的女生 2012年01月04日 ... -
中国各地人的长相特征
2012-01-16 01:51 1954中国各地人的长相特征 ... -
东北民众的地方语言
2012-01-16 01:51 705东北民众的地方语言 20 ... -
注意异常丢失的情况-仰望者-iteye技术网站
2012-01-11 01:44 597注意异常丢失的情况-仰望者-iteye技术网站 2011年0 ...
相关推荐
/// 监听客户端连接的线程,监听所有客户端的链接创建并分配会话。 /// 会话遍历线程,遍历会话列表,清理会话超时,客户端断开连接的会话。遍历循环每次Sleep(600). /// 注: 整个代码未经过严格测试!仅供参考! ...
login-with-ssh, 使用 SSH http验证web会话的实验 使用SSH登录的这里是演示。这是一个简单的通过SSH验证网络会话的实验。 这样做可以为你提供完全分散的。无密码的认证 !工作原理定制的SSH服务器监听连接。 它不是...
http://xxxx/#edit 通过history改变路由 history.back(): 返回浏览器会话历史中的上一页,跟浏览器的回退按钮功能相同 history.forward():指向浏览器会话历史中的下一页,跟浏览器的前进按钮相同 history.go(): ...
/// 监听客户端连接的线程,监听所有客户端的链接创建并分配会话。 /// 会话遍历线程,遍历会话列表,清理会话超时,客户端断开连接的会话。遍历循环每次Sleep(600). /// 注: 整个代码未经过严格测试!仅供参考! ...
一、介绍说明 ... mitmproxy还有两个关联组件。一个是mitmdump,它是mitmproxy的命令行接口,利用它...2、保存HTTP会话并进行分析 3、模拟客户端发起请求,模拟服务器端返回响应 4、利用反向代理将流量转发给指定的服务器
当设置为true时,表示创建的 Cookie 会被以安全的形式向服务器传输,也就是只能在 HTTPS 连接中被浏览器传递到服务器端进行会话验证,如果是 HTTP 连接则不会传递该信息,所以不会被窃取到Cookie 的具体内容。...
并针对Serv服务端提供会话管理器,用于管理已连接的TCP或UDP客户端会话以及对会话空闲检测、流量监听等; 新版本已提交至Maven中央库,可以通过以下配置获取各模块依赖: net.ymate.platform ymate-platform- ...
5、从session中取出会话,接收并按照http协议分析客户端的请求报文,根据其提供的路径寻找相应的文件; 6、如果找到文件的话就将文件拟为报文形式,基于TCP协议传输到客户端,如果文件过大,则采用分片传送的方式;...
浏览某个网站,这就是一次HTTP会话。 12 会话劫持(Session Hijack),就是在一次正常的会话过程当中,攻击者作为第三方参与到其中,他可以在正常数据包中插入恶意数据,也可以在双方的会话当中进行监听,甚至可以是...
本文件好有两个例子,是为了方便下载人员的理解。运用了HTTP会话的监听来实现,还有利用了vector对象的elements()方法。
会话技术Cookie&Session; 55 动态页面技术(JSP/EL/JSTL) 59 javaEE的开发模式 65 事务(JDBC) 67 Json数据格式(重要) 70 Js原生Ajax和Jquery的Ajax 71 监听器Listener 74 邮箱服务器 79 过滤器Filter
5 作为Web应用:属性和监听者 6 会话状态:bean/实体同步 7 作为JSP:编写JSP代码 8 无脚本的页面:编写代元脚本JSP 9 强大的定制标记:使用JSTL 10 JSRL也有力不能及的时候:定制标记开发 11 部署Web应用:...
5 作为Web应用:属性和监听者 6 会话状态:bean/实体同步 7 作为JSP:编写JSP代码 8 无脚本的页面:编写代元脚本JSP 9 强大的定制标记:使用JSTL 10 JSRL也有力不能及的时候:定制标记开发 11 部署Web应用:...
5 作为Web应用:属性和监听者 6 会话状态:bean/实体同步 7 作为JSP:编写JSP代码 8 无脚本的页面:编写代元脚本JSP 9 强大的定制标记:使用JSTL 10 JSRL也有力不能及的时候:定制标记开发 11 部署Web应用:...
5 作为Web应用:属性和监听者 6 会话状态:bean/实体同步 7 作为JSP:编写JSP代码 8 无脚本的页面:编写代元脚本JSP 9 强大的定制标记:使用JSTL 10 JSRL也有力不能及的时候:定制标记开发 11 部署Web应用:...
会话由会话号区分,会话号包括启动设备部分和目标设备部分 会话中包含的TCP连接可以增加也可以删除,这些连接由连接号(CID)区分 命令编号 从启动设备到目标设备SCSI层的命令由iSCSI编号,该号码由iSCSI协议数据...
---_04会话管理.ppt ---_CORE核心标签.doc ---EL表达式ppt ---javabean.ppt ---JavaMail.ppt ---JavaMail课件,ppt ---Jdbc1.ppt ---Jdbc2.ppt ---Jdbc3.ppt ---jsp.ppt ---_事件监听器.ppt ---_国际化11.ppt --- ...
java基础 一、仓库说明 Java基础类型,容器,并发,IO流,面向对象,Web编程等代码总结。 2、分类文档 ...会话跟踪技术,Session和Cookie详解 过滤器、监听器、拦截器,应用详解 Servlet 集成 C3P0
1.Tomcat和HTTP协议 2.Servlet基础 3.HttpServletRequest请求对象 4.JSP技术和会话跟踪 5.JSTL和EL表达式 6.过滤器 7.监听器 8.JDBC 9.文件上传和下载 10.JSP的开发模型——MVC设计架构
语音监听 监听远程语音,同时也可以把本地语音传送给远程,进行语音聊天,GSM610压缩方式,传输流畅 会话管理 注销,重启,关机,卸载服务端 其它功能 下载执行指定URL中的程序,隐藏或者显示访问指定网址,清除系统日志...