很久以前就该学servlet,直到现在被课程所逼来学,感觉真不是滋味。敬酒没喝到,就来喝点劲酒吧,先看看在浏览器里的那些cookie倒底是干什么用的。
cookie是Web服务器发送到浏览器的文本信息,该信息记录了浏览器此次访问的Web站点所做的一些选择或配置,等到下次该浏览器访问相同的站点的时候,浏览器就将cookie发送回服务器,由服务器为其提供与以前相同的服务。比如:定制页面的显示样式,网页广告,或者学院TSS的登录不再需要重复输入口令等等。
cookie存在的问题主要是保密性,至于病毒呢,是不可能植入cookie中的,所以安全性问题不会出在cookie的身上。
既然是学servlet,那就来记录一下有用的servlet cookie API里面的部分函数:
创建cookie:
Cookie userCookie=new Cookie("user","uid0001");
此函数包括cookie名和值,这两个字符串都不应该包括[]()=,"/?@:;这些字符。
放置cookie进http响应头中:
response.addCookie(userCookie);
当然这是在服务器端加入的。
另外关于cookie属性的函数有:
//查找注释
public String getComment();
public void setComment(String comment);
//应用域,可利用setDomain方法只是浏览器把cookie返回到相同域中的其他主机
public int getDomain();
public void setDomain(String domainPattern);
//设定或获得cookie的存在时间,负值表示只存在于该会话,0表示浏览器删除响应cookie
public int getMaxAge();
public void setMaxAge(int lifetime);
//设置cookie名字
public String getName();
public void setName(String cookieName);
//设置浏览器将cookie返回的路径
public String getPath();
public void setPath(String path);
//设置cookie是否只能在加密连接上发送的逻辑值
public void setSecure(boolean secureFlag);
在web应用中间共享数据,cookie是其中的一种方法。例如:服务器由http://host/path1/xx.jsp发送cookie至浏览器,则浏览器将此cookie送回http://host/path1/*,即path1下的所有,但是不会送回http://host/pathx/*,要做到通过cookie来共享数据时,则利用setPath的方法,比如setPath("/"),这时,浏览器将发送回服务器上的所有URL。
对cookie的学习就到此为止,写此日志以备以后回忆参考。