首页 > 其他 > 详细

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

时间:2018-12-28 18:14:27      阅读:228      评论:0      收藏:0      [点我收藏+]

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(); 本质上没有区别。

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

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

原文:https://www.cnblogs.com/maol986162214/p/10192057.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!