个人学习之路_第三十三章_会话技术session&cookie

会话技术 cookie & session浏览器

会话技术:再一段时间内,让服务器记得某个访客,在此段时间内,能够在不一样的页面上共享数据。就像是一通电话,只要不挂断,在此
通电话内进行的对象(回答)就是客户端浏览器和服务器之间的请求和响应。缓存


若是商店是服务器,客人是浏览器的话。会话就至关因而客人在商店里注册了会员,
发一张会员卡,会员信息都保存在卡里,卡在用户手里( Cookie )
商店保存会员的手机号,根据手机号能够查找会员信息( 会员信息保存在商店的电脑里 ) ( Session )安全


Cookie(服务器建立,客户端使用)服务器

保存在浏览器磁盘上的一种会话技术cookie

写入 Cookie : session

●Servlet中,建立Cookie对象(字符串的键值对)对象

Cookie cookie = new Cookie(String name,String value);生命周期

●设置Cookie 的相关参数(可省略)
路径;在访问本WEB项目中的哪一个路径时携带Cookie(默认为全部页面)内存

有效期:Cookie在浏览器的磁盘中保存多久(默认是浏览器打开的期间)开发

●经过响应对象,把Cookie写入的浏览器缓存(磁盘)

resp.addCookie(cookie)

Cookie在被写入浏览器后,以后访问此项目时,全部的请求中自动在请求头中携带以前写入的Cookie。(不管访问本WEB项目中的
哪一个页面,Cookie默认是都要携带的)

优势:服务器压力小,断电不消失
缺点:不安全,不可靠

Cookie用法的总结:

写: 建立对象 new Cookie(String name , String value)

设置属性 cookie.setMaxAge()/cookie.setPath() , setMaxAge(0) 至关于删除

写入 resp.addCookie(cookie)

读: Cookie[] req.getCookie() //有可能为空

取得名和值 cookie.getName() / getValue()
其余设置也能够取得 getMaxAge/getPath


Session

保存在服务器内存的一种会话技术

优势:速度快,能够保存对象,安全可靠

缺点:项目关闭会消失,占内存

Session生命周期:

建立:用户第一次访问时建立会话

销毁:超过指定的时间内,用户没有再向项目发送请求(默认是30分钟)

服务器如何区分请求是属于哪个会话的:

经过一个叫JSESSIONID的cookie来识别的.浏览器在给服务器发请求时,会生成一个随机且惟一的序列号,以JSESSIONID的名字,当成
cookie发给服务器,在某一个时间范围内同一个浏览器发送给同一个WEB项目的JSESSIONID是相同的,因此对于服务器来讲,只要请求中的cookie
中的JSESSIONID值相同,就表明这些请求时属于同一个Session(会话)的.


注意:Session只有两种状况会销毁:

第一种: 过时

第二种:项目的非正常关闭:正关闭项目时,Session会被写入磁盘,下次正确启动,保存在磁盘中的Session会被回复到内存中.

如何使用:

如何取得Session:HttpSession req.getSession()

如何使用:Session是域对象

setAttribute()

getAttribute()

removeAttribute()

Session 所表明的范围:某一个客户和服务器之间的在某一段时间内的会话(在这段时间内的请求能够用Session来共享数据)


session主要是 企业开发使用,不多用cookie

互联网项目: 大量使用cookie(无关紧要的数据用cookie)

小总结

会话:某个访客在一些请求之间共享数据的技术 Cookie:保存在浏览器磁盘 生命周期: 起始:服务器把Cookie加入响应头发回给浏览器,浏览器把Cookie写入磁盘。 结束: 默认:浏览器关闭 设置了有效期:过时消失 浏览器清理Cookie 用法: 写入: 建立Cookie对象:new Cookie( String name, String value ) 能够设置属性:cookie.setMaxAge( int 秒数 ) / cookie.setPath( String 客户端的WEB路径 ) 加入响应头:resp.addCookie( cookie ) //不必定能写入,由于浏览器能够设置为禁用Cookie的 读取: Cookie是在路径有效的状况下在浏览器向服务器发请求时自动带在请求头中的 Cookie[] req.getCookies()//可能为null cookie.getName() / cookie.getValue() / cookie.getPath() / cookie.getMaxAge() Session: 保存在服务器内存中的生命周期: 建立:用户第一次访问服务器时建立与服务器之间的会话(Session) 销毁: 过时销毁:项目正常关闭时,Session会被WEB服务器写入磁盘,下次启动时再从磁盘读出,恢复到内存。(过时时间默认为30分钟) 项目非正常关闭:直接在内存中消失 使用方式: Session是域对象 setAttribute getAttribute removeAttribute

相关文章
相关标签/搜索