概念
客户端会话技术, 将数据保存到客户端
快速入门
使用步骤:
- 创建Cookie对象, 绑定数据
- 发送Cookie对象
- 获取Cookie , 拿到数据
原理
图片来源与"黑马程序员"的视频
代码示例
创建两个Servlet对象,分别为CookieDemo1和CookieDemo2,在CookieDemo1发送数据.在CookieDemo2接收数据
CookieDemo1
package cookie;
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;
import java.io.IOException;
@WebServlet("/cookieDemo1")
public class CookieDemo1 extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//创建cookie对象
Cookie c = new Cookie("msg","hello");
//发送cookie
response.addCookie(c);
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doPost(request, response);
}
}
CookieDemo2
package cookie;
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;
import java.io.IOException;
@WebServlet("/cookieDemo2")
public class CookieDemo2 extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//获取cookie
Cookie[] cs = request.getCookies();
//获取数据, 遍历Cookies
if (cs != null) {
for (Cookie c : cs) {
String name = c.getName();//对应名称
String value = c.getValue();//对应值
System.out.println(name+":"+value);
}
}
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doPost(request, response);
}
}
在同一个浏览器访问, 先访问 CookieDemo1 , 再访问 CookieDemo2 , 控制台打印结果如下