zl程序教程

您现在的位置是:首页 >  后端

当前栏目

java中对Cookie的操作详解编程语言

JAVACookie编程语言 详解 操作
2023-06-13 09:20:43 时间
浏览器与WEB服务器之间是使用HTTP协议进行通信的,当某个用户发出页面请求时,WEB服务器只是简单的进行响应,然后就关闭与该用户的连接。因此当一个请求发送到WEB服务器时,无论其是否是第一次来访,服务器都会把它当作第一次来对待,这样的不好之处可想而知。为了弥补这个缺陷,Netscape开发出了cookie这个有效的工具来保存某个用户的识别信息,因此人们昵称为“小甜饼”。cookies是一种WEB服务器通过浏览器在访问者的硬盘上存储信息的手段:Netscape Navigator使用一个名为cookies.txt本地文件保存从所有站点接收的Cookie信息;而IE浏览器把Cookie信息保存在类似于C:/windows/cookies的目录下。当用户再次访问某个站点时,服务端将要求浏览器查找并返回先前发送的Cookie信息,来识别这个用户。
max-age:指定Ccookie的生存周期(以秒为单位)!默认情况下,Cookie的值只在浏览器的会话期间存在,当用户退出浏览器这些值就消失了! 
path:指定与Cookie关联在一起的网页.默认情况下,cookie会和创建它的网页以及与这个网页处于同一个目录下的网页和处于该目录下的子目录关联。 
domain:设置访问域   举个例子:位于order.example.com的服务器要读取catalog.example.com设置的cookie.这里就要引入domain属性,假定由位于catalog.example.com的页面创  的cookie把自己的path属性设置为 / ,把domain属性设置为 .example.com ,那么所有位于 catalog.example.com 的网页和所有位于 orders.example.com 的网页以及所有位于example.com域的其他服务器上得网页都能够访问这个cookie.如果没有设置cookie的domain值,该属性的默认值就是创建cookie的网页所在的  服务器的主机名。   注意:不能将一个cookie的域设置成服务器所在的域之外的域. 
response.addCookie(cookie);  //addCookie后,如果已经存在相同名字的cookie,则最新的覆盖旧的cookie
1)原来在webapp_a下面设置的cookie,在webapp_b下面获取不到,path默认是产生cookie的应用的路径。
2)若在webapp_a下面设置cookie的时候,增加一条cookie.setPath( / );或者cookie.setPath( /webapp_b/ );
3)此处的参数,是相对于应用服务器存放应用的文件夹的根目录而言的(比如tomcat下面的webapp),因此cookie.setPath( / );之后,可以在webapp文件夹下的所有应用共享cookie,而cookie.setPath( /webapp_b/ );
是指cas应用设置的cookie只能在webapp_b应用下的获得,即便是产生这个cookie的webapp_a应用也不可以。
4)设置cookie.setPath( /webapp_b/jsp )或者cookie.setPath( /webapp_b/jsp/ )的时候,只有在webapp_b/jsp下面可以获得cookie,在webapp_b下面但是在jsp文件夹外的都不能获得cookie。
5)设置cookie.setPath( /webapp_b );,是指在webapp_b下面才可以使用cookie,这样就不可以在产生cookie的应用webapp_a下面获取cookie了