11.多个Servlet之间数据共享实现方案

 

          1.数据共享:OneServlet工作完毕后,将产生数据交给TwoServlet来使用

           2.Servlet规范中提供四种数据共享方案

                 1.ServletContext接口

                 2.Cookie类

                 3.HttpSession接口

                 4.HttpServletRequest接口

ServletContext接口:

  1.介绍:
              1)来自于Servlet规范中一个接口。在Tomcat中存在servlet-api.jar
                 在Tomcat中负责提供这个接口实现类

              2)如果两个Servlet来自于同一个网站。彼此之间通过网站的ServletContext
                 实例对象实现数据共享

              3)开发人员习惯于将ServletContext对象称为【全局作用域对象】


   2.工作原理:

                  每一个网站都存在一个全局作用域对象。
              这个全局作用域对象【相当于】一个Map.
              在这个网站中OneServlet可以将一个数据
              存入到全局作用域对象,当前网站中其他
              Servlet此时都可以从全局作用域对象得到
              这个数据进行使用

    3.全局作用域对象生命周期:

               1)在Http服务器启动过程中,自动为当前网站在内存中创建
                  一个全局作用域对象
               2)在Http服务器运行期间时,一个网站只有一个全局作用域对象

               3)在Http服务器运行期间,全局作用域对象一直处于存活状态

               4)在Http服务器准备关闭时,负责将当前网站中全局作用域对象
                  进行销毁处理
                           *****全局作用域对象生命周期贯穿网站整个运行期间***

      4.命令实现: 【同一个网站】OneServlet将数据共享给TwoServlet

                         OneServlet{
                 
                    public void doGet(HttpServletRequest request,HttpServletResponse response){
                     
                                              //1.通过【请求对象】向Tomcat索要当前网站中【全局作用域对象】
                           ServletContext application = request.getServletContext();
                                              //2.将数据添加到全局作用域对象作为【共享数据】
                           application.setAttribute("key1",数据)
                    
                    }
                 
                 }

                 TwoServlet{
                 
                   public void doGet(HttpServletRequest request,HttpServletResponse response){
                   
                    //1.通过【请求对象】向Tomcat索要当前网站中【全局作用域对象】
                    ServletContext application = request.getServletContext();
                    //2.从全局作用域对象得到指定关键字对应数据
                            Object 数据 =  application.getAttribute("key1");
                   
                   }
                 
                 }
 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值