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

上传人:max****ui 文档编号:11498315 上传时间:2020-04-25 格式: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),SessionId=123456,请求3(SessionId=123456),Web容器,由容器生成的SessionId=123456。,Web服务器,ValidatorServlet调用方法getSession(),请求1(UserName,Password),CookieURL重写隐藏字段,会话管理技术,定义:cookie是Web服务器发送给客户机的一段文本信息,它存储在客户机的硬盘上,对于发送给同一服务器的后续请求,由客户机返回,Cookie,服务器是如何将cookie发送给客户机的?通过HTTP响应的Headercookie是如何存储在客户机中的?存储在哪里?以文件形式存储在客户机硬盘上浏览器如何将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,JavaServletAPI的接口:HttpServletRequest和HttpSession使Servlet能够使用Web容器的会话管理功能,访问会话对象,用于创建会话和跟踪HttpSession对象的HttpServletRequest接口的方法是:publicHttpSessiongetSession()publicHttpSessiongetSession(boolean),HttpSession接口,HttpSession接口的方法getMaxInactiveInterval()setMaxInactiveInterval(int)isNew()invalidate()setAttribute(String,Object)getAttribute(String)getAttributeNames()removeAttribute(Stringname),示例:(Servlet09LoginAndLogout),课程演示(登陆和退出),会话最佳做法,确保将要存储在HTTP会话中的对象实现Serializable接口避免在会话中存储不可序列化的对象,如数据库连接和输入输出流对象提供对会话属性的同步访问,这些会话属性将由多个Web容器访问在完成时释放HttpSession对象不要试图在Servlet外部重用HttpSession对象,小结,现在您已经完成了本单元的学习,您应该能够:了解为什么需要进行会话管理说明各种会话管理技术了解容器在会话管理中的角色编写需要会话跟踪的应用程序在会话跟踪应用程序中应用最佳做法,本章作业,为什么需要会话管理技术会话管理有哪些技术,ThankYou!,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


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


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

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


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