Servlet之间共享数据的几种方式

1)Cookie

          来自于servlet规范的一个工具类存在于tomcat中的servlet-api.jar中

           使用cookie进行数据共享需要请求的servlet来自同一个网站并且是为同一个用户提供服务

          cookie存放当前用户的私人数据

    原理

            用户通过浏览器第一次向网站申请servlet,该servlet在运行期间建立一个cookie存储当前用户数据,并把该cookie发送给浏览器

           浏览器接受到服务器的响应后,将cookie存储在浏览器的缓存中,之后浏览器在此向该网站发送请求时,浏览器会自动将该cookie写入请求中发送给服务器

           cookie相当于是一个map,一个cookie只能存储一个键值对,而且key和value只能 是string,而且key的值不能是中文

          Cookie的生命周期

在默认 情况下,cookie存放在浏览器的缓存中,当浏览器关闭。cookie对象就被销毁

2.在手动设置情况下,可以要求浏览器将接受的cookie存放在客户端计算机上,同时指定cookie存放时间,在存放时间到达时,cookie自动从硬盘上删除
 

 

2)全局作用域对象ServletContext

介绍

       如果两个Servlet来自同一个人网站,彼此之间就可以通过网站的ServletContext实例对象实现数据共享

    原理

  每一个网站都存在一个全局作用域对象,这个全局作用域对象相当于一个map,在这个网站中的Servlet可以将一个数据存到全局作用域对象中,当前网站的其他Servlet就可以从全局作用域对象得到这个数据进行使用

全局作用域对象的生命周期贯穿在整个网站的运行期间,一个网站只有一个全局作用域对象

 

3)httpSession

介绍

  httpSession接口是来自于Servlet规范下的一个接口,存在于tomcat下的servlet-api中

当请求的servlet来自于同一个网站,并且是同一个浏览器或者用户,就可以借助httpSession对象进行数据共享

httpSession接口修饰对象称为会话作用域对象

 

与Cookie的区别

1)存储位置不同

   cookie存储在客户端计算机中

httpsession存储在服务器计算机内存中

2)数据类型不同

Cookie存储的数据只能是String类型

Httpsession可以存储任意类型的数据

3)数据数量

一个cookie只能存储一个键值对

一个HttpSession可以存储任意数量的共享数据

4)代码实现

调用请求对象向tomcat索要当前用户在服务器的Session对象

HttpSeesion session = request.getSeesion;

将数据添加到Session对象

session。setAttribute(key,value)

 

 

4)HttpServletRequest接口实现数据共享

   介绍

在一个网站中如果两个servlet通过请求转发方式进行调用,彼此之间共享一个请求协议包,而一个请求协议包只对应一个请求对象,因此Servlet之间共享一个请求对象,就可以利用这个请求对象在Servlet之间实现数据共享

在请求对象实现数据共享功能时,开发人员将请求对象称为请求作用域对象

 

 

 

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值