设置和获取Cookie
1、后端设置Cookie
@RequestMapping("/setcookie")
@ResponseBody
public String fun3(String jsonp, HttpServletResponse response) throws UnsupportedEncodingException {
String name1 = "张三";
name1 = URLEncoder.encode(name1, "utf-8"); // URL编码
Cookie c1 = new Cookie("username1", name1);
response.addCookie(c1);
String name2 = "李四";
Cookie c2 = new Cookie("username2", name2);
response.addCookie(c2);
if(jsonp != null && jsonp.length() > 0) { // jsonp请求
return jsonp + "(" + "{\"name\":\"测试\",\"age\":10}" + ")";
} else {
return "{\"name\":\"测试\",\"age\":10}";
}
}

2、后端获取Cookie
@RequestMapping("/getcookie")
@ResponseBody
public Object fun2(String jsonp, @CookieValue String username1,
@CookieValue String username2, HttpServletRequest req) {
// 通过注解@CookieValue获取cookie的值会自动进行URL解码
System.out.println("username1: " + username1); // username1: 张三
// cookie设置的时候没有进行URL编码
System.out.println("username2: " + username2); // username2: 李四
Cookie[] cookies = req.getCookies();
if (cookies != null && cookies.length > 0) {
for (Cookie c : cookies) {
// username1: %E5%BC%A0%E4%B8%89
// username2: 李四
System.out.println(c.getName() + ": " + c.getValue());
}
}
Map<String, Object> result = new HashMap<>();
result.put("username1", username1);
result.put("username2", username2);
return result;
}
3、前端获取Cookie (使用jquery.cookie.js)
@RequestMapping("/page/{pageName}")
public String fun2(@PathVariable String pageName) {
return "user/" + pageName;
}
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Insert title here</title> <script type="text/javascript" src="../js/jquery-1.8.3.min.js"></script> <script type="text/javascript" src="../js/jquery.cookie.js"></script> </head> <body> 姓名1: <input id="username1" type="text" name="username1" value=""/> 姓名2: <input id="username2" type="text" name="username2" value=""/> </body> <script type="text/javascript"> var obj = $("#username1"); alert($.cookie("username1")); obj.val($.cookie("username1")); var obj = $("#username2"); alert($.cookie("username2")); obj.val($.cookie("username2")); </script> </html>
前端使用jquery.cookie.js获取Cookie:

4、URL编码和解码
package com.oy; import java.net.URLDecoder; import java.net.URLEncoder; import java.util.UUID; import org.junit.Test; public class Demo { @Test public void demo1() throws Exception { String name = "张三123abc"; String s = URLEncoder.encode(name, "utf-8"); // URL编码 System.out.println(s); // %E5%BC%A0%E4%B8%89123abc s = URLDecoder.decode(s, "utf-8"); // URL解码 System.out.println(s); // 张三123abc } }
5、jquery.cookie.js插件的使用
(2)jquery.cookie.js——jquery的cookie插件
6、js-cookie
1)https://blog.csdn.net/sleepwalker_1992/article/details/86100967
7、JavaScript Cookie
1)https://blog.csdn.net/sleepwalker_1992/article/details/85787099
posted on 2019-05-10 23:43 wenbin_ouyang 阅读(2255) 评论(0) 收藏 举报
浙公网安备 33010602011771号