一,Session简介
服务器没有短暂记忆,一旦响应后就不再记得上次请求信息,所以需要session来保存请求信息;
1,通过 request. getSession 获得session,这个接口会返回已有的session,如果没找到,则会创建新的session
2,HttpSession的管理都由容器来负责,在服务端不需要写复杂的代码
3,设置session属性; setSessionAttribute
二,Cookie
cookie作为服务器和客户端之间数据交互的载体;
1,Cookie可以作为Session的载体
2,如果客户端禁用了cookie,可以通过response.encodeUrl对Url进行重写,这个接口会在请求的url后面加入session
三,删除会话
1,可以设置超时时间
在DD文件里可以对所有的Session统一设置时间,也可以通过接口setMaxInactiveInterval设置单个session的请求间隔时间
2,可以直接调用invalidate删除会话
3,应用结束(崩溃或者取消部署)
四,配置Cookie
1,除了可以附带session,cookie还可以添加其他的字段
2,使用已经封装好的HttpServletRequest,HttpServletResponse,Cookie对cookie进行配置
3,添加cookie字段
Cookie cookie = new Cookie("username","zhou"); cookie.setMaxAge(30*60); //以秒为单位,如果设置为-1,则浏览器退出就消失 response.addCookie(cookie);4,打印cookie信息
Cookie[] cookies = req.getCookies(); for(int i=0;i<cookies.length;i++) { out.println("the cookie i = " + i + " the name is " + cookies[i].getName() + " the value is " + cookies[i].getValue()); out.println("<br> the max time is " + cookies[i].getMaxAge()); }