Web——HttpSession和HttpCookie

介绍

  HttpSession提供一种方式,跨多个页面请求或对 Web 站点的多次访问标识用户存储有关该用户的信息

  HttpSession是存在服务器的用来保存数据的域。

  (存在与作用)

  我的问题是:为什么显示个名字就能是自动登录了

能获取名字 ==》 能获取session ==》 session内对象还存在 ==》 对该对象的操作依然生效

  maven的clean可以直接删除target

 

方法  

    (HttpServletRequest的方法)

   HttpSession getSession()

    参数:无    

    返回值:HttpSession

    返回值意义:获取request请求头set-Cookie: 对应Session对象,如果没有生成HttpSession对象

    作用:获取request请求头set-Cookie: 对应Session对象,如果没有生成HttpSession对象

 

    (HttpSession的方法)

    String getId();

     参数:无

     返回值:String

     返回值意义:获取该httpSession对应的JSESSIONID值

     作用:获取该httpSession对应的JSESSIONID值

 

    void setAttribute(String name , String value)

      参数:

        String name: 存储的键名

        String value:存储的键值

      返回值:无

      返回值意义:无

      作用:在Session域中存储信息

 

    String getAttribute(String name)

      参数:

        String name:存储的键名

      返回值:String

      返回值意义:从Session中取出对应键值的数据

      作用:从Session中取出对应键值的数据

 

  (Cookie):Cookie实际使用率并不高,因为数据保存在客户端不安全。

  作用:用于保存用户信息,用于每次请求后自动提交。

  Cookie是保存在客户端的自定义消息头。服务器附加在响应头中,set-Cookie作为key,value:作为值

  ( 存在和作用)

  Cookie cookie(String key , String value)

    生成cookie对象

 

  void setPath(String url)

    设置cookie在客户端存放的路径

 

  setMaxAge(int age)

    设置cookie存活的秒数

 

  String getValue(String key)

    根据key值获取cookie的value值

 

Cookie cookie = new Cookie("newCook","1");
cookie.setPath("/");
cookie.setMaxAge(60*60);

 

      

使用

    1,30分钟无使用自然结束.(默认30分钟,可设置.方法:setMaxInactiveInterval(int)).
    2,手动杀死(方法:invalidate()).
    3,服务器非自然关机,session会被干掉.(自然关机的话,Session被钝化到硬盘)

posted @ 2021-08-25 04:48  remix_alone  阅读(85)  评论(0)    收藏  举报