Cookie概念

Cookie时用来存储客户端的信息,一次会话:从浏览器的打开访问,然后关闭浏览器这就是属于一次会话!

Cooike不能存中文!必须时字符串的形式!

服务器端向客户端发送一个cookie

创建Cookie:

Cookie cookie = new Cookie(String cookieName,String cookieValue);

Cookie可以设置持久化时间:

cookie.setMaxAge(int seconds); 秒

注意:设置了时间以后,Cookie会从启动命令的时候开启,开始计算时间,当时间到时,就会删除Cookie信息,就算客户端没有关闭也会删除Cookie信息,单位为秒

删除客户端Cookie信息 把这个持久化时间改为0 那么就相当于覆盖以前的Cookie

package com.oracle.demo01;

import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class SendCookieServlet extends HttpServlet {

	public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		//创建Cookie对象(用来存储客户端的信息)
		Cookie cookie=new Cookie("goods","naiping");
		//设置持久化时间(在发送以前)
		cookie.setMaxAge(60*2);
		//设置Cookie携带路径
		/*cookie.setPath("/WEB07/SendCookieServlet");*/
		//发送Cookie到客户端
		response.addCookie(cookie);
	}

	public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		doGet(request, response);
	}
}

 设置携带路径:

cookie.setPath(String path);

如果不设置携带路径的话,Cookie会显示整个WEB应用所在的路径都会携带Cookie信息,如果设置了则写到哪个目录下,就会显示哪个目录下的Cookie信息

cookie.setPath("/WEB16");

  代表访问WEB16应用中的任何资源都携带cookie

cookie.setPath("/WEB16/cookieServlet");

  代表访问WEB16中的cookieServlet时才携带cookie信息

 

服务器端请求接收客户端所携带的cookie信息:

cookie信息时以请求头的方式发送到服务器

Cookie[] cookie=request.getcookies();

通过遍历的形式,通过cookie名称找到对应的值

package com.oracle.demo01;

import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class GetCookieServlet extends HttpServlet {

	public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		//获取Cookie数组
		Cookie[] cookies=request.getCookies();
		//遍历Cookie数组 通过Cookie名获取Cookie值
		for(Cookie c:cookies){
			if(c.getName().equals("goods")){
				System.out.println(c.getValue());
			}
		}
	}

	public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		doGet(request, response);
	}
}

  

转载于:https://www.cnblogs.com/awdsjk/p/11145820.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值