java、web编程、cookie、session、状态管理全套详细笔记(心血放出)

java、web编程、cookie、session、状态管理全套详细笔记(心血放出)

ID:8388465

大小:229.35 KB

页数:20页

时间:2018-03-24

java、web编程、cookie、session、状态管理全套详细笔记(心血放出)_第1页
java、web编程、cookie、session、状态管理全套详细笔记(心血放出)_第2页
java、web编程、cookie、session、状态管理全套详细笔记(心血放出)_第3页
java、web编程、cookie、session、状态管理全套详细笔记(心血放出)_第4页
java、web编程、cookie、session、状态管理全套详细笔记(心血放出)_第5页
资源描述:

《java、web编程、cookie、session、状态管理全套详细笔记(心血放出)》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、一、Cookie机制2(一)什么是Cookie2(二)Cookie的不可跨域名性3(三)BASE64编码:保存二进制图片3(四)设置Cookie的所有属性5(五)Cookie的有效期5(六)Cookie的修改、删除6(七)Cookie的域名6(八)Cookie的路径7(九)Cookie的安全属性7(十)JavaScript操作Cookie7(十一)案例:永久登录10二、Session机制13(一)什么是Session13(二)实现用户登录13(三)Session的生命周期15(四)Session的有效期16(五)Sess

2、ion的常用方法16(六)Session对浏览器的要求17(七)URL地址重写17(八)Session中禁止使用Cookie18三、Session与Cookie的比较19(一)从存取方式上比较19(二)从隐私安全上比较19(三)从有效期上比较19(四)从对服务器的负担上比较20(五)从浏览器支持上比较20(六)从跨域名上比较20一、一、Cookie机制在程序中,会话跟踪是很重要的事情。理论上,一个用户的所有请求操作都应该属于同一个会话,而另一个用户的所有请求操作则应该属于另一个会话,二者不能混淆。例如,用户A在超市购买的

3、任何商品都应该放在A的购物车内,不论是用户A什么时间购买的,这都是属于同一个会话的,不能放入用户B或用户C的购物车内,这不属于同一个会话。而Web应用程序是使用HTTP协议传输数据的。HTTP协议是无状态的协议。一旦数据交换完毕,客户端与服务器端的连接就会关闭,再次交换数据需要建立新的连接。这就意味着服务器无法从连接上跟踪会话。即用户A购买了一件商品放入购物车内,当再次购买商品时服务器已经无法判断该购买行为是属于用户A的会话还是用户B的会话了。要跟踪该会话,必须引入一种机制。Cookie就是这样的一种机制。它可以弥补HT

4、TP协议无状态的不足。在Session出现之前,基本上所有的网站都采用Cookie来跟踪会话。(一)什么是CookieCookie意为“甜饼”,是由W3C组织提出,最早由Netscape社区发展的一种机制。由于HTTP是一种无状态的协议,服务器单从网络连接上无从知道客户身份。怎么办呢?就给客户端们颁发一个通行证吧,每人一个,无论谁访问都必须携带自己通行证。这样服务器就能从通行证上确认客户身份了。这就是Cookie的工作原理。Cookie实际上是一小段的文本信息。客户端请求服务器,如果服务器需要记录该用户状态,就使用res

5、ponse向客户端浏览器颁发一个Cookie。客户端浏览器会把Cookie保存起来。当浏览器再请求该网站时,浏览器把请求的网址连同该Cookie一同提交给服务器。服务器检查该Cookie,以此来辨认用户状态。服务器还可以根据需要修改Cookie的内容。查看某个网站颁发的Cookie很简单。在浏览器地址栏输入javascript:alert(document.cookie)就可以了。JavaScript脚本会弹出一个对话框显示本网站颁发的所有Cookie的内容注意:Cookie功能需要浏览器的支持。如果浏览器不支持Cook

6、ie(如大部分手机中的浏览器)或者把Cookie禁用了,Cookie功能就会失效。不同的浏览器采用不同的方式保存Cookie。IE浏览器会在“C:DocumentsandSettings你的用户名Cookies”文件夹下以文本文件形式保存,一个文本文件保存一个Cookie。如果不设置过期时间,则表示这个cookie生命周期为浏览器会话期间,只要关闭浏览器窗口,cookie就消失了。这种生命期为浏览会话期的cookie被称为会话cookie。Java中把Cookie封装成了javax.servlet.http.Coo

7、kie类。每个Cookie都是该Cookie类的对象。服务器通过操作Cookie类对象对客户端Cookie进行操作。通过request.getCookies()获取客户端提交的所有Cookie(以Cookie[]数组形式返回),通过response.addCookie(Cookiecookie)向客户端设置Cookie。Cookie对象使用key-value属性对的形式保存用户状态,一个Cookie对象保存一个属性对,一个request或者response同时使用多个Cookie。因为Cookie类位于包javax.se

8、rvlet.http.*下面,所以JSP中不需要import该类。(一)Cookie的不可跨域名性很多网站都会使用Cookie。例如,Google会向客户端颁发Cookie,Baidu也会向客户端颁发Cookie。那浏览器访问Google会不会也携带上Baidu颁发的Cookie呢?或者Google能不能修改Baid

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。