《学习内容》:
//========学习内容=========
Sesiion管理机制
服务端操作Cookie
《知识点—笔记》
//=========================
Cookie cookie = new Cookie(“”,””); 创建一个cookie对象 —-参数是两个String参数
cookie.getName; 获取Cookie的key——名字
cookie.getValue; 获取cookie的Value—-JSSONID值
cookie.setMaxAge(int毫秒) 用来操作cookie的存在时间
《代码内容》:
主要思路—->Sesiion底层实现是每个Session对象分配了一个ID(Cookie) Cookie是存在浏览器的,然后如何保持
Session对象是一份的呢?底层Sesiion管理类中 用了静态的一个HashMap集合 来存储这些Session对象。
Cookie是在浏览器发送第一次请求的时候,服务器响应之后,顺带给他响应回去了一个Cookie 然后浏览器接收到
这个Cookie 在下一次请求的时候通过String类型给他携带走了,然后服务器又通过解析,把他包装成了一个Cookie对象
存在了request对象中。
Index.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<%
Cookie cookie = new Cookie("test", "testValue");
response.addCookie(cookie);
%>
<head>
<title>测试</title>
</head>
<body>
<a href="test">点我吧!</a>
</body>
</html>
TestCont**roller**
package controller;
import javax.servlet.ServletException;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
public class TestController extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
this.doGet(request,response);
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
Cookie[] cookies = request.getCookies();
for (Cookie cookie : cookies){
String cookieName = cookie.getName();
String cookieValue = cookie.getValue();
System.out.println(cookieName+"---"+cookieValue);
}
}
}
学习总结:
学懂的:
Sesiion底层**实现是每个Session对象分配了一个ID(Cookie) Cookie是存在浏览器的,然后如何保持
Session对象是一份的**呢?底层Sesiion管理类中 用了静态的一个HashMap集合 来存储这些Session对象。
Cookie是在浏览器发送**第一次请求的时候,服务器响应之后,顺带给他响应回去了一个Cookie 然后浏览器接收到
这个Cookie 在下一次请求的时**候通过String类型给他携带走了,然后服务器又通过解析,把他包装成了一个Cookie对象
存在了requ**est对象中。
有问题的地方:
无