第3章 Servlet编程.ppt
《第3章 Servlet编程.ppt》由会员分享,可在线阅读,更多相关《第3章 Servlet编程.ppt(42页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、1,三、Servlet编程高级技能,客户端发送一个请求到服务器,服务器处理客户端的请求,返回响应到客户端,并关闭与客户端建立的连接,并不记录关于客户的任何信息。有时,可能要跨多个请求保留与客户的会话状态。例如,购物车,在一个请求中作出选择,在下一个选择中结账。常见的会话跟踪技术有:Cookie,URL重写或重定向。,2,HttpSession对象可以保存跨同一客户多个请求的会话状态。也就是说:对于会话期间客户所做的所有请求,从中得到的所有信息都可以用HttpSession对象保存。,会话如何工作?,3,会话如何工作(1),会话对象何时创建?,4,会话如何工作(2),5,会话如何工作(3),6,
2、会话如何工作(4),7,会话如何工作(5),8,容器如何识别客户,对每一个客户的第一个请求,容器会生成一个唯一的会话ID,并通过响应把它返回给客户。客户再在以后的每一个请求中发回这个会话ID。容器看到ID后,就会找到匹配的会话,并把这个会话与请求关联。,9,客户和容器交换会话ID信息(1),最简单而且最常用的方式是通过cookie交换这个会话ID信息。,10,客户和容器交换会话ID信息(2),11,客户和容器交换会话ID信息(3),生成会话ID、创建新的cookie对象、把会话ID放到cookie中,及把cookie设置为响应的一部分等工作都由容器负责。对于后续的请求,容器会从请求中的cook
3、ie得到会话ID,将这个会话ID与一个现有的会话匹配,并把会话与当前请求关联。容器几乎会做cookie的所有工作,而且cookie的所有工作都在后台进行。,12,客户和容器交换会话ID信息(4),从请求得到会话ID:HttpSessionsession=request.getSession();,13,客户和容器交换会话ID信息(5),如果客户对这个会话ID没有响应过,isNew()就返回true,14,如果客户不接受cookie,可以把URL重写作为一条后路。URL重写是将会话ID附加到各个URL的最后。,URL重写(1),15,URL重写(2),不一定用分号作分隔符,不同的开发商可能采用不
4、同的分隔符,16,URL重写(3),向这个URL增加额外的会话ID信息(只有告诉响应要对URL编码,对URL重写才能奏效),17,URL重写(4),如果要把请求重定向到另外一个URL,但还想使用一个会话,有一个特殊的URL编码方法:response.encodeRedirectURL(“/BeerTest.do”),encodeURL()和encodeRedirectURL()都是HttpServletResponse对象上调用的方法!,18,删除会话(5),会话有三种死法:超时在会话上调用invalidate()应用结束(崩溃或取消部署),在DD中配置会话超时,设置一个特定会话的超时(不影响
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第3章 Servlet编程 Servlet 编程
限制150内