- 1、本文档共90页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* 从客户端读取你感兴趣的cookie,需要两个步骤 首先调用request.getCookies得到一个Cookie对象的数组 然后调用每个cookie的getName方法,从数组中寻找所需的cookie String nameString = “UserName” Cookie[] cookies = request.getCookies(); for ( int i=0; icookies.length; i++) { Cookie cookie = cookies[i]; if (nameString.equals( cookie.getName()) ) { // do something … // cookies.setMaxAge(0); } } 找到感兴趣的cookie之后,便可以操作此cookie, 如通过getValue方法得到相关cookie的值,设置MaxAge等 11.5 客户端跟踪 11.5.1 使用Cookie(续)——从客户端读取Cookie * 11.5.2 使用Session Session 一段时间内,单个客户与web服务器的一连串的交互过程 在一个Session中客户可能会多次请求访问同一个网页,也有可能请求访问各种不同的服务器资源,其间用户的状态需要跟踪并保持 存在于服务器端,不在网络上传送 它的好处是可以用来记录客户端私有的信息,并且在时间范围内不会消失 11.5 客户端跟踪 * 11.5.2 使用Session(续) Session的使用可以分为三个步骤 获得一个session 存储数据到session或从session读取数据 销毁session 11.5 客户端跟踪 * 通过调用httpServletRequest的getSession方法可以得到一个session HttpSession session = request.getSession(); 为了保持正确的会话,必须在发送任何文档到客户程序之前获得一个session public class SessionServlet extends HttpServlet { public void doGet( HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // Get the users session HttpSession session = request.getSession(true); //... out = response.getWriter(); // ... } } 11.5 客户端跟踪 11.5.2 使用Session(续)——获得一个Session * Session ID Servlet容器为HttpSession分配的一个唯一标识符 作为Cookie保存在客户的浏览器中 session cookie 每次客户发出HTTP请求时,Servlet容器可以从HttpRequest对象中读取Session ID,然后根据Session ID在服务器端找到相应的HttpSession对象,从而获取客户的状态信息,这样的cookie叫做session cookie 存储于浏览器内存中的,并不写到硬盘上的 针对某一次会话而言,会话结束也就随着消失了 11.5 客户端跟踪 11.5.2 使用Session(续)——存储或读取数据 * URL 重写 浏览器不支持 Cookie,或者将浏览器设置为不接受 Cookie的情况,可通过 URL 重写来实现会话管理 向 URL 连接添加参数,并把 session ID 作为值包含在连接中。为 servlet 响应部分的每个连接添加 session ID ,可以使用一对方法 response.encodeURL() :使 URL 包含session ID response.encodeRedirectURL():使用重定向 11.5 客户端跟踪 11.5.2 使用Session(续)——存储或读取数据 * 从Session中读取数据 session.getAttribute(“name”) 查找以前存储的值 如果不存在则返回null 在调用此方法返回的对象前,一定要检查它是否为null 向session中设置相关信息 setAttribute 替换掉此前设定的任何值
文档评论(0)