在服务器端new cookie(new key,new value)会产生:服务区将创建出来的cookie(new cookie(key,data))返回给浏览器,并保存到浏览器中(response.add(cookie)),如果不设置cookie的失效时间,那么cookie的默认失效时间为关闭浏览器的时间,在下次访问服务器时浏览器会自动将cookie信息放到请求头当中。在服务器中如果需要获取只需要request.getCookie();
seesion 的工作原理:在服务器中request.getSession(),如果session当前访问时时携带的sessionid 为null或者服务器当中没有对应的session id的session则会新建一个session()同时创建一个sessionid 以cookie的形式传给浏览器,
代码:
Cookie cookie = new Cookie("JSESSIONID", sessionID);
response.addCookie(cookie);
下次在访问浏览器时就会将sessionid传到服务器中,就可以取出对应的session
如浏览器携带过来的session id 为在服务器中已经存在则取出的对应的session,
其中服务器session默认地存活时间为20min,因为当浏览器关闭时cookie会失效对应的sessionid 也会 失效,新打开浏览器无法访问以前的session了,会新建session这样一来若果不及时清除残留的session可能会占用 大量的服务器内存。在子窗口中session可以继续使用。