Cookie
会话技术简介
1. 会话:一次会话中包含多次请求和响应。
一次会话:浏览器第一次给服务器资源发送请求,会话建立,直到有一方断开为止
2. 功能:在一次会话的范围内的多次请求间,共享数据
3. 方式:
1. 客户端会话技术:Cookie
2. 服务器端会话技术:Session
-----------------------------------------------------------------------------------
【1】概念:客户端会话技术,将数据保存到客户端
【2】使用步骤:
1) 创建Cookie对象,绑定数据
new Cookie(String name, String value)
2)发送Cookie对象
response.addCookie(Cookie cookie)
3)获取Cookie,拿到数据
Cookie[] request.getCookies()
【3】实现原理
基于响应头set-cookie和请求头cookie实现
共享数据
第一次浏览器向服务器请求cookie资源,服务器便响应发送响应头set-cookie:键值对,浏览器获取数据保存在本地,第二次浏览器向服务器发送请求头cookie:键值对,服务器获取cookie数据
@WebServlet("/CookieDemo1")
public class CookieDemo1 extends HttpServlet {
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//1.创建Cookie对象
Cookie c = new Cookie("msg","hello");
//2.发送Cookie
response.addCookie(c);
}
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
this.doPost(request, response);
}
}
@WebServlet("/CookieDemo2")
public class CookieDemo2 extends HttpServlet {
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//3. 获取Cookie
Cookie[] cs = request.getCookies();
//获取数据,遍历Cookies
if(cs != null){
for (Cookie c : cs) {
String name = c.get