1. 什么是Cookie
Cookie是HTTP协议的规范之一,指某些网站为了辨别用户身份、进行session跟踪而储存在用户本地终端上的数据
首先由服务器通过响应头把Cookie传输给客户端,客户端会将Cookie保存起来。
当客户端再次请求同一服务器时,客户端会在请求头中添加该服务器保存的Cookie,发送给服务器。
2. HTTP协议指定的Cookie规范
Cookie通过请求头和响应头在服务器与客户端之间传输;
Cookie大小限制在4KB之内;
一台服务器在一个客户端最多保存20个Cookie;
一个浏览器最多可以保存300个Cookie;
(但是浏览器并没有完全遵守)
3.Cookie作用
服务器可以利用Cookies包含信息的任意性来筛选并经常性维护这些信息,以判断在HTTP传输中的状态。Cookies最型典
型的应用是判定注册用户是否已经登录网站,用户可能会得到提示,是否在下一次进入此网站时保留用户信息以便简化
登录手续,这些都是Cookies的功用。另一个重要应用场合是“购物车”之类处理。用户可能会在一段时间内在同一家网
站的不同页面中选择不同的商品,这些信息都会写入Cookies,以便在最后付款时提取信息。
4. Cookie与请求头和响应头
服务器向客户端发送Cookie的响应头为Set-Cookie,例如:Set-Cookie:cookiename=cookievalue
客户端向服务器发送Cookie的请求头为Cookie,例如:Cookie:cookiename=cookievalue
5. Servlet中向客户端发送Cookie
Cookie cookie1 = new Cookie("Name", "Tom");
response.addCookie(cookie1);
6. Servlet中获取客户端发送过来的Cookie
Cookie[] cookies = request.getCookies();
if(cookies != null) {
for(Cookie c : cookies) {
System.out.println(c.getName() + ":" + c.getValue());
}
}
-------------------------------------------------
1.Cookie生命周期
默认浏览器关闭后清除
*设置Cookie生命时长方法:
cookie.setMaxAge(intValue);
——intValue的单位为秒,表示Cookie的有效时间
2.Cookie路径
Cookie路径是指Cookie归还给服务器路径
Cookie路径是服务器创建改Cookie是设置的
默认路径:当前页面所在目录
3.Cookie的域
由于不同项目Cookie的共享
Cookie是HTTP协议的规范之一,指某些网站为了辨别用户身份、进行session跟踪而储存在用户本地终端上的数据
首先由服务器通过响应头把Cookie传输给客户端,客户端会将Cookie保存起来。
当客户端再次请求同一服务器时,客户端会在请求头中添加该服务器保存的Cookie,发送给服务器。
2. HTTP协议指定的Cookie规范
Cookie通过请求头和响应头在服务器与客户端之间传输;
Cookie大小限制在4KB之内;
一台服务器在一个客户端最多保存20个Cookie;
一个浏览器最多可以保存300个Cookie;
(但是浏览器并没有完全遵守)
3.Cookie作用
服务器可以利用Cookies包含信息的任意性来筛选并经常性维护这些信息,以判断在HTTP传输中的状态。Cookies最型典
型的应用是判定注册用户是否已经登录网站,用户可能会得到提示,是否在下一次进入此网站时保留用户信息以便简化
登录手续,这些都是Cookies的功用。另一个重要应用场合是“购物车”之类处理。用户可能会在一段时间内在同一家网
站的不同页面中选择不同的商品,这些信息都会写入Cookies,以便在最后付款时提取信息。
4. Cookie与请求头和响应头
服务器向客户端发送Cookie的响应头为Set-Cookie,例如:Set-Cookie:cookiename=cookievalue
客户端向服务器发送Cookie的请求头为Cookie,例如:Cookie:cookiename=cookievalue
5. Servlet中向客户端发送Cookie
Cookie cookie1 = new Cookie("Name", "Tom");
response.addCookie(cookie1);
6. Servlet中获取客户端发送过来的Cookie
Cookie[] cookies = request.getCookies();
if(cookies != null) {
for(Cookie c : cookies) {
System.out.println(c.getName() + ":" + c.getValue());
}
}
-------------------------------------------------
a.jsp保存Cookie,b.jsp获取Cookie
-------------------------------------------------
a.jsp:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>My JSP 'a.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head>
<body>
<%
Cookie cookie1 = new Cookie("name","Tom");
response.addCookie(cookie1);
Cookie cookie2 = new Cookie("number","101");
response.addCookie(cookie2);
%>
</body>
</html>
b.jsp:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>My JSP 'b.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head>
<body>
<%
Cookie[] cookies=request.getCookies();
if(cookies!=null){
for(Cookie c:cookies){
out.print(c.getName()+":"+c.getValue());
out.write("<br/>");
}
}
%>
</body>
</html>
*Cookie相关
1.Cookie生命周期
默认浏览器关闭后清除
*设置Cookie生命时长方法:
cookie.setMaxAge(intValue);
——intValue的单位为秒,表示Cookie的有效时间
2.Cookie路径
Cookie路径是指Cookie归还给服务器路径
Cookie路径是服务器创建改Cookie是设置的
默认路径:当前页面所在目录
3.Cookie的域
由于不同项目Cookie的共享