不是客户端请求服务端的时候,服务端都会向客户端写入JSESSIONID。
那么什么时候,才会有 JSESSIONID呢?
执行request.getSession的时候就会向客户端写JSESSIONID。
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
//执行request.getSession的时候就会向客户端写JSESSIONID
HttpSession session = request.getSession();
Cookie[] cookies = request.getCookies();
Cookie cookie = CookieUtils.findCookieByName(cookies, "last");
if(cookie!=null){
String value = cookie.getValue();
long time = Long.parseLong(value);
Date date = new Date(time);
response.getWriter().write("您上次访问的时间是:"+date.toLocaleString());
Cookie c = new Cookie("last", System.currentTimeMillis()+"");
c.setMaxAge(60*60);
response.addCookie(c);
}else{
Cookie c = new Cookie("last", System.currentTimeMillis()+"");
c.setMaxAge(60*60);
response.addCookie(c);
response.getWriter().write("近一天,你是第一次访问");
}
}
注意:第一次访问的时候也是没有JSESSIONID的,因为第一次访问的时候服务端刚向客户端写入JSESSIONID,第二次访问就会有。