会话技术cookie/session
2017-11-29 08:15
453 查看
概述
(一)简介一次会话:
什么时候开始:客户端输入网址回车,和服务端建立连接,会话开启
什么时候结束:浏览器关闭会话结束,清除浏览器缓存会话结束
会话技术:存储会话数据的技术,有两种:cookie技术和session技术
Cookie技术:把会话数据保存在客户端的技术
优点:服务器压力小
缺点:不安全,网络压力大
session技术:把会话数据保存在服务端的技术,session依赖于Cookie
优点:安全,网络压力小
缺点:服务器压力大
–
Cookie
(一)怎样创建CookieCookie cookie = new Cookie(String name, String value);
1.Cookie的有效期
Cookie的默认有效期是一次会话期间,会话结束,Cookie消失
手动设置Cookie的有效期:
cookie.setMaxAge(int seconds);
设置有有效期的Cookie,会被浏览器保存到磁盘文件上,直到过期才会失效。 被手动清除Cookie,哪怕设置有有效期,依然会被清除掉
2.Cookie的有效路径
Cookie的默认有效路径是:生成Cookie的资源所在的目录。客户端只有在访问有效路径内的资源时,才会携带这个Cookie。
比如:/cookiesession/aa/servlt1生成的Cookie,那么有效路径是/cookiesession/aa
手动设置Cookie的有效路径:
cookie.setPath(“/cookiesession”);
(二)怎样发送Cookie到客户端
response.addCookie(cookie对象);
(三)怎样接收客户端携带的Cookie数据
Cookie[] cookies = request.getCookies();
Session
把会话数据保存到服务端的技术叫session技术(一)怎样获取session对象
HttpSession session = request.getSession();
这个方法不仅可以创建session对象,也可以获取session对象:
什么时候创建新的:
服务端没有session对象时,会创建新的
一次新的会话开始,每一个客户端第一次访问,都会创建新的
什么时候获取已有的:
客户端携带了JSESSIONID,并且服务端有对应的session对象时,是获取原有的session
(二)怎样向session里存取数据(重要:域对象)
域对象必定有的三个方法 :
setAttribute(String name, Object value);
getAttribute(String name);
removeAttribute(String name);
session域对象
何时创建:
前提是必须要执行request.getSession方法
客户端的JSESSIONID和服务端的session对应不上的时候,会创建新的:
比如:
客户端没有JSESSIONID;
服务端没有和JSESSIONID对应的session对象
何时销毁:
1. 服务器关闭(非正常关闭)
2. 会话超时。默认30分钟会话超时,可以修改会话超时时间
在web.xml中配置以下代码(单位分钟):
<session-config> <session-timeout>60</session-timeout> </session-config>
手动销毁 session.invalidate();
作用范围:一次会话期间
(三)什么样的情况下可能会找不到session里的数据
如果客户端没有JSESSIONID,或者把JSESSIONID丢失了
就会找不到原本的session对象,session里的数据就找不到了
服务端把session对象给销毁掉了
session里的数据也会找不d到
应用场景
并不是所有数据都适合放在cookie或者session里的,因为数据会丢失,只能临时存储。可以用来保存以下的数据(会话中的临时数据):1. 登录状态数据,一般保存的是登录的user对象,保存在session里
2. 购物车的数据,一般来说不登录可以向购物车里放数据
相关文章推荐
- 会话跟踪技术(一):Session和Cookie技术
- 会话技术 cookie和session 学习笔记
- 会话技术 Cookie和Session
- servlet会话技术Cookie,Session
- JavaWeb学习之转发和重定向、会话技术:cookie、session、验证码实例、URLConnection使用(下载网页)(4)
- 会话技术(Cookie,Session)
- 会话技术 cookie和session 学习笔记
- Java 会话技术 Session和Cookie
- 面试:----会话技术/session,cookie
- 会话技术Cookie & Session
- 会话技术(Cookie,Session)
- 9 会话技术cookie与session
- 会话技术cookie和session,JSP,EL,JSTL
- cookie和session会话的技术
- Cookie&&Session会话技术之再体验
- 会话的两大技术Session和Cookie的区别
- 会话技术(Cookie与Session)揭密
- [置顶]会话技术( Cookie ,Session)
- WEB中的会话技术:Cookie及Session
- 会话技术Cookie&Session