zoukankan      html  css  js  c++  java
  • 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(); 本质上没有区别。

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

  • 相关阅读:
    phpstorm 2016.3.2 的最新破解方法(截止2017-2-20)
    在GitHub多个帐号上添加SSH公钥
    mac laravel 环境变量设置bash_profile
    Laravel的三种安装方法总结
    laravel登录后台500错误!
    composer镜像安装laravel
    phpstorm 代码按列对齐
    .DS_Store 文件是什么?Mac下面如何禁止.DS_Store生成
    如何在Mac下显示Finder中的所有文件
    PHP_环境配置_python脚本_2017
  • 原文地址:https://www.cnblogs.com/maol986162214/p/10192057.html
Copyright © 2011-2022 走看看