标签:数据通信 作用域 servlet 对象 cookie 全局 数据 请求
来一servlet规范中的一个接口。在tomcat中存在servlet-api. jar在tomcat中负责提供这个接口的实现类。
如果两个servlet来自同一个网站。那这两个servlet可以通过网站的ServletContext实例对象实现数据共享。
每一个网站都存在一个全局作用域。这个全局作用域对象(相当于一个Map),在这个网站中OneSerclet可以将一个数据存入到全局作用域对象,当前网站中其他Servlet此时都可以从全局作用域中得到这个数据。
ServletContext application=request. getServletContext();
applicaton. setAttribute("key",数据);
ServletContext application=request. getServletContext();
object 数据=aplication. getAttributA("key");
全局作用域里空间有限,只能存入关键数据。内容过多可能会导致死机。
cookie来自于servlet规范中的一个工具类,存在于servlet-api. jar中。
如果两个servlet来自同一个网站,并且为了同一个用户服务,此时可以通过cookie进行数据共享。
用户通过浏览器第一次向网站发送请求申请一个servlet,运行期间,创建一个cookie存储与当前用户相关的数据,在这个servlet工作完毕后,会将cookie写入到响应头之中,交还给浏览器。
浏览器收到响应包之后将cookie存储在浏览器的缓存中,一段时间后,用户通过同一个浏览器,再次向同网站发起请求申请另一个servlet,这个时候浏览器需要无条件的把将网站给的cookie推送回去,写入到请求头之中。
此时这个另一个serclet运行时,就可以通过读取请求头中的cookie中信息,得到第一个servlet提供的共享数据。
cookie card=new cookie(“key”,“数据”);
cookie card1=new cookie("key","数据”);
cookie cookies[ ]=request. getcookies();
String value=card. getvalue();
- httpsession接口来自servlet规范下的一个接口。存在与tomcat中的servlet-api. jar其实现类由http服务提供。tomcat提供jar包。
- 如果两个servlet来自同一个网站那么可以通过httpsession对象数据共享。
- 开发人员习惯将它称为,会话作用域对象。
- 存储位置不同,cookie存放在用户电脑内存中。而httpsession存放在服务器的内存。
- 可以存储的数据类型不同,cokie只能存字符型。而httpsession可以存任意类型。
- 存储数量不同,cookie只能存一个键值对,而httpsession可以存多个键值对。
- cookie相当于会员卡,httpsession相当于保险箱。
在同一个网站中如果两个servlet通过请求转发调用,那么彼此之间使用同一个请求协议包,一个请求协议包对应的是一个请求对象,因此几个servlet之间使用了同一个请求对象,此时可以利用这个请求对象在两个servlet之间共享数据。
标签:数据通信,作用域,servlet,对象,cookie,全局,数据,请求 来源: https://blog.csdn.net/qq_55471073/article/details/122460463
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。