概念:客户端会话技术,将数据保存到客户端
浏览器会自动存储Cookie,下一次请求会自动带着Cookie
使用步骤
1.创建Cookie对象,绑定数据(第一次请求)
new Cookie(String name,String value)
2. 发送Cookie对象(响应)
response.addCookie(Cookie cookie)
3.获取Cookie对象,拿到数据(第二次请求)
Cookie[] request.getCookie()
内部使用map的结构来存储数据
package cn.itcast.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; /** * @author 旗木五五开 * @create 2020-03-23 16:55 * 快速入门 */ @WebServlet("/cookieDemo1") public class CookieDemo1 extends HttpServlet { protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // 1.创建Cookie对象 Cookie c = new Cookie("msg", "hello"); // 2.发送Cookie(浏览器返回) response.addCookie(c); } protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { this.doPost(request, response); } }
package cn.itcast.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; /** * @author 旗木五五开 * @create 2020-03-23 17:01 */ @WebServlet("/cookieDemo2") public class CookieDemo2 extends HttpServlet { protected 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.getName(); String value = c.getValue(); System.out.println(name+":"+value); } } } protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { this.doPost(request, response); } }
这时候用其他浏览器访问demo2控制台上不会输出内容。因为cookie为空