- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
servlet之cookie简介
servlet 之 cookie 简介
首先来了解什么是 “会话”。会话是web 技术中的一个术语,可以简单的理解为:用户打开一个浏览器,点击多个超
链接,访问服务器多个 web 资源,然后关闭浏览器,这个过程称为一个会话。
如果在打开一个浏览器访问一个页面后,再打开一个浏览器访问同一个页面,那这就是有两个会话;而打开一个浏览器
访问一个页面后,通过这个页面上的某个超链接是从新的浏览器打开的,那依然只算一个会话。
每个用户在使用浏览器与服务器进行会话的过程中,各自不可避免地会产生一些数据,而程序要想办法为每个用户保存
这些数据。比如,用户点击超链接通过一个产品 Servlet 购买了一个商品,程序应该想办法保存这个商品,以便于用户在点
击付款超链接时能再从付款 Servlet 中看到这个商品并为其买单。
使用 Request 对象是无法保存数据的,因为在点击商品和付款各自的 Servlet 是发送两个不同的 Request 请求对象,而
使用 ServletContext 对象则会发生多个用户的线程安全问题,使用转发功能理论上可行,但是用户体验将会大打折扣,每次
点击一个商品就会被要求付款。所以根据以上的需求,有两种技术来保存会话过程中产生的数据 :一个是Cookie ,一个是
Session ,Session 技术将会在之后的篇章中介绍学习。
本篇主要先讲述 Servlet 中的Cookie 技术。Cookie 技术是客户端技术,程序把每个用户的数据以 cookie 的形式写给
用户各自的浏览器。当用户使用浏览器再去访问服务器时,就会带着各自的数据过去,这样 web 服务器处理的就是用户各自
的数据了。
下图是一个会话过程中设置上一次访问时间的 Cookie 的简单过程:
创建一个 Cookie 对象就像平常创建一个 Java 对象一样简单:
1 / 10
在使用构造器时传入 Cookie 的名和值这样的键值对即可,我们在服务器端要获取从浏览器发来的 Cookie 数据可以使用请求
对象的 request.getCookies 方法获得一个 Cookie 数组,而我们想向浏览器输出 Cookie 时可以使用响应对象的
response.addCookie (Cookie )方法。
同时Cookie 对象还有如下一些方法:
getName 方法用来获取某个 Cookie 对象的名称。
setValue 方法和 getValue 方法分别用来设置和获取某个 Cookie 对象的值。
setMaxAge (int expires )方法是设置Cookie 的有效期,如果没有这句代码,Cookie 的有效期就是一个会话时间(即
关闭浏览器该 Cookie 就不存在了),当设置了 Cookie 的有效期后,Cookie 会保存在浏览器指定的硬盘文件中,同时在这
段时间内,每次访问服务器都会带着 Cookie 过去。如果将该方法参数置为 “0”,则服务器会指示浏览器删除该Cookie。
setPath 方法是设置 Cookie 的有效路径。表示在访问某些特定 URL 时才会带 Cookie 过去。假设某个 web 应用为
【myservlet】,如果我们将setPath 方法中的参数设置为 “/myservlet”,那么访问该web 应用下所有的资源都会使浏览
器发送 Cookie 过去;而如果我们将 setPath 方法中的参数设置为 “/myservlet/pages”,那么只有访问该web 应用中的
【pages】下的资源才会带 Cookie 过去,而访问该 web 应用中的其他资源则不会带 Cookie 给服务器。如果我们没有设置
setPath 方法,那么该 Cookie 的有效路径默认为创建 Cookie 对象的当前程序所在目录。注意,Cookie 的路径是给浏览器
使用的(详见《Servlet 的学习之web 路径问题》)
setDomain 方法是设置 Cookie 的有效域名,如:.(注意最前面有一个点)。表示当浏览器访问该域名时才会带
Cookie 过去。但是现在浏览器基本全面阻止了这个可能作为不安全的功能,所以几乎已经被弃用。
举例:我们访问某个 Servlet ,而在访问这个Servlet 时会将当前访问时间作为 Cookie 中的值返回给客户端,同时下次
再次访问该 Servlet 时,会显示上一次客户端来访问的时间:
1
您可能关注的文档
- 市场营销学单选题题库.doc
- IRLR024NTRPBF;IRLU024NPBF;IRLR024NTRLPBF;IRLR024NTRRPBF;IRLR024NPBF;中文规格书,Datasheet资料.pdf
- IRF540NSTRLPBF;IRF540NLPBF;IRF540NSPBF;IRF540NSTRRPBF;中文规格书,Datasheet资料.pdf
- 2011年中级会计职称考试《财务管理》历年真题及答案解析.doc
- 重庆市涪陵区面向全市公开招选非公企业团委书记笔试试题.doc
- 85气在碳基填充床内富氢改质的数值模拟.pdf
- 2008年7月消费心理学考题.doc
- 会计咨询习题4.doc
- C语言上机题_doc.pdf
- 贵州省百万公众试题04.docx
文档评论(0)