cookie、session、ServletContext

已有 73 次阅读2017-5-26 18:56 |个人分类:javaWeb|系统分类:学习纪录| cookie

MicrosoftInternetExplorer402DocumentNotSpecified7.8 磅Normal0

1.cookie

Cookie是客户端技术,程序把每个用户的数据都以cookie的形式写给用户各自的浏览器,当用户再次访问服务器中web资源的时候,就会携带各自的cookie去,这时,web资源处理的就是各自用户各自的数据了。

网站模型就是简单的请求响应

服务器里面有很多的servlet

Cookie是服务器发给客户端的信息共享的凭证


 

Cookie是客户端和服务器之间交换的一小段数据,用户不用介入,cookie是自动完成的

Cookie在服务端被创建,保存在客户端,客户端会自动携带cookie信息到达服务器端,

Cookie是以键值对的形式存在,session可以有多个键值对

一个问应用可以有多个cookie,一个cookie只有一个键值对

Cookie是可以被多个浏览器共享的

 

Cookie的使用:

自动登录 登陆成功,服务器给你凭证,当再次登陆,带着这个凭证,服务器给出相应

上次登录时间 cookie是服务器发给浏览器的,保存在客户端的

浏览过的商品

 

1.1 CookieAPI


setPath保存路径 getPath得到的路径


Cookie多个网站可以共享

跨越 两个网站

 t1.com  设置要发送的cookie的域为t1.com

 t2.com   设置要读取的cookie的域为t1.com


MicrosoftInternetExplorer402DocumentNotSpecified7.8 磅Normal0

2.Sessioncookie的关系

MicrosoftInternetExplorer402DocumentNotSpecified7.8 磅Normal0


1.获得名称为JSESSIONIDcookie的值

2.没有这样的cookie,创建一个新的HttpSession对象,分配一个唯一的SessionID,并且向客户端写一个名字为JSESSIONID=sessionIDcookie

3.有这样的cookie,获取cookie的值(即HttpSession对象的值),从服务器的内存中根据ID找到HttpSession对象:

找到了:取出继续为你服务

找不到:从2开始

 

2.1 对于cookiesession

 

理解一:

Session是服务器中的一个信息共享区域,每一个session区域有一个ID,当服务器向客户端发起响应的时候,会携带ID发给客户端,当再次客户端发起请求的时候,会携带这个ID,与服务器的session中的ID进行匹配

cookie是服务器发给客户端的一个信息,当客户端再次访问会携带ID发给服务器

综上:session的实现是基于cookie

 

理解二:

服务器会将sessionID作为cookie自动发送给客户端

客户端会自动携带sessionID去向服务器要同一个session共享区域

Session的本质是由cookie实现的



MicrosoftInternetExplorer402DocumentNotSpecified7.8 磅Normal0

3.ServletContext

(使用频率高 变化率高 数据量不大 所有客户端共享 servletContext)

WEB容器再启动时,它会为每个WEB应用程序都创建一个对应的servletContext对象,它代表当前web应用。

ServletConfig对象中维护了ServletContext对象的引用,开发人员在编写Servlet时,可以通过ServletConfig.getServletContext方法获得ServletContext对象。

由于一个WEB应用中所有的Servlet共享同一个ServletContext对象,因此Servlet对象之间可以通过servletContext对象来实现通讯。ServletContext的对像通常称之为context域对象。


3.1cookiesessionServletContext之间的区别

Cookiesession单个客户端

ServeletContext所有客户端的资源共享,整个web应用的信息共享区域,所有中最大的servlet作用域,

Web服务器已启动对的时候,就会为每一个web应用创建一个对应的ServletContext对象

 

3.2 ServletConfig

servletConfigservlet对应的一个配置对象

Servlet初始化之后,web服务器会诞生一个与之对应的servletConfig对象

Servlet有一个servletconfig

 

3.3ServletContext的应用

多个Servlet通过ServletContext对象实现数据共享

获取web应用的初始化参数

利用ServletContext对象读取资源文件


路过

鸡蛋

鲜花

握手

雷人

全部作者的其他最新日志

评论 (0 个评论)

facelist

doodle 涂鸦板

您需要登录后才可以评论 登录 | 立即注册

Copyright;  ©2015-2017  知了堂学习社区  Powered by  知了堂Edu!     ( 蜀ICP备16011312号-1 )