欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 新闻 > 焦点 > Cookie的学习2.15

Cookie的学习2.15

2025/6/27 18:46:11 来源:https://blog.csdn.net/m0_62581697/article/details/145652025  浏览:    关键词:Cookie的学习2.15

一、cookie的概念 

Cookie是一种存储在客户端浏览器中的数据,用来跟踪用户状态。Cookie数据会在用户与服务器之间来回传递,因此它可以用来记录用户登录状态、存储用户偏好等信息。

Session是一种在服务器端存储数据的技术。当用户登录成功后,服务器会创建一个session对象并将其关联到用户的会话中。当用户再次请求服务器时,服务器会根据请求中的session ID来确定用户的身份,并且恢复出用户在会话中的状态。

二、什么是有状态会话?

什么是无状态会话?

 无状态会话

三、利用后端设置cookie 

1、setCookie
package test;import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;/*** Servlet implementation class SetCookie*/
@WebServlet("/SetCookie")
public class SetCookie extends HttpServlet {private static final long serialVersionUID = 1L;/*** @see HttpServlet#HttpServlet()*/public SetCookie() {super();// TODO Auto-generated constructor stub}/*** @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)*/protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {//服务器创建cookie对象Cookie cookie=new Cookie("account","admin");//设置cookie有效期cookie.setMaxAge(60*60);//将cookie相应给客户端response.addCookie(cookie);}/*** @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)*/protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {// TODO Auto-generated method stubdoGet(request, response);}}

2、getCookie
package test;import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.Cookie; // 修改:导入正确的 Cookie 类
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;/*** Servlet implementation class GetCookie*/
@WebServlet("/GetCookie")
public class GetCookie extends HttpServlet {private static final long serialVersionUID = 1L;/*** @see HttpServlet#HttpServlet()*/public GetCookie() {super();// TODO Auto-generated constructor stub}/*** @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)*/protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {// 获取所有的CookieCookie[] cookies = request.getCookies();// 检查是否有cookieif (cookies != null) {for (int i=0;i<cookies.length;i++) {System.out.println(cookies[i].getName() + "-->" + cookies[i].getValue()); // 修正:使用cookie.getValue()if(cookies[i].getName().equals("account")) {System.out.println("yes");}}} else {System.out.println("没有找到任何cookie");}}/*** @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)*/protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {// 调用doGet方法doGet(request, response);}}

四、利用前端写cookie 

我们需要先导入cookie的库

有两种方法可以导入

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<script src="js/jquery.js"></script>
<script src="js/jquery.cookie.js"></script>

在前端导入cookie的包,然后在<script><\script>标签里面进行操作,例如:

<script>document.cookie="eat=apple;max-age="+30*60console.log(document.cookie)$.cookie('color', 'red', { expires: 7 }); // $.cookie() 括号里面不传参,即获取所有// $.removeCookie() 删除 cookie
</script>

$.removeCookie() 删除 cookie
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<script src="js/jquery.js"></script>
<script src="js/jquery.cookie.js"></script>
<script>document.cookie="eat=apple;max-age="+30*60console.log(document.cookie)$.cookie('color', 'red', { expires: 7 }); // $.cookie() 括号里面不传参,即获取所有$.removeCookie('eat')
</script>
</head>
<body></body>
</html>

 

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词