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

上传人:tia****nde 文档编号:2721136 上传时间:2019-11-29 格式:PPT 页数:22 大小:1.04MB
返回 下载 相关 举报
Web(ServletJSP)会话管理(注册和登陆).ppt_第1页
第1页 / 共22页
Web(ServletJSP)会话管理(注册和登陆).ppt_第2页
第2页 / 共22页
Web(ServletJSP)会话管理(注册和登陆).ppt_第3页
第3页 / 共22页
点击查看更多>>
资源描述
Servlet 和会话管理,授课讲师:颜鹏飞,本章目标,在完成本单元的学习后,您将能够: 了解为什么需要进行会话管理 说明各种会话管理技术 了解容器在会话管理中的角色 编写需要会话跟踪的应用程序 在会话跟踪应用程序中应用最佳做法,为什么需要会话管理?,HTTP 不支持维护客户机状态 会话管理对交互式应用程序(例如,在线购物、电子邮件等)日益重要 Web 应用程序的个性化可以通过会话管理来达到,HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。 HTTP协议的主要特点可概括如下: 1.支持客户/服务器模式。 2.简单快速:客户向服务器请求服务时,只需传送请求方法和路径。请求方法常用的有GET、HEAD、POST。每种方法规定了客户与服务器联系的类型不同。 由于HTTP协议简单,使得HTTP服务器的程序规模小,因而通信速度很快。 3.灵活:HTTP允许传输任意类型的数据对象。正在传输的类型由Content-Type加以标记。 4.无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。 5.无状态:HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快。,容器进行的会话管理,客户机,请求 2 (SessionId=123456),Session Id=123456,请求 3 (SessionId=123456),Web 容器,由容器生成的 Session Id=123456。,Web 服务器,ValidatorServlet 调用方法 getSession() ,请求 1(UserName, Password),Cookie URL 重写 隐藏字段,会话管理技术,定义:cookie 是 Web 服务器发送给客户机的一段文本信息,它存储在客户机的硬盘上,对于发送给同一服务器的后续请求,由客户机返回,Cookie,服务器是如何将 cookie 发送给客户机的? 通过 HTTP 响应的 Header cookie 是如何存储在客户机中的?存储在哪里? 以文件形式存储在客户机硬盘上 浏览器如何将 cookie 发送回服务器? 作为发送给服务器的请求的一部分,Cookie 和会话管理,应用程序将 SessionID 作为 cookie 存储在客户机中 客户机对向应用程序做出的后续请求返回 SessionId 应用程序使用 SessionID 来标识客户机,定义:来自参与会话的客户机的两个连续请求之间的最长允许空闲时间称为会话超时阶段,会话超时阶段,示例:(Servlet07Cookie),课程演示(关于 Cookie 的存储和检索的演示),SessionID 追加到 URL 中 例如,Web 页面中的以下链接: 被重写为 ,URL 重写(浏览器禁止使用Cookie时才有效),课程演示(URL 重写的),示例:(Servlet08Session) 重写URL的代码 response.encodeURL(“ /SessionServlet/B3SessionInfo?name=云长&nickname=大刀B3SessionInfo?name=云长“),该方法类似于 URL 重写 服务器将隐藏字段嵌入呈现给用户的每个 HTML 表单,而不是重写 URL 在提交该页面时,客户机将名称 - 值对发送给服务器 例如,如果 SessionID 是 1FF35618D5CEDFF538320ABB17B88B46 ,它将如下所示隐藏在表单中: ,隐藏字段(不用看),课程演示(隐藏字段 【可以不了解】),示例:(Servlet08Session) 难点:通过SessionID获取Session对象,URL 重写和隐藏字段,HTML 文档包含 HTML 表单和超链接 必须重写所有超链接的 URL 且所有 HTML 表单必须包含含有 SessionID 的隐藏字段 因此,结合使用 URL 重写和隐藏字段来保留会话信息,会话跟踪方法,如何在各种会话跟踪技术中进行选择? 答案是:在使用 Servlet 的情况下,Web 容器负责提供维护会话的基本工具。 Servlet 规范允许 Web 容器使用 URL 重写、cookie 实际使用的技术取决于驻留 Servlet 的 Web 容器提供的工具和客户机的浏览器提供的支持,会话管理 API,Java Servlet API 的接口: HttpServletRequest 和 HttpSession 使 Servlet 能够使用 Web 容器的会话管理功能,访问会话对象,用于创建会话和跟踪 HttpSession 对象的 HttpServletRequest 接口的方法是: public HttpSession getSession() public HttpSession getSession(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!,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!