(十 一)会话管理

1

    Cookie技术:会话数据保存在浏览器端。

    Session技术: 会话数据保存在服务器端。


2

    1cookie的数据类型一定是字符串,如果要发送中文,必须先对中文进行URL加密才可以发送。

    2setPathpath): 修改cookie所在的有效路径。如果把该cookie设置到某个有效路径下,然后浏览器访问这个有效路径的时候,才会携带cookie数据给服务器。

    3 setMaxAge(整数)

      正整数: 表示超过了正整数的时间,cookie就会丢失 单位:秒

      负整数: 表示如果浏览器关闭了,cookie就会丢失

       0   :  表示删除同名的cookie

    4cookie可以有多个,但是浏览器一般只允许存放300Cookie,每个站点最多存放20Cookie,每个Cookie的大小限制 为4KB


3

    Cookie特点:

    1)会话数据放在浏览器端

    2)数据类型只能string,而且有大小限制的

    3)相对数据存放不安全。

 

    Session特点:

    1)会话数据放在服务器端(服务器内存),占用服务器资源

    2)数据类型任意类型,没有大小限制的。

    3)相对安全


4

    HttpSession对象:

    1)创建HttpSession对象,用于保存会话数据

    session = request.getSession();   创建或获取session对象

    2)修改HttpSession对象

    void setMaxInactiveInterval(int interval)  设置session对象的有效时间

    void invalidate()   手动销毁session对象

    3)保存会话数据(作为域对象)

    session.setAttribute("name",Object);  保存数据

    session.getAttribute("name")   获取数据

    session.removeAttribute("name") 删除数据


5

   通过cookie中的JSESSIONID在服务器中查询对应的session对象

   如果找不到,可能直接返回null,或者再创建新的session对象

6

   setMaxInactiveInterval(秒数)  默认30分钟

7

    <!-- 设置全局的session对象的过期时间 (分钟)-->

    <session-config>

    <session-timeout>1</session-timeout>

    </session-config>

8

  修改session有效时间

  Cookie c = new Cookie("JSESSIONID",session.getId());

  c.setMaxAge(60*60);  一小时

  response.addCookie(c);

  立即销毁   invalidate();

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值