现在一般Spring或者SpringBoot的话都已经集成Cookie的获取方法,想要更简单便捷的话可以自行去了解下,这边主要是分享下手动编写获取的Cookie的工具类
话不多说,直接上代码
后端代码
public class CookieUtil {
// 获取Cookie的方法
public static String getCookie(HttpServletRequest request, String cookieid) {
Cookie[] cookies = request.getCookies();
String login_number = "";
if(cookies!=null&&cookies.length>0){
for (Cookie cookie : cookies) {
String name = cookie.getName();
if(cookieid.equals(name)){
login_number = cookie.getValue();
}
}
}
return login_number;
}
// 设置Cookie值的方法
public static void setCookieValue(HttpServletRequest request,
HttpServletResponse response, String cookieName, String cookieValue, Integer maxAge){
//TODO 对Cookie进行加密封装
Cookie cookie = new Cookie(cookieName, cookieValue);
cookie.setMaxAge(maxAge); // Cookie的存活时间(自定义)
cookie.setPath("/"); // 默认路径
response.addCookie(cookie);
}
// 设置Cookie编码(设置Cookie的话,直接调用这个方法即可,内部会去调用设置值的方法)
public static void setCookie(HttpServletRequest request,
HttpServletResponse response,
String cookieName,
String cookieValue,
Integer maxAge){
try {
cookieValue = URLEncoder.encode(cookieValue,"utf-8");
setCookieValue(request,response,cookieName,cookieValue,maxAge);
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
}
// 删除Cookie
public static void deleteCookie(HttpServletRequest request,
HttpServletResponse response,
String cookieName) {
try {
String deleteValue = URLEncoder.encode("", "utf-8");
setCookieValue(request, response, cookieName, deleteValue, 0);
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
}
}
JS代码
这个方法可以取出你在浏览器存储的Cookie
// user_name是你设置的Cookie键
var userName = getCookie(“user_name”);
//查询名字为findCookieName的cookie值
function getCookie(cookieName) {
//获取所有的Cookie,在strCookie是一个包含所有cookie的字符串。
var strCookie = document.cookie;
//以;为分隔符将所有的cookie进行分割。将获得的所有cookie切割成数组
var arrCookie = strCookie.split("; ");
//通过for循环进行遍历arrCookie数组。
for(var i = 0; i < arrCookie.length; i++){
//通过=进行分割,将本次循环的cookie分割为名字(等于号前),值(等于号后面)
var arr = arrCookie[i].split("=");
//将本次循环的cookie名字与需要查找的cookie进行比较
if(cookieName == arr[0]){
//返回指定cookie的值
return arr[1];
}
}
//未查找到指定的cookie返回空。
return "";
}
到此,文章结束,感谢观看。✿✿ヽ(°▽°)ノ✿
更多推荐
轻松实现在后端设置Cookie,并在前端取出对应的Cookie的方法
发布评论