1.什么是cookie?
服务器在客户端保存的用户信息,不用登录名密码等....就是cookie 例如现在,用户点击登录,把登录名和密码,复选框信息,传入到服务器,验证成功,则把用户名和密码保存到该 客户端,在服务器端需要的时候可以从客户端读取 用途: A.保存用户名、密码,在一定时间内不用重新登录 B.记录用户访问网站的喜好(有无背景音乐) C.网站的个性化,不如定制网站的服务,内容 步骤: 1.在服务器创建 Cookie c = new Coolie(String name,String val); 2.将该Cookie添加到客户端 response.addCookie(c); 3.从客户端读取该Cookie到服务器端 request.getCookies(); 注意:Cookie周期:从Cookie创建开始到该时间结束,不管该Cookie是否被访问 Cookie是保存在客户端的,例如A的cookie保存在A客户端,B的cookie保存在B客户端,彼此不影响
2.什么是session?
当用户打开浏览器,访问某个网站时,服务器就会在服务器内存
为该浏览器分配一个空间,该空间被这个浏览器独占,用于不同页面共享数据
用途:
A.购物车 (访问同一个服务器),例如访问淘宝网,淘宝网的服务器会创建一个session内存空间,而当当网就是另一个Session
B.保存登录用户的信息、将某些数据放入到session中供同一用户的各个页面使用
C. 防止用户非法登录到某个页面
如何使用session
1.得到session
HttpSession hs = request.getSession(true);
2.向session添加属性
hs.setAttribute(String name,Object val);
3.从session中得到某个属性
String name = hs.getAttribute(String name);
4.从session中删除某个属性
hs.removeAttribute(String name);
注意:
session信息是保存在服务器中的,例如客户端A的session保存在服务器中的分配的一块A内存空间,
客户端B的session保存在该服务器中的分配的一块B内存空间,它们都在服务器内存空间,但它们彼此是独立的,相互是没有关联的。
session的存在时间:session的发呆时间,而不是累计时间
同一个客户端,双击打开一个网站,在双击打开同一个网站,服务器会为他们开辟两个不同的session内存空间session的各个属性要占用服务器内存的,因此万不得已才会使用