Servlet(17)会话技术Session+Cookie及区别
来源:互联网 发布:vb高级教学视频教程 编辑:程序博客网 时间:2024/05/20 22:40
①关掉浏览器,再打开保证上次的数据还在
把session id保存到cookie中(如果用户阻止使用cookie,此方法将失效)
// 访问Session, 如果没有,则创建HttpSession session = request.getSession();// 设置属性session.setAttribute("uname", "jiaozl");session.setAttribute("age", 100);// 删除属性session.removeAttribute("sex");// ------- 把session id 保存到cookie中 --------Cookie cookie = new Cookie("JSESSIONID", session.getId());cookie.setMaxAge(3600);response.addCookie(cookie);
也可以将要保存的数据对象,放入HashMap,然后将HashMap放入session中
②禁用Cookie后,session也将无法使用
导致共享数据问题,URL重写
- response.encodeRedirectUrl(String); 用于对sendRedirect方法后的url地址进行重写
- response.encodeURL(String); 用于对表单action和超链接url地址进行重写
// 访问一下sessionrequest.getSession();for(Book book: mydb) { String url = response.encodeURL("/MyCart/BuyBookCl?id="+book.getId()); out.println(book.getName() + "书<a href='"+url+"'>点击购买</a><br/>");}
区别
①存在的位置不同:
cookie存在于客户端的临时文件夹;
session存在于服务器的内存中,一个session域对象为一个用户浏览器服务。
②安全性
cookie以明文方式存放在客户端,安全性弱,可以加密后存放(md5);
session存放在服务器的内存中,安全性好。
③网络传输量
cookie会传递信息给无服务器。
session的属性值不会给客户端
④生命周期
cookie的生命周期,是累积的
session的生命周期是间隔的,发呆时间ivalidate 、 时间到
⑤访问范围
session为一个浏览器独享,会占用服务器内存,因此不要存放过多、过大的对象,会影响性能
cookie为多个用户浏览器共享
0 0
- Servlet(17)会话技术Session+Cookie及区别
- servlet会话技术Cookie&Session
- servlet会话技术Cookie,Session
- servlet--会话技术--cookie And session--
- WEB中的会话技术:Cookie及Session
- 【cookie/session】会话技术
- 会话技术(Cookie,Session)
- 会话技术Cookie&Session
- 会话技术Cookie&Session
- 会话技术Cookie&Session
- 会话技术 Cookie&Session
- 会话技术cookie/session
- Cookie&Session会话技术&Servlet三个作用域总结
- Servlet会话Cookie和Session
- 大数据WEB阶段(十二)会话技术、Cookie、Session及两者的区别
- 会话的两大技术Session和Cookie的区别
- 会话技术 Cookie和Session
- 会话技术:session 和 cookie
- 关于Linux下源码安装
- mysql索引知识笔记
- 如何使用搜索引擎
- MyBatis概述
- 类型萃取
- Servlet(17)会话技术Session+Cookie及区别
- apache commons collections CollectionUtils工具类简单使用
- 拉格朗日乘数法(等式约束和不等式约束)及KKT条件
- Dubbo之——将Dubbo服务打包成Jar包
- 背包问题
- mac跑opencv的kcf追踪
- 简单介绍 DOCTYPE
- el jstl使用
- 【python学习笔记】4:精度控制/文件读/split()方法