JavaWeb Cookie的用法

Cookie是在浏览器端保存用户请求的信息。

创建一个 cookie,cookie 是 servlet 发送到 Web 浏览器的少量信息,这些信息由浏览器保存,然后发送回服务器。cookie 的值可以唯一地标识客户端,因此 cookie 常用于会话管理。

一个 cookie 拥有一个名称、一个值和一些可选属性,比如注释、路径和域限定符、最大生存时间和版本号。一些 Web 浏览器在处理可选属性方面存在 bug,因此有节制地使用这些属性可提高 servlet 的互操作性。

servlet 通过使用 HttpServletResponse#addCookie 方法将 cookie 发送到浏览器,该方法将字段添加到 HTTP 响应头,以便一次一个地将 cookie 发送到浏览器。浏览器应该支持每台 Web 服务器有 20 个 cookie,总共有 300 个 cookie,并且可能将每个 cookie 的大小限定为 4 KB。

浏览器通过向 HTTP 请求头添加字段将 cookie 返回给 servlet。可使用 HttpServletRequest#getCookies 方法从请求中获取 cookie。一些 cookie 可能有相同的名称,但却有不同的路径属性。

cookie 影响使用它们的 Web 页面的缓存。

1、创建Cookie,以键值对的方式存储

			Cookie cookie1 =new Cookie("username", username);//创建Cookie
			cookie1.setMaxAge(30*60);//设置Cookie生命周期,以秒为单位
			Cookie cookie2=new Cookie("password", password);
			cookie2.setMaxAge(30*60);
			response.addCookie(cookie1);//发回浏览器
			response.addCookie(cookie2);

2、可以获取全部Cookie的值,按需存取

		Cookie []cookies=request.getCookies();//获取所有的Cookie
		String username="",password="";
		if(cookies==null){
			username="";
			password="";
		}else
		for (Cookie cookie : cookies) {
			if(cookie.getName().equals("username")){//寻找需要的值
				username=cookie.getValue();
			}else if(cookie.getName().equals("password")){
				password=cookie.getValue();
			}
		}

3、Cookie的生命周期

Cookie存储在浏览器端,如果不进行删除,将会导致数据量越来越大。因此Cookie是有生命周期的,一定时间后Cookie会自动删除。Cookie可以通过setMaxAge()设置生存时间,如果不设置,将会在浏览器关闭的时候自动删除。将生命周期设置为0,将会立即删除Cookie

4、Cookie路径设置

Cookie路径可以通过setPath方法设置当前目录和旗下子目录servlet都获取cookie,一般setPath(“/”),表示当前项目所有目录都可以获取cookie


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值