6.1 Session

来源:互联网 发布:mac系统升级10.12.6 编辑:程序博客网 时间:2024/05/17 08:27

一,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());}



0 0