会话技术:一次打开浏览器和关闭浏览器计算,包括cookie和session。
cookie:
Cookie cookie = new Cookie("name", "value");
response.addCookie(cookie);
Cookie[] cookies = request.getCookies();
设置cookie有效路径:setPat();
设置cookie有效期:setMaxAge(int expiry) 按秒计算
expiry=0:删除cookie
expiry<0:关闭浏览器则cookie丢失。
cookie是服务器发送给浏览器,保存在浏览器。它只能接受非中文字符的字符串,而且每个浏览器可以接受得cookie不超过300个,每个站点能够保存的不超过20个,每个cookie大小不超过4KB。因此若想保存非字符串,超过4KB,就得使用session。
session
HttpSession session = request.getSession();这个语句和带true的一样
HttpSession session = request.getSession(false);若有session,则得到相应的session,没有匹配的sessionid,则返回Null
session.setMaxInactiveInterval() 设置session的最大期限
session.invalidate() 摧毁session
session.getId()
session.setAttribute()
session.getAttribute() 这个方法的返回值类型是Object,与session只能传字符串不同
session是保存在浏览器端。一个浏览器独占一个session。创建每个session的时候,分配一个唯一的id,当浏览器访问一个session的时候,得到一个对应的sessionid,以cookie的方式发送过来,叫JSESSIONID。当浏览器再次访问这个session,对比id,若有相同的,则得到对应的sesion。