结论: 浏览器一开始发送cookie到服务器器, 如下:
如果有JSESSIONID 则获取session服务,否则新建一个session服务!并且通知浏览器保存
如下图
代码:
<%@ page language="java" contentType="text/html;" pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Insert title here</title>
</head>
<body>
hell12233你好--d
<%
Cookie cookie1 = new Cookie("ddd","2334"); // 新建Cookie
cookie1.setMaxAge(5); // 设置生命周期为MAX_VALUE
response.addCookie(cookie1); // 输出到客户端
Cookie cookie2 = new Cookie("fff","jjd222");
//cookie2.setMaxAge(1000); //不设置 浏览器 失效
response.addCookie(cookie2);
Cookie[] cookies = request.getCookies();//这样便可以获取一个cookie数组
String strCks="";
if(cookies!=null){
for(Cookie cookie : cookies){
strCks=strCks+cookie.getName() +"::";// get the cookie name
strCks=strCks+cookie.getValue()+"--"; // get the cookie value
}
}
HttpSession si= request.getSession();
if(si==null){
out.print("<br>si是空值<br>");
}
%>
<br> session : <%= si%>
<br> session_id: <%= request.getSession().getId() %>
<br> strCks= <%=strCks %>
</body>
</html>
调试结果: