Cookie
Posted 离落想AC
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Cookie相关的知识,希望对你有一定的参考价值。
Cookie
存在于客户端,而且不是内置对象,使用的时候得new。
是由服务端生成的,再发送给客户端保存。
相当于本地缓存的作用:
举个例子:比如我们在电脑上看电影会缓存。
电脑(客户端)——>第一次播放(请求) ——>电影(服务端),电影缓存到本地(服务端生成cookie并发送给客户端)
电脑(客户端)——>第二次播放(请求) ——>电影(服务端)直接在本地缓存看(服务端生成的cookie发挥作用)
**优点:**可以提高效率
**缺点:**容易泄露信息,安全性较差。
Cookie : name = value
javax.servlet.http.Cookie ; 类
public Cookie(String name, String value) ; 构造
String getName() ;获取name
String getValue() ;获取value
void setMaxAge(int expiry) ;最大有效期(秒)
服务端发送给客户端:
服务端准备Cookie:
response.addCookie(Cookie cookie)
页面跳转(请求转发,重定向)
客户端获取cookie:
request.getCookie();
注意:
a、服务端增加cookie对象 用response对象 ;客户端获取cookie 用request对象;
b、不能直接获取某一个单独的对象,只能一次性将全部的cookie拿到。
response_addcookie.jsp代码
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<%
//服务端
Cookie cookie1 = new Cookie("name","zs");
Cookie cookie2 = new Cookie("pwd","abc");
response.addCookie(cookie1);
response.addCookie(cookie2);
//页面跳转到客户端(转发、重定向)
response.sendRedirect("result.jsp");
%>
</body>
</html>
result代码
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<%
//服务端
Cookie cookie1 = new Cookie("name","zs");
Cookie cookie2 = new Cookie("pwd","abc");
response.addCookie(cookie1);
response.addCookie(cookie2);
//页面跳转到客户端(转发、重定向)
response.sendRedirect("result.jsp");
%>
</body>
</html>
运行
通过F12可以发现 除了自己设置的Cookie对象外,还有一个name为JSESSIONID的cookie,再加一个name为Pycharm的cookie
以上是关于Cookie的主要内容,如果未能解决你的问题,请参考以下文章