1 会话的概念
会话管理
管理浏览器客户端和服务器端之间会话过程中产生的会话数据。
会话管理技术
Cookie技术(客户端会话技术):会话数据保存在浏览器客户端
Session技术(服务器端会话技术):通过域对象将会话数据保存在服务器端
在Web应用中,当用户通过浏览器访问Web服务器时,服务器会给客户端发送一些信息(如用户信息和商品信息),这些信息都保存在Cookie中。
当该浏览器再次访问服务器时,会在请求头中将Cookie发送给服务器,方便服务器对浏览器做出正确地响应。
服务器向客户端发送Cookie时,会在HTTP响应头字段中增加Set-Cookie响应头字段。Set-Cookie头字段中设置的Cookie的具体示例如下:
Set-Cookie: user=dayday; Path=/;
user表示Cookie的名称,dayday表示Cookie的值,Path表示Cookie的属性。 Cookie必须以键值对的形式存在,Cookie属性可以有多个,属性之间用分号“;”和空格分隔。
2 Cookie技术

Cookie类有且仅有一个构造方法,具体语法格式如下
public Cookie(java.lang.String name,java.lang.String value);
说明: 在Cookie的构造方法中,参数name用于指定Cookie的名称,value用于指定Cookie的值。 Cookie一旦创建,名称就不能更改,值可以为任何值,创建后允许被修改。
Cookie原理
1、服务器端创建cookie对象,把会话数据存储到cookie对象中
2、服务器发送cookie信息到浏览器
3、浏览器得到服务器发送的cookie,然后保存在浏览器端
4、浏览器在下次访问服务器时,会带着cookie信息
5、服务器接收浏览器带来的cookie信息
1、cookie的特点?
2、cookie的原理?
3、cookie的常见方法?
3 Session技术
Cookie只能存字符串类型,不能保存对象
只能存非中文
1个Cookie的容量不超过4KB
Session特点
会话数据保存在服务器端(内存中)
实现的基础:通过域对象实现资源之间的数据共享!
Session技术中采用的是HttpSession域对象
技术核心 HttpSession接口(javax.servlet.http.HttpSession):用于保存会话数据(以后说session,就是指HttpSession接口)

session存取数据使用
1)保存数据到session对象
2)从session域对象中获取数据
细节
getSession(): 创建或得到session对象,如果没有匹配的session编号,则自动创建新的session对象。
若调用getSession(false),如果没有匹配的session编号,将返回null
注意:并不是访问了Sevlet就会创建session,当调用getSession方法时,如果没有session对象才会创建。
4 Cookie与Session技术区别
数据存放位置不同:Session数据是存在服务器中的,cookie数据存放在浏览器当中。
安全程度不同:cookie放在服务器中不是很安全,session放在服务器中,相对安全。
性能使用程度不同:session放在服务器上,访问增多会占用服务器的性能;考虑到减轻服务器性能方面,应使用cookie。
数据存储大小不同:单个cookie保存的数据不能超过4K,session存储在服务端,根据服务器大小来定。
3703

被折叠的 条评论
为什么被折叠?



