Cookie的属性用法技巧 Cookie的使用方法介绍

本文详细介绍了如何在Java Spring框架中使用Cookie进行用户身份验证,包括Cookie的创建、读取及更新,确保了用户的会话状态在浏览器与服务器间的有效传递。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Cookie的使用 

浏览器保存Cookie的值:response 

服务端从request获取Cookie的值 

@Controller("user_controller") 
@RequestMapping("/user") 
public class UserController{ 

@Autowired 
@Qualifier("userService") /* 一个接口多个实现用name区分*/ 
private IUserService userService; 

@RequestMapping("/") 
public String list(Model model,HttpServletResponse response) { 

//1、保存cookie的值 
String token = UUID.randomUUID().toString(); 
Cookie cookie=new Cookie("token",token); 
cookie.setMaxAge(60*60*24); 
cookie.setPath("/"); 
response.addCookie(cookie); 

System.out.println("token: "+token); 
List<UserPO> list = null; 
model.addAttribute("userList", list); 
return "user/index"; 


private String getCookieToken(HttpServletRequest request){ 
Cookie[]cookies= request.getCookies(); 
for(Cookie c:cookies){ 
if(c.getName().equals("token")){ 
return c.getValue(); 


return null;


private void addCookie(HttpServletResponse response,String token){ 
//redisService.set("user","token",user); 
Cookie cookie=new Cookie("token",token); 
cookie.setPath("/"); 
cookie.setMaxAge(60*60*24); 
response.addCookie(cookie); 


@RequestMapping("/{id}") 
public String get(@PathVariable String id, Model model, 
HttpServletRequest request, HttpServletResponse response){ 
//2、获取cookie的值 
String cookieToken=getCookieToken(request); 
System.out.println("token: "+cookieToken); 
if(cookieToken==null){ 
return null; 
}else{ 
// Users user=redisService.get(UserKeyPrefix.user, token, Users.class); 
/* 
* 还需要将cookie重新发给浏览器,重新设置token到redis 
* 以便于刷新过期时间 
*/ 
addCookie(response,cookieToken); 

UserVO user = new UserVO(); 
model.addAttribute("user", user); 
//"forward:index"; 
//return "redirect:index"; 
return "index"; 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值