一、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
<session-config>
<session-timeout>1</session-timeout><!--自然整数,单位是分钟-->
</session-config>