javaweb之Cookie篇
Cookie是在浏览器访问某个Web资源时,由Web服务器在Http响应消息头中通过Set-Cookie字段发送给浏览器的一组数据。
一个Cookie只能表示一个信息对,这个信息对有一个信息名(Name)和一个信息值(Value)组成。Web服务器可以给一个Web浏览器发送多个Cookie,但每个Cookie的大小一般被限制为4KB。
在Servlet API中,使用java.servlet.http.Cookie类来封装一个Cookie信息。HttpServletResponse接口中定义addCookie方法,HttpServletRequest中getCookies方法获取浏览器发送给服务器的所有Cookie信息。
Cookie类中相关的方法:
1.构造方法,仅此一个
public Cookie(java.lang.String name,java.lang.String value)
name参数中不能包含任何空白字符,逗号,分号,并不能以$字符开头。 2.getName方法用于获取Cookie名称 3.getValue和setValue分别用于获取和设置Cookie的值 4.setMaxAge和getMaxAge用于设置和获取在客户端的有效时间,单位为秒,
如果设置为0,则表示当Cookie发送到客户端浏览器时立即删除,
如果设置为负数(-1),则表示浏览器并不会把这个Cookie保存在硬盘上,这种Cookie被称为临时Cookie(保存在硬盘上的Cookie叫做永久Cookie),
它们(临时Cookie)只存在于当前浏览器的进程中,当浏览器关闭后,Cookie自动失效。对于IE浏览器来说,不同的浏览器窗口不能共享临时Cookie,但按Ctrl+N组合件或使用js的
window.open打开的窗口,由于和它们的父窗口属于同一个浏览器进程,因此它们可以共享临时Cookie,而在FireFox中,所有的进程和标签页都可以共享临时Cookie。 5.setPath和getPath用于设置和获取当前Cookie的有效Web路径。如果在创建某个Cookie时未设置它的path属性,那么该Cookie只对当前访问的Servlet所在的Web路径及其子路径 有效。如果要想使Cookie对Web站点中所有可访问的路径有效,需要将path属性设置为“/”。
getPath()Returns the path on the server to which the browser returns this cookie. 6.setDomain和getDomain用于设置和获取当前Cookie的有效域。
7.setComment和getComment用于设置和返回当前Cookie的注释部分。
8.setVersion和getVersion用于设置和返回当前Cookie的协议版本。
9.setSecure和getSecure用于设置和返回当前Cookie是否只能使用安全的协议安装Cookie。
getSecure()Returnstrueif the browser is sending cookies only over a secure protocol, orfalseif the browser can send cookies using any pr otocol. 使用举例:
//设置临时Cookie
Cookie tempcook = new Cookie("temp","123456789");
tempcook.setMaxAge(-1);
response.addCookie(tempcook);
//设置MaxAge为0的Cookie
Cookie cookie = new Cookie("cookie","6666");
cookie.setMaxAge(0);
response.addCookie(cookie);
//设置永久Cookie
String user = request.getParameter("user");
if(user != null) {
Cookie usercookie = new Cookie("user",user);
usercookie.setMaxAge(48 * 3600);//秒为单位,48小时
usercookie.setPath("/");//这个Cookie对站点内所有访问路径都有效
response.addCookie(usercookie);
}
-----------------------------------------------------------------------
//获取Cookies
Cookie[] cookies = request.getCookies();
for(Cookie c : cookies) {
if("temp".equals(c.getName())) {
out.println("临时Cookie值:"+c.getValue());
} else if("cookie".equals(c.getName())) {
out.println("Cookie值:"+c.getValue());
} else if("user".equals(c.getName())) {
out.println("永久Cookie值:"+c.getValue());
}
}
javaweb之Cookie篇的更多相关文章
- JavaWeb 8 Cookie
JavaWeb 8 Cookie 2. 会话管理入门 2.1 生活中会话 我: 小张,你会跳小苹果码? 小张: 会,怎么了? ...
- [cookie篇]从cookie-parser中间件说起
当我们在写web的时候,难免会要使用到cookie,由于node.js有了express这个web框架,我们就可以方便地去建站.在使用express时,经常会使用到cookie-parser这个插件. ...
- JavaWeb利用cookie记住账号
JavaWeb利用cookie记住账号. 首先,来看看界面什么样子. 记住账号最普遍的做法,就是在点击登录时,将账号保存到cookie中. 材料准备 <script src="${ct ...
- 了解JavaWeb,一篇就够
把HTML.CSS.JSP.JS.JavaScript,JQuery,STRUTS,String,MVC,DOM 柔和起来,贯穿成一篇完整的内容,让读者明白JavaWeb的前前后后. 从Servlet ...
- JavaWeb学习----Cookie实现记住密码的功能
[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...
- javaWeb 使用cookie显示商品浏览记录
package de.bvb.cookie; import java.io.IOException; import java.io.PrintWriter; import java.util.Date ...
- [转] Web前端优化之 Cookie篇
原文链接: http://lunax.info/archives/3095.html Web 前端优化最佳实践第三部分面向 Cookie .目前只有 2 条实践规则. 1. 缩小 Cookie (Re ...
- javaWEB与cookie
Cookie1. Http协议与Cookie(了解) * Cookie是HTTP协议制定的!先由服务器保存Cookie到浏览器,再下次浏览器请求服务器时把上一次请求得到Cookie再归还给服务器 ...
- [cookie篇]cookie-parser之parser.js
cookie-parser的作用,官方的说法是:Parse Cookie header and populate req.cookies with an object keyed by the coo ...
随机推荐
- Velocity教程 (zhuan)
http://blog.csdn.net/qq_25237663/article/details/52262532 ****************************************** ...
- myeclipse黑色主题怎么还原
删除workspace-->.metadata-->.plugins-->org.eclipse.core.runtime
- 为什么要使用Hibernate
因为! a paradigm mismatch between how data is represented in objects versus relational databases ! 对象数 ...
- JavaScript:引用js文件时的编码格式问题
JavaScript:引用js文件时的编码格式问题 如果js文件的编码格式是utf-8,并且含有中文,那么按照正常的方法引用,就会出现乱码的情况. 方法/步骤 如果js文件的编码格式是utf-8, ...
- Mysql有两种存储引擎:InnoDB与Myisam
http://www.cnblogs.com/kevingrace/p/5685355.html
- WAP调用微信支付https://pay.weixin.qq.com/wiki/doc/api/wap.php?chapter=15_1
公司做的一个购物网站 之前微信版的网站要搬在webView上 可是微信支付是个问题 , 在外部浏览器怎么都发不起微信请求 , 原因是因为页面调用的微信浏览器自带JSAPI 在外部浏览器无法调用,但 ...
- 主成分分析(PCA)原理及R语言实现
原理: 主成分分析 - stanford 主成分分析法 - 智库 主成分分析(Principal Component Analysis)原理 主成分分析及R语言案例 - 文库 主成分分析法的原理应用及 ...
- Web网页性能管理详解
你遇到过性能很差的网页吗? 这种网页响应非常缓慢,占用大量的 CPU 和内存,浏览起来常常有卡顿,页面的动画效果也不流畅. 你会有什么反应?我猜想,大多数用户会关闭这个页面,改为访问其他网站.作为一个 ...
- angular 零碎知识
各种服务: $location:可以监听事件的改变 link 在没有设置template的情况下,指令作为标签使用的时候,ele是指令(伪数组的形式); * 如果指令作为属性使用的话,ele是使用该指 ...
- maven工程打包成runnable的jar包,拷贝资源和依赖jar包
eclipse下新建maven工程,生成runnable的jar包.之前一直是手动拷贝依赖的jar包和资源文件,烦得要死.上网可劲查了一下.解决方案如下. 在pom的配置文件中做如下配置: <b ...