第三章 Servlet编程-Servlet高级编程.ppt

  1. 1、本文档共35页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第三章 Servlet编程-Servlet高级编程

第三章 Servlet编程 Servlet高级编程 3.6 会话管理 HTTP特征: HTTP协议是一种无状态的协议,客户端每次打开一个Web 页面,它就会与服务器建立一个新的连接,发送一个新的请求到服务器,服务器处理客户端的请求,返回响应到客户端,并关闭与客户端建立的连接。当客户端发起新的请求,那么它重新与服务器建立连接,因此服务器并不记录关于客户的任何信息。 如果需要保存客户与服务器间的多次请求信息(如网上购物),要怎么办? 3.6 会话管理--会话跟踪 会话:一次会话由客户打开浏览器开始到关闭浏览器结束,一次会话是由一次浏览过程中所发出的全部HTTP请求组成的。 会话跟踪:记录会话信息的技术。 会话跟踪技术 常见会话跟踪技术: cookie机制. ---理解 JSESSIONID=74D2DD5CA15A6090D33AF973B9C1D0D9) URL 重写. http://localhost:8080/icsample/bookcookie;jsessionid=XXXXXX. 隐藏表单输入. INPUT type=hidden name=session value=12345 会话跟踪技术--cookie Cookie 是一小块可以嵌入HTTP 请求和响应中的数据,它在服务器上产生,并作为响应头的一部分返回用户。 浏览器收到包含Cookie 的响应后,会把Cookie 的内容用“关键字/值” 对的形式写入文本文件中,保存到客户端。 浏览器会随着随后产生的请求把Cookie发给相同的服务器,服务器可以再次读取Cookie信息,Cookie 可以进行有效期设置,过期的Cookie 会被浏览器删除。 Servlet API 提供了一个Cookie 类,封装了对Cookie 的一些操作。 Servlet 可以创建一个新的Cookie类对象,设置它的关键字、值及有效期等属性。 HttpServletResponse 对象可将Cookie对象将其发送给浏览器,浏览器读取并保存Cookie信息。 HttpServletRequest 对象可以获取浏览器发送过来的cookie信息,并将其专换成Cookie类对象。 会话跟踪技术—cookie(创建cookie) CookieServlet.java—运行演示Cookie 文本(servlet) 创建cookie: cookie = new Cookie(ServletStudy,create by hyl); cookie.setMaxAge(maxAge); 发送cookie到浏览器: response.addCookie(cookie); 会话跟踪技术—读取cookie Cookie[] cookies = request.getCookies( ); //判断Cookie “ServletStudy”是否存在 if (cookies != null){ for (int i = 0; i cookies.length; i++){ if (cookies[i].getName( ).equals(“SevletStudy)){ cookie = cookies[i]; } }//end for }//end if CookieServlet.java—再次运行,发现servlet执行结果有变化。 原因: 第一次执行后,生成了cookie,第二次再执行时,代码判断,是否cookie已经存在,如果存在,则直接输出名和值,其他信息不再输出。 Cookie[] cookies = request.getCookies( ); Cookie cookie;boolean newCookie=false; //判断Cookie “ServletStudy”是否存在 if (cookies != null){ for (int i = 0; i cookies.length; i++){ if (cookies[i].getName( ).equals(“SevletStudy)){ cookie = cookies[i]; } }//end for }//end if if (cookie == null)

文档评论(0)

xcs88858 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档