会话技术Cookie原理分析和Cookie发送多个Cookie
会话技术Cookie原理分析
基于响应头set-cookie和请求头cookie实现的

客户端给服务器发送一次请求,服务器给浏览器返回一次响应。因为有会话,我们得有多次请求应证这个过程。
首先第一次请求完成,服务器会携带一些数据响应给浏览器。
浏览器发现了这些数据之后,把这些数据保存在浏览器本地。
保存完成后,下一次请求又会把这些数据带着去发送下一次请求。
相当于这两次请求响应之间进行了数据的共享问题。
所以最终这个数据存储在客户端浏览器。
Cookie发送多个Cookie
可以创建多个Cookie对象,使用response调用多次addCookie方法发送cookie即可。
@WebServlet("/cookieD3")
public class CookieD3 extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
//创建Cookie对象
Cookie c1 = new Cookie("msg", "hello");
Cookie c2 = new Cookie("name", "zhangsan");
//发送Cookie
resp.addCookie(c1);
resp.addCookie(c2);
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
this.doGet(req, resp);
}
}
获取Cookie类:
@WebServlet("/cookieD2")
public class CookieD2 extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
//获取Cookie
Cookie[] cs = req.getCookies();
//获取数据,遍历Cookies
if (cs!=null){
for (Cookie c : cs) {
String name = c.getName();
String value = c.getValue();
System.out.println(name+""+value);
}
}
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
this.doGet(req, resp);
}
}
访问3在访问2就可以获取多个cookie


浙公网安备 33010602011771号