Jsp状态管理(Cookie和Session的对比)

来源:互联网 发布:吉利知豆电动汽车租赁 编辑:程序博客网 时间:2024/05/16 01:06
HTTP协议的无状态性:

无状态性是指,当浏览器发送请求给服务器的时候,服务器响应客户端请求,但是当同一个浏览器再次发送请求给服务器的时候,服务器并不知道他就是刚才的那个浏览器。

简单的说,就是服务器不会去记得你,所以就是无状态协议

保存用户状态的两大机制:CookieSession


Cookie:中文名称为“小甜点”,是web服务器保存在客户端的一系列文本信息。

作用:
1.对特定对象的追踪;
2.保存用户网页浏览记录与习惯;
3.简化登录;
4.容易泄露用户信息;

典型应用一:判断注册用户是否已登录网站。

典型应用二:“购物车”的处理。


jsp中创建与使用Cookie:
1、创建Cookie对象:
Cookie cookie=new Cookie(String key,Object value);
2、写入Cookie:
response.addCookie(cookie);
3、读取Cookie:
Cookie[] cookies=request.getCookies();


例:

使用cookie保存用户信息



清除用户保存在cookie中的信息:



注意:关于Cookie保存中文乱码的问题,可以在jsp中导入java.net.*,然后先设置request.setCharacterEncoding("utf-8");再之后利用URLEncoder.encode(request.getParameter("username"),"utf-8");设置编码。之后,在使用时,同样的在相应的页面,先设置request.setCharacterEncoding("utf-8");再利用URLDecoder.decode(cookie.getValue(),"utf-8");


Cookie和Session的对比



0 0