• servlet中this.getServletContext(); this.getServletConfig().getServletContext(); 的区别


    WEB容器在启动时,它会为每个WEB应用程序都创建一个对应的ServletContext对象,它代表当前web应用。
    ServletConfig对象中维护了ServletContext对象的引用,开发人员在编写servlet时,可以通过ServletConfig.getServletContext方法获得ServletContext对象。
    由于一个WEB应用中的所有Servlet共享同一个ServletContext对象,因此Servlet对象之间可以通过ServletContext对象来实现通讯。ServletContext对象通常也被称之为context域对象。

    Servlet1:

     protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
            String data = "value";
            ServletContext context = this.getServletConfig().getServletContext();//获得ServletContext对象
            context.setAttribute("data", data);  //将data存储到ServletContext对象中
        }

    Servlet2:

     protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
            ServletContext context = this.getServletContext();
            String data = (String) context.getAttribute("data");//从ServletContext对象中取出数据
            response.getWriter().print("data="+data);
        }

    Servlet2拿到的context与Servlet1设置data的context是同一个对象,所以说servlet中this.getServletContext(); this.getServletConfig().getServletContext(); 本质上没有区别。

    自己的笔记,不对请指正。。。

  • 相关阅读:
    论财务的意义
    项目忙乱的原因
    回家的路
    但问耕耘
    做自己的主角
    坚持的意义
    觉醒的意义
    梦想的力量
    把自己当作一件艺术品
    九宫格年度计划
  • 原文地址:https://www.cnblogs.com/maol986162214/p/10192057.html
Copyright © 2020-2023  润新知