会话技术的自我总结

会话技术

概念:
会话 :分为三个部分

1首先,会话的开始
客户端和服务端建立连接的时候代表着会话的开始
2其次,会话的过程
在一次会话中,会有多次的请求和相应
3最后 会话的结束
关闭浏览器的时候,会话就会结束

会话技术 :

概念:用于储存会话过程中的一些数据的技术

会话技术有两个 一种叫做Cookie 另一种 叫做Session 

两者区别与相同点如下:

相同特点:

不同会话之间,数据是相互独立的,互相不干扰的,而且在同一会话内部,多次请求之间,数据是共享的

不同之处:

Cookie是客户端的会话技术,Cookie的优点在于服务器承担的压力较小,缺点是安全性比较低,而且只能存储字符串
Session 是服务端的会话技术 Session 的优点是 安全性比较高并且session可以存储任何类型(Object) 缺点是 运用Session的技术 服务器会承担更大的亚力

说了这么多 那么接下来具体了解一下Cookie和Session

Cookie

Cookie技术的执行过程是
1.客户端发送请求到服务端
2.服务端先创建cookie对象 设置了cookie 的有效期 设置 cookie 有效范围 把Cookie返回给客户端
3.客户端自动接收并且保存Cookie数据 当再次请求服务端时候 把cookie携带到服务端
4.服务端 接收客户端携带的cookie

创建cookie对象 以及设置有效期 有效范围的API
创建cookie对象 直接new 就好了 cookie的本质是一个类

Cookie cookie = new Cookie(String name,String value);

设置Cookie的有效期

cookie.setMaxAge(int seconds) 

括号内是秒
设置Cookie的有效范围

cookie.setPath(String path)

括号内是cookie的路径
接下来把Cookie返回给客户端

response.addCookie(cookie)

经过浏览器自动执行第三四步骤
最后结算Servlet 时接收客户端携带的cookie 采用的Api

request.getCookie() 

得到的是一个Cookie[]数组

注意

一个Web应用一般规定是20个Cookie 一个浏览器最多能储存300个cookie但是实际情况是根据浏览器的不同而决定的
每个Cookie的大小限制为4Kb
有效期 如果不设置的话默认为一个会话期间
有效范围 不设置默认原本的 设置的话只有同一阶层才是有效的,也就是说并非所有访问都会携带cookie,只有访问的是有效范围的才会携带cookie
设置路径(Path)的时候ID和端口号必须不写
在HTTP协议的请求头里
可以用getName()方法获取到name和value

最后删除Cookie的方法:创建一个同名(name)同路径(Path)的新的cookie对象重新覆盖掉原来的cookie对象 达到一种删除的效果

Session

Session的使用过程
1.得到一个session对象 (不是类所以不可以用new创建 session是一个域对象)
2.向Session里面储存数据
3.把Session的Id以cookie的形式返回给客户端(这一步TomCat自己完成)
4.根据Session 的id 找到对象
5.从session取数据

Session用到的API
HTTPSession session = request.getSession()

这里 的getSession()有两个作用
如果没有session对象那么就创建session对象 否则就是获取session对象

session的生命周期

创建 :就是上面说的
销毁:有三种情况
1.服务器非正常关闭 正常关闭的服务器不会销毁session对象
2.会话超时 默认是30分钟
3.手动销毁

session.invalidate()

这个方法的作用范围是一次会话期间

注意

创建session的时候
如果客户端没有JSESSIONID,或者服务端没有对应的session对象:此时就会创建新的
如果客户端有JSESSIONID,并且服务端有对应的session对象:此时就是获取旧的

域对象

域对象目前我只学习了这几种
ServletContext
Session
request
PageContext
他们的不同之处是最用的范围不同
ServletContext 服务器启动时创建 服务器关闭时销毁 作用范围是整个Web应用

Session 一次会话开始时创建 (当客户端没有JSESSIONID,或者服务端没有对应的session对象时,会创建新的)
销毁有三种情况 服务器非正常关闭 会话超时 手动销毁(销毁session的方法:session.invalidate() )
作用范围是一次会话期间

request 一次请求开始时创建 一次请求结束时结束 作用范围 一次请求的期间

pageContext 一个JSP被访问时创建 访问结束时销毁 作用范围是一个JSP里

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值