Web服务端技术:会话技术

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存储在服务端,根据服务器大小来定。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值