Web(ServletJSP)会话管理(注册和登陆)

上传人:平*** 文档编号:46216348 上传时间:2018-06-24 格式:PPT 页数:22 大小:1.04MB
返回 下载 相关 举报
Web(ServletJSP)会话管理(注册和登陆)_第1页
第1页 / 共22页
Web(ServletJSP)会话管理(注册和登陆)_第2页
第2页 / 共22页
Web(ServletJSP)会话管理(注册和登陆)_第3页
第3页 / 共22页
Web(ServletJSP)会话管理(注册和登陆)_第4页
第4页 / 共22页
Web(ServletJSP)会话管理(注册和登陆)_第5页
第5页 / 共22页
点击查看更多>>
资源描述

《Web(ServletJSP)会话管理(注册和登陆)》由会员分享,可在线阅读,更多相关《Web(ServletJSP)会话管理(注册和登陆)(22页珍藏版)》请在金锄头文库上搜索。

1、Servlet 和会话管理授课讲师:颜鹏飞本章目标在完成本单元的学习后,您将能够: 了解为什么需要进行会话管理 说明各种会话管理技术 了解容器在会话管理中的角色 编写需要会话跟踪的应用程序 在会话跟踪应用程序中应用最佳做法为什么需要会话管理? HTTP 不支持维护客户机状态 会话管理对交互式应用程序(例如,在线购物、电子邮件等)日益重要 Web 应用程序的个性化可以通过会话管理来达到HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超 媒体信息系统。 HTTP协议的主要特点可概括如下: 1.支持客户/服务器模式。 2.简单快速:客户向服务器请求服务时,只需传送请求方

2、法和路径。请求方法常用的有 GET、HEAD、POST。每种方法规定了客户与服务器联系的类型不同。 由于HTTP协议简单,使得HTTP服务器的程序规模小,因而通信速度很快。 3.灵活:HTTP允许传输任意类型的数据对象。正在传输的类型由Content-Type加以标记。 4.无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并 收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。 5.无状态:HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。缺少 状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的 数据量增大。另一方面

3、,在服务器不需要先前信息时它的应答就较快。容器进行的会话管理客户机请求 2 (SessionId=123456)Session Id=123456请求 3 (SessionId=123456)Web 容器由容器生成的 Session Id=123456。Web 服务器ValidatorServlet 调用方法 getSession() 请求 1(UserName, Password)1. Cookie 2. URL 重写 3. 隐藏字段会话管理技术定义:cookie 是 Web 服务器发送给客户机的一段文本 信息,它存储在客户机的硬盘上,对于发送给同一服务器 的后续请求,由客户机返回Cooki

4、e服务器是如何将 cookie 发送给客户机的?-通过 HTTP 响应的 Headercookie 是如何存储在客户机中的?存储在哪里?-以文件形式存储在客户机硬盘上浏览器如何将 cookie 发送回服务器?-作为发送给服务器的请求的一部分Cookie 和会话管理应用程序将 SessionID 作为 cookie 存储在客户机 中 客户机对向应用程序做出的后续请求返回 SessionId 应用程序使用 SessionID 来标识客户机定义:来自参与会话的客户机的两个连续请求之间的 最长允许空闲时间称为会话超时阶段会话超时阶段示例:(Servlet07Cookie)课程演示(关于 Cookie

5、的存储和检索的演示)SessionID 追加到 URL 中 例如,Web 页面中的以下链接:被重写为URL 重写(浏览器禁止使用Cookie时才有效)课程演示(URL 重写的)示例:(Servlet08Session) 重写URL的代码 response.encodeURL(“ /SessionServlet/B3SessionInfo?name=云长&nickname=大刀 B3SessionInfo?name=云长“) 该方法类似于 URL 重写 服务器将隐藏字段嵌入呈现给用户的每个 HTML 表单,而不是 重写 URL 在提交该页面时,客户机将名称 - 值对发送给服务器 例如,如果 Se

6、ssionID 是 1FF35618D5CEDFF538320ABB17B88B46 ,它 将如下所示隐藏在表单中:隐藏字段(不用看)课程演示(隐藏字段 【可以不了解】)示例:(Servlet08Session)难点:通过SessionID获取Session对象URL 重写和隐藏字段HTML 文档包含 HTML 表单和超链接 必须重写所有超链接的 URL 且所有 HTML 表单必 须包含含有 SessionID 的隐藏字段 因此,结合使用 URL 重写和隐藏字段来保留会话信 息会话跟踪方法如何在各种会话跟踪技术中进行选择? 答案是:在使用 Servlet 的情况下,Web 容器负责提供 维护会

7、话的基本工具。Servlet 规范允许 Web 容器使用 URL 重写、cookie实际使用的技术取决于驻留 Servlet 的 Web 容器提供 的工具和客户机的浏览器提供的支持会话管理 APIJava Servlet API 的接口:HttpServletRequest 和 HttpSession 使 Servlet 能够 使用 Web 容器的会话管理功能访问会话对象用于创建会话和跟踪 HttpSession 对象的 HttpServletRequest 接口的方法是:public HttpSession getSession()public HttpSession getSession(

8、boolean)HttpSession 接口HttpSession 接口的方法 getMaxInactiveInterval() setMaxInactiveInterval(int) isNew() invalidate() setAttribute(String, Object) getAttribute(String) getAttributeNames() removeAttribute(String name)示例:(Servlet09LoginAndLogout)课程演示(登陆和退出)会话最佳做法 确保将要存储在 HTTP 会话中的对象实现 Serializable 接口避免在会话中存储不可序列化的对象,如数据库连 接和输入输出流对象提供对会话属性的同步访问,这些会话属性将由多 个 Web 容器访问在完成时释放 HttpSession 对象不要试图在 Servlet 外部重用 HttpSession 对象小结现在您已经完成了本单元的学习,您应该能够: 了解为什么需要进行会话管理 说明各种会话管理技术 了解容器在会话管理中的角色 编写需要会话跟踪的应用程序 在会话跟踪应用程序中应用最佳做法本章作业为什么需要会话管理技术 会话管理有哪些技术Thank You!Thank You!

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号