Cookie和Session详解

一、Cookie的案例:记录用户最近商品的访问记录

二、HttpSession概述及原理探讨

得到HttpSession对象:
    HttpServletRequest.getSession():根据特殊Cookie(JSESSIONID=HttpSession对象的id,由服务器生成,唯一的)的取值,在服务器的内存中根据id查找
                                    这个HttpSession对象,找到了,取出来继续服务;没有找到,创建一个新的HttpSession对象。
    HttpServletRequest.getSession(boolean b):如果b为true,与上面方法功能完全一致。如果为false,只查询。

三、HttpSession案例:

*****完成用户的一次性登录(随机验证码验证)
*****简单购物原理案例
*****防止表单的重复提交(Base64编码)
    Base64编码原理:把3个字节转换为4个字节
                        1010 1100    0101 1111     1010 0101
        转成4个字节   0010 1011    0000    0101   0011 1110   0010 0101
                转成4个字节后,每一个字节表示的最大和最小数:00111111 ~  00000000
                                                                63~0共64个整数,所以称之为Base64,它其实是一个码表,每个数字对应一个可见字符
        
    java.util.UUID:通用的唯一标识符

四、客户端禁用Cookie后的会话数据保存问题

    客户端禁用Cookie对http://localhost访问的无效
    
    url---->url;JSESSIONID=123:URL重写.必须对网站中的所有URL地址都重写。
    HttpServletResponse.encodeURL(url):是一个智能方法。判断用户是否禁用了Cookie,没有禁用,则不重写;禁用了就重写。
    
    
    网站主页:为了更好访问本网站,请不要禁用您的Cookie。

五、HttpSession对象的状态及转换(序列化)

1、如何更改内存中HttpSession对象的超时时间。
    修改web.xml
      
    1
  

你可能感兴趣的:(Cookie和Session详解)