`
zhaolicric
  • 浏览: 143800 次
  • 性别: Icon_minigender_2
  • 来自: 青岛
社区版块
存档分类
最新评论

Cookie Use

阅读更多

  什么是cookies

  大家都知道,浏览器与WEB服务器之间是使用HTTP协议进行通信的,当某个用户发出页面请求时,WEB服 务器只是简单的进行响应,然后就关闭与该用户的连接。因此当一个请求发送到WEB服务器时,无论其是否是第一次来访,服务器都会把它当作第一次来对待,这 样的不好之处可想而知。为了弥补这个缺陷,Netscape开发出了cookie这个有效的工具来保存某个用户的识别信息,因此人们昵称为“小甜饼”。 cookies是一种WEB服务器通过浏览器在访问者的硬盘上存储信息的手段:Netscape Navigator使用一个名为cookies.txt本地文件保存从所有站点接收的Cookie信息;而IE浏览器把Cookie信息保存在类似于 C:windowscookies的目录下。当用户再次访问某个站点时,服务端将要求浏览器查找并返回先前发送的Cookie信息,来识别这个用户。(不同的系统在不同的目录下)

 

if(ifSave==1){
                    //Cookie中要保存的信息
                     Cookie userNameCookie=new Cookie("userName",userName);
                     Cookie userPassCookie=new Cookie("userPass",userPass);
                     
                     //生命周期
                     userNameCookie.setMaxAge(60 * 60 * 24 * 30);//保存30天
                     userPassCookie.setMaxAge(60 * 60 * 24 * 30);//保存30天
                     
                     response.addCookie(userNameCookie);
                     response.addCookie(userPassCookie);
                }else{

                  //查询
                    Cookie[] cookies = request.getCookies(); 
                    if (cookies != null) { 
                       for (int i = 0; i < cookies.length; i++) { 
                            Cookie c = cookies[i]; 
                            System.out.println(c.getName()+"="+c.getValue()); 
                            c.setMaxAge(0);//设置生命周期为0
                            response.addCookie(c);//再写入才能去掉原来的Cookie值
                       } 
                    } 
                }

 

 

 

 在JSP中,程序是通过cookie.setXXX设置各种属性,用cookie.getXXX读出cookie的属性,现在把Cookie的主要属性,及其方法列于下,供大家参考:

类型 方法名 方法解释
String getComment() 返回cookie中注释,如果没有注释的话将返回空值.
String getDomain() 返回cookie中Cookie适用的域名. 使用getDomain() 方法可以指示浏览器把Cookie返回给同 一域内的其他服务器,而通常Cookie只返回给与发送它的服务器名字完全相同的服务器。注意域名必须以点开始(例如.yesky.com)
int getMaxAge() 返回Cookie过期之前的最大时间,以秒计算。
String getName() 返回Cookie的名字。名字和值是我们始终关心的两个部分,笔者会在后面详细介绍 getName/setName。
String getPath() 返回Cookie适用的路径。如果不指定路径,Cookie将返回给当前页面所在目录及其子目录下 的所有页面。
boolean getSecure() 如果浏览器通过安全协议发送cookies将返回true值,如果浏览器使用标准协议则返回false值。
String getValue() 返回Cookie的值。笔者也将在后面详细介绍getValue/setValue。
int getVersion() 返回Cookie所遵从的协议版本。
void setComment(String purpose) 设置cookie中注释。
void setDomain(String pattern) 设置cookie中Cookie适用的域名
void setMaxAge(int expiry) 以秒计算,设置Cookie过期时间。
void setPath(String uri) 指定Cookie适用的路径。
void setSecure(boolean flag) 指出浏览器使用的安全协议,例如HTTPS或SSL。
void setValue(String newValue) cookie创建后设置一个新的值。
void setVersion(int v) 设置Cookie所遵从的协议版本。
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics