ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

日常(Cookie)

2022-04-26 21:33:47  阅读:110  来源: 互联网

标签:浏览器 路径 cookie 日常 Cookie response 客户端


#反正听见这个饿了很正常的。

会话:

保存会话过程中产生的数据,在 Servlet 技术中,提供了两个用于保存会话数据的对象, 分别是 Cookie 和 HttpSession。

Cookie 通过在客户端记录信息确定用户身份,HttpSession 通过在 服务器端记录信息确定用户身份。

 

Cookie:response.setContentType("text/html;charset=utf-8");

<1>Cookie 就是一个键和一个值构成的键值对(一键一值),保存客户端小片段数据。

一般来说:

➢ Cookie 大小上限为 4KB;

➢ 一个服务器最多在客户端浏览器上保存 20 个 Cookie;

➢ 一个浏览器最多保存 300 个 Cookie;

但是由于浏览器行业竞争,有些cookie的大小上限被提高,保存数量也大幅提升。不同浏览器之间不共通cookie数据

 

<2>Cookie 是通过 HTTP 请求头和响应头在客户端和服务器端传递的。

请求头:Cookie: name1=value1;name2=value2;//以分号间隔断开

响应头:set-Cookie:name1=value1;//一个对象一个set-Cookie;

 

 

<3>Cookie 覆盖刷新

cookie是保持一键一值,只要键名一致,值是会不断被刷新覆盖的。

 

<4>Cookie 的生命周期

生命就是 Cookie 在客户端的有效时 间,可以通过“ setMaxAge(int) ”来设置 Cookie 的有效时间。

1.Cookie.setMaxAge(-1);意味着cookie被设置为默认值,这是cookie的生命只存在于浏览器上,浏览器一旦关闭则,该cookie就会消失

2.Cookie.setMaxAge(0);意味着cookie被销毁作废。

3.Cookie.setMaxAge(60*60*24);意味着cookie被储存在所使用的浏览器所在硬盘里,括号内顺序分别是,秒,分钟....以此类推,总之单位为秒

    protected void doGet(HttpServletRequest request, HttpServletResponse response) 
throws ServletException, IOException {

String lastAccessTime = null;
Cookie[] cookies = request.getCookies();

for (int i = 0; cookies != null && i < cookies.length; i++) {
if ("lastAccess".equals(cookies[i].getName())) {
// 如果 cookie 的名称为 lastAccess,则获取该 cookie 的值
lastAccessTime = cookies[i].getValue();
break;
}
}
response.setContentType("text/html;charaset=utf-8");
if (lastAccessTime == null) {
System.out.println("hello");
response.getWriter().print("hello");
} else {
System.out.println("the last" + lastAccessTime);
response.getWriter().print("the last" + lastAccessTime);
}

String currentTime = new SimpleDateFormat("yyyy-MM-dd-HH:mm:ss").format(new Date());
Cookie cookie = new Cookie("lastAccess", currentTime); // 创建一个名为 lastAcces

cookie.setMaxAge(60); // 设置 Cookie保持时间为1分钟
response.addCookie(cookie);
}
}

使用response发送Cookie,request获取Cookie

 

<5>Cookie的路径

1.设置 Cookie 的 path 来指定浏览器在访问什么样的路径时,包含哪一些 Cookie。避免cookie的发送冗余。

2.Cookie的path并不是设置客户端的保存路径,而是由服务器创建 Cookie 时设置,Servlet 的路径作为 Cookie 的默认 path。当浏览器访问服务器某个路径时,需要归还哪些 Cookie 给服务器,这由 Cookie 的 path 决定。浏览器访问服务器的路径,如果包含某个 Cookie 的路径,那么就会归还这个 Cookie。

3.@WebServlet("路径设置")

标签:浏览器,路径,cookie,日常,Cookie,response,客户端
来源: https://www.cnblogs.com/capo-0737/p/16193769.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有