java HttpServlet 之 会话Cookie和Session
程序员文章站
2022-03-11 16:35:31
...
Cookie技术:将一些参数存入客户端硬盘中(可以持久化的存入用户硬盘中)
Session技术:将一些参数存入服务器端(默认关闭浏览器就没了,但是可以进行持久化)
Cookie:
//1.创建Cookie并添加
//创建Cookie对象
Date date=new Date();
SimpleDateFormat format=new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
String time = format.format(date);
//因为数据里面有空格 在tomcat高版本直接就报错 进行特殊处理
time = URLEncoder.encode(time,"UTF-8");
Cookie cookie=new Cookie("lastAccessTime",time);
//设置Cookie的持久化时间(int seconds) //毫秒
cookie.setMaxAge(5*60*1000); //设置5分钟 设置0其实就是移除了Cookie
//设置Cookie携带路径
cookie.setPath("/"); //访问服务器所有资源都会携带这个 默认不设置是同级的目录
//添加进响应
resp.addCookie(cookie);
//2.获取打印所有Cookie
Cookie[] cookies = req.getCookies();
if(cookies!=null)
for (Cookie c:cookies) {
String name = c.getName();
//解析特殊处理
String value = URLDecoder.decode(c.getValue(),"UTF-8");
resp.getWriter().write(name+":"+value);
resp.getWriter().write("<br />");
}
else
{
resp.getWriter().write("没有Cookie <br />");
}
Session:
//存入
req.getSession().setAttribute(name,val);
//取出
req.getSession().getAttribute(name);
Session持久化(关闭浏览器还存在):
HttpSession session=req.getSession();
String id = session.getId();
Cookie cookie=new Cookie("JSESSIONID",id);
cookie.setMaxAge(60*60*1000); // 设置个一小时
resp.addCookie(cookie);
测试代码:百度云盘下载:https://pan.baidu.com/s/1eSAOiP0 密码:b5zr
上一篇: 《R语言实战》第7章
推荐阅读
-
Python ORM框架SQLAlchemy学习笔记之映射类使用实例和Session会话介绍
-
Django之cookie和session
-
Python爬虫番外篇之Cookie和Session
-
Python爬虫番外篇之Cookie和Session详解
-
10.Django基础八之cookie和session
-
cookie,session会话对象,application扫扫盲之你的信息怎么泄露的
-
Web框架之Django_08 重要组件(form组件、cookie和session组件)
-
Djang之cookie和session
-
Java基础知识回顾第八篇 - Session和Cookie | 单点登录
-
PHP中会话管理Cookie和Session的例子