欢迎来到天天文库
浏览记录
ID:38572521
大小:1.04 MB
页数:22页
时间:2019-06-15
《web(servletjsp)会话管理(注册和登陆)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
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)SessionId=123456请求3(SessionId=123456)Web容器由容器生成的SessionId=123456。Web服务器ValidatorServlet…调用方法getSession()……请求1(UserName,Passwo
4、rd)CookieURL重写隐藏字段会话管理技术定义:cookie是Web服务器发送给客户机的一段文本信息,它存储在客户机的硬盘上,对于发送给同一服务器的后续请求,由客户机返回Cookie服务器是如何将cookie发送给客户机的?通过HTTP响应的Headercookie是如何存储在客户机中的?存储在哪里?以文件形式存储在客户机硬盘上浏览器如何将cookie发送回服务器?作为发送给服务器的请求的一部分Cookie和会话管理应用程序将SessionID作为cookie存储在客户机中客户机对向应用程序做
5、出的后续请求返回SessionId应用程序使用SessionID来标识客户机定义:来自参与会话的客户机的两个连续请求之间的最长允许空闲时间称为会话超时阶段会话超时阶段示例:(Servlet07Cookie)课程演示(关于Cookie的存储和检索的演示)SessionID追加到URL中例如,Web页面中的以下链接:被重写为6、nInfo;jsessionid=7E4A49DE75E98903D4F13E5ECF812AE8?name=云长&nickname=大刀">URL重写(浏览器禁止使用Cookie时才有效)课程演示(URL重写的)示例:(Servlet08Session)重写URL的代码response.encodeURL("/SessionServlet/B3SessionInfo?name=云长&nickname=大刀B3SessionInfo?name=云长")该方法类似于URL重写服务器将隐藏字段嵌入呈现给7、用户的每个HTML表单,而不是重写URL在提交该页面时,客户机将名称-值对发送给服务器例如,如果SessionID是1FF35618D5CEDFF538320ABB17B88B46,它将如下所示隐藏在表单中:8、6"/>隐藏字段(不用看)课程演示(隐藏字段【可以不了解】)示例:(Servlet08Session)难点:通过SessionID获取Session对象URL重写和隐藏字段HTML文档包含HTML表单和超链接必须重写所有超链接的URL且所有HTML表单必须包含含有SessionID的隐藏字段因此,结合使用URL重写和隐藏字段来保留会话信息会话跟踪方法如何在各种会话跟踪技术中进行选择?
6、nInfo;jsessionid=7E4A49DE75E98903D4F13E5ECF812AE8?name=云长&nickname=大刀">URL重写(浏览器禁止使用Cookie时才有效)课程演示(URL重写的)示例:(Servlet08Session)重写URL的代码response.encodeURL("/SessionServlet/B3SessionInfo?name=云长&nickname=大刀B3SessionInfo?name=云长")该方法类似于URL重写服务器将隐藏字段嵌入呈现给
7、用户的每个HTML表单,而不是重写URL在提交该页面时,客户机将名称-值对发送给服务器例如,如果SessionID是1FF35618D5CEDFF538320ABB17B88B46,它将如下所示隐藏在表单中:8、6"/>隐藏字段(不用看)课程演示(隐藏字段【可以不了解】)示例:(Servlet08Session)难点:通过SessionID获取Session对象URL重写和隐藏字段HTML文档包含HTML表单和超链接必须重写所有超链接的URL且所有HTML表单必须包含含有SessionID的隐藏字段因此,结合使用URL重写和隐藏字段来保留会话信息会话跟踪方法如何在各种会话跟踪技术中进行选择?
8、6"/>隐藏字段(不用看)课程演示(隐藏字段【可以不了解】)示例:(Servlet08Session)难点:通过SessionID获取Session对象URL重写和隐藏字段HTML文档包含HTML表单和超链接必须重写所有超链接的URL且所有HTML表单必须包含含有SessionID的隐藏字段因此,结合使用URL重写和隐藏字段来保留会话信息会话跟踪方法如何在各种会话跟踪技术中进行选择?
此文档下载收益归作者所有