jsp实现数据的存储

1.cookie

(1)临时将key-value对以文件的形式存储在用户的计算机上,一般存在浏览器的temp文件夹中。
(2)只要是key-value对都能存,最常见的是用户名,搜索记录;
(3)cookie保存在客户端

  • 保存cookie
		Cookie cookie = new Cookie("cu_name",cu_name); // new Cookie(String key,String value);
		cookie.setMaxAge(60); //单位是秒,是cookie保存的最大时间,时间到了浏览器会自动删除
		response.addCookie(cookie);
  • 获取cookie
String cu_name = "";
Cookie[] cookies =  request.getCookies();
if(cookies!=null&&cookies.length>0){
	for(Cookie c : cookies){
		if("cu_name".equals(c.getName())){
			cu_name = c.getValue();
		}
	}
}
  • 清除cookie
Cookie cookie = new Cookie("cu_name","");
cookie.setMaxAge(0);
response.addCookie(cookie);
  • cookie如果中文乱码的解决方法

URLDecoder (解码) /URLEncoder(编码): 将字符串以指定的字符集进行编码,解码
String cu_name_utf8 = URLEncoder.encoder(cu_name,“utf-8”);
String cu_name = URLDecoder.decoder(cu_name_utf8,“utf-8”);

2.session

作用于服务器

  • 会话

(1)浏览器请求响应的过程叫做会话(浏览器不关);重新打开浏览器或不同的浏览器算一次新的会话.
(2)在服务器接收到第一次的请求时建立新的会话,服务器就会为这次会话创建一个整个服务器都唯一的sessionid。
(3)关闭浏览器后重新打开浏览器,获取不到以前session中的内容,因为sessionid变了。
(4)浏览器既得不到其他浏览器会话的数据,也得不到上一次浏览器会话的数据
(4)session真正的消失:服务器重启

  • 特点

以session来保存用户名称即可以解决中文乱码的问题,并且session的value是object类型

  • 使用
session.setAttribute("cu_name",cu_name);
session.getAttribute("cu_name");

3.application

(1)其他浏览器也能拿到

(2)作用于整个服务器的存储数据的地方,不到万不得已不用,占服务器的内存。
session.getAttribute(String key);
session.setAttribute(String key,Object);

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值