根据设计,http是一种无状态的协议.它意味着web应用并不了解有关同一用户以前请求的信息.维持会话状态信息的方法之一是使用servlet或者jsp容器提供的会话跟踪功能.servlet api规范定义了一个简单的httpsession接口,通过它我们可以方便地实现会话跟踪. 【程序编程相关:为Zend Studio3.5添加PHP】 一. servlet的会话管理机制 【推荐阅读:vb 中 创建的EXCEL 对象无法在W】 httpsession接口提供了存储与返回标准会话属性的方法.标准会话属性如会话标识符.应用数据等,都以“名字-值”对的形式保存.简而言之,httpsession接口提供了一种把对象保存到内存.在同一用户的后继请求中提取这些对象的标准办法.在会话中保存数据的方法是setattribute(string s, object o),从会话提取原来所保存对象的方法是getattribute(string s). 【扩展信息:关于软件工程理论的认识与运用误区(转载)】 每当新用户请求一个使用了httpsession对象的jsp页面,jsp容器除了发回应答页面之外,它还要向浏览器发送一个特殊的数字.这个特殊的数字称为“会话标识符”,它是一个唯一的用户标识符.此后,httpsession对象就驻留在内存之中,等待同一用户返回时再次调用它的方法. 在客户端,浏览器保存会话标识符,并在每一个后继请求中把这个会话标识符发送给服务器.会话标识符告诉jsp容器当前请求不是用户发出的第一个请求,服务器以前已经为该用户创建了httpsession对象.此时,jsp容器不再为用户创建新的httpsession对象,而是寻找具有相同会话标识符的httpsession对象,然后建立该httpsession对象与当前请求的关联. 会话标识符以cookie的形式在服务器与浏览器之间传送.如果客户端不支持cookie,运用url改写机制来保证会话标识符传回服务器. 二. session事件侦听 httpsessionbindingevent类\ 定义\ public class httpsessionbindingevent extends eventobject 这个事件是在监听到httpsession发生绑定与取消绑定的情况时连通httpsessionbindinglistener的.这可能是一个session被终止或被认定无效的结果. 事件源是httpsession.putvalue或httpsession.removevalue.... 下一页