轻松实现在后端设置Cookie,并在前端取出对应的Cookie的方法

编程知识 更新时间:2023-04-03 21:51:12

现在一般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的方法

本文发布于:2023-04-03 21:51:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/3d5b4c2c44378a2b2d82a1730f781087.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:并在   后端   轻松   方法   Cookie

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!

  • 40103文章数
  • 14阅读数
  • 0评论数