- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
1_第5章_Servlet_3
5.7.3 会话追踪机制 隐藏表单字段的方法,是利用HTML内hidden的属性,把客户端的信息,在用户不察觉的情形下,偷偷地随着请求一起传送给到服务器处理 用下面方法来做隐藏表单字段的会话追踪 input type=hidden name=userID value=15 优点:session数据传送到服务器端时,不会将session数据暴露在URL之上 缺点:用户直接观看HTML的源文件,session数据将会暴露无疑 5.7.3 会话追踪机制 是基于Cookie或URL重写技术,融合了这两种技术的优点。 当客户端允许使用Cookie时,内建session对象使用Cookie进行会话追踪 如果客户端禁用Cookie,则选择使用URL重写 5.7.4 会话管理机制 创建会话 HttpServletRequest的getSession( )方法 若有会话则返回当前会话,没有则创建新会话 调用getSession(true) 执行同样的功能 调用getSession(false)访问一个现有的会话、而不是新创建一个会话,如果没有合法的会话则返回null HttpSession session=request.getSession(true) 5.7.4 会话管理机制 存储和访问会话属性 标准会话属性包括会话标识符、数据、创建时间、上次访问时间等,都以“名-值”对形式保存 HttpSession提供了一种把对象存储到内存、在同一用户的后继请求中提取这些对象的标准办法 在会话中保存数据的方法 setAttribute(String s, Object o) 从会话提取原来所保存对象的方法 getAttribute(String s) 5.7.4 会话管理机制 关闭会话 显式关闭 HttpSession.invalidate( ) 隐式关闭--会话超时(等待超时自动操作) 默认的超时时间间隔是1800秒 无效之前,可以使用setInactiveInterval(int seconds)方法在客户请求之间控制这个时间间隔。 设置负值可以确保会话永远不会超时 5.7.5 session的常用方法 getAttribute():从session中获取以前存储的值 getAttributeNames():返回session中所有属性的名称 setAttribute():将键与值关联起来,存储进session removeAttribute():删除session中存储的对应键的值 invalidate():删除整个session及其存储的键值 logout():注销当前用户 getId():获取每个session对应的唯一ID getCreationTime():获取session创建的时间 getLastAccessedTime():获取session最后被访问的时间 getMaxInactiveInterval():在用户没有访问的情况下,会话在被自动废弃之前应该保持多长时间 5.7.6 session监听器 session listener对象对以下事件作出响应: 创建的新的session对象 销毁session对象 要实现session监听器, 实现 javax.servlet.http.HttpSessionListener 接口 5.7.6 session监听器 public class CartInitializer implements HttpSessionListener { public void sessionCreated(HttpSessionEvent se) { List itemList = new LinkedList(); se.getSession( ).setAttribute(item-list,itemList); itemList.add(A Free Apple); } public void sessionDestroyed(HttpSessionEvent se) {} } CartInitializer.java listener listener-classCartInitializer/listener-class /listener web.xml 小 结 Cookie用于在客户端保存一小段文本 创建Cookie的方法 Cookie可以设置有效期 Cookie起到锦上添花的功能 Session的机制 使用Cookie和URL相结合的方法追踪回话 创建Session的方法 添加和获取Session属性的方法 下次课
文档评论(0)