关于Cookie的使用

创建一个Cookie

Student student = new Student;//需要放入Cookie中的信息
ObjectMapper objectMapper = new ObjectMapper();//首先new一个ObjectMapper
String st= objectMapper.writeValueAsString(student);//先将student转换一下
st = URLEncoder.encode(st);//这里是转码
Cookie cookie = new Cookie("st",st);//将转好码的Student放进Cookie中
//cookie.setDomain(".hhedu.gov.cn");  //正式环境需要加上
cookie.setPath("/");//只有在网址的根目录下才可以读取该Cookie
cookie.setMaxAge(24*3600);//Cookie存在的时间
res.addCookie(cookie);//将Cookie添加上去
size字段 :此cookie大小。
http字段 :cookie的httponly属性。若此属性为true,则只有在http请求头中会带有此cookie的信息,而不能通过document.cookie来访问此cookie
secure 字段 :设置是否只能通过https来传递此条cookie
domain字段为可以访问此cookie的域名。

在Controller层获取Cookie里的数据。

public Integer cookie(HttpServletRequest request){
	Cookie[] cookies = request.getCookies();//这里获取Cookie
	String st= null;
	for (Cookie cookie : cookies) {
		if ("st".equals(cookie.getName())) {
			try {
				st = URLDecoder.decode(cookie.getValue(),"UTF-8");//这里通过转码获取Cookie中保存的Student
			} catch (UnsupportedEncodingException e) {
				e.printStackTrace();
			}
		}
	}
        //String[] split1 = st.split(",");//根据逗号分割成数组
	Integer sId = Integer.valueOf(st.split(",")[0].split(":")[1]);//根据想要获取的信息自己分割
	return sId;//我这里只要获取学生ID就好了,别的都不要了。
}
清除Cookie(我是ajax调用)
@RequestMapping(value="/exitSystem",produces = "application/json;charset=UTF-8")
public void exitSystem(HttpServletResponse response){
    Cookie c = new Cookie("st",null);//new一个新的cookie,并将你传入的"st"直接写进去
    c.setMaxAge(0);//存在时间赋值为0,也就是直接失效
    c.setPath("/");//我的路径是根目录,你们路径是null的时候也可以用根目录
    response.addCookie(c);//然后将这个cookie添加上去,然后直接失效。
    response.sendRedirect("/");//直接跳根目录
}
页面直接清除cookie也可以,需要的就自己去寻找吧<ONE PIECE>


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值