SpringMVC框架操作

创建Cookie

可以在目标方法内加入HttpServletResponse形参,在方法内创建Cookie并返回即可

	@RequestMapping("/cookie")
	public String creatCookie(User user,HttpServletResponse response){
		//创建cookie对象
		Cookie ck = new Cookie(user.getUname(), user.getPsw());
		//设置Cookie有效时间,单位为妙
		ck.setMaxAge(60*60*24);
	  //设置Cookie的有效范围,/为全部路径
		ck.setPath("/");
		//将Cookie响应到客户端
		response.addCookie(ck);
		return "success";
	}

在客户端获取cookie

在客户端可通过js获取cookie,但是获取到的是一个cookie字符串,需要对字符串进行分割,可以使用jQuery的cookie的js对cookie进行操作

不使用jQuery,获取到所有的cookie集合字符串

function cookie(){
	var ck = document.cookie;
	alert(ck);
}

使用jQuery可以直接指定cookie的key值来获取指定cookie的value值

function cookie(){
	 var ck = $.cookie("key值");	
	alert(ck);
}

在后台获取cookie

在后台获取cookie可以使用两种方法

使用原生方式获取,可以在目标方法内添加HttpServletRequest类型的形参,通过request获取

	@RequestMapping("/getcookie")
	public String getCookie(HttpServletRequest request ){
		Cookie[] cookies = request.getCookies();
		for (Cookie cookie : cookies) {
			if(cookie.getName().equals("uname")){
			     cookie.setValue("unameValue");
			}
		}
		return "success";
	}

使用注解方式获取

在目标方法中加入一个字符串,在其前加注解,直接将cookie指定的key的值赋值给该字符串required表示该cookie可能不存在对应的key

@RequestMapping("/getCookie")
	public String getCookie(@CookieValue(value="aaa",required=false) String uname){
		System.out.println(uname);
		return "success";
	}

猜你喜欢

转载自blog.csdn.net/qq_36677358/article/details/84563809