Session和Cookie知识点注意事项

 
1 会话概念:简单的理解,当你打开浏览器,然后点击超链接,访问服务器资源,最后断开链接就是一次会话。
  
2 Cookie常用API:

     创建Cookie:Cookie cookie = new Cookie(String name,String value),

     设置Cookie存活时间:cookie.setMaxAge();

     添加cookie到客户端:response.addCookie(cookie);【上面三个一般都是配套使用的】

     得到所有的Cookie: Cookie[] cookies = request.getCookies();【请注意返回的是Cookie[]】

     得到Cookie的名字和值:cookie.getName,cookie.getValue

    让cookie死亡可以设置Cookie的存活时间为0;

3 Cookie细节和缺点

      *   更新Cookie必须保证Cookie的名一致,否则为添加新的Cookie

      *  一个浏览器可以接收多个Web站点的Cookie信息

      * 一个浏览器存发Cookie的数目和容器有限

      *  通过程序方式删除Cookie的name和path要一致,其中path默认即当前web应用名,比例/day06

   Cookie的缺点:1.Cookie只能接受String类型的参数;2.安全级别低,用户可以自行删除Cookie

4 HttpSession常用API

    获得HttpSession:  HttpSession session = request.getSession(),

    获得session的ID:sessin.getId();

    绑定信息到session:session.setAttribute("Name",username)

    转发:RequestDispatcher rd = request.getRequestDispatcher("/Demo42");
               rd.forward(request,response);

5 HttpSession细节和缺点

    a)在servlet中,只能request.getSession()才能在服务端创建与之对应的HttpSession
    b)request.getSession()有二义性:
            i)创建HttpSession,无->有
            ii)查询已存在的HttpSession,有->有
            iii)创建HttpSession时,可以使用二种方式
                              * request.getSession():返回值必须有HttpSession(旧,新HttpSession)
                              * request.getSession(false) :返回值要么为旧HttpSession,要么为null值,但不会报错
   c)在默认情况下,每个浏览器独享HttpSession,关闭后再打开,不能共享原HttpSession中的数据
   d)可以以手工方式写一个名为JSESSIONID的Cookie,这样可以在多个浏览器中共享原HttpSession中的数据
   e)HttpSession的底层可以基于二种方式
           >>Cookie形式
           >>?jsessionid=******(即URL重写)

  缺点:
       a)HttpSession受限于web服务器的运行内存空间
           解决方案:使用web服务器自带的挂起和激活功能来解决HttpSession空间受限的问题
       b)创建HttpSession的代码具有二义性,慎用

 

  

6 案例
   1)显示用户最近浏览器过的图书
   2)购物车系统V1版
   3)用户登录系统V1版

7 HttpSession如何销毁

8 什么样的场景下选用不同的域对象[request/session/context]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值