ServletContext是什么?
WEB容器在启动时,它会为每个WEB应用程序都创建一个对应的ServletContext对象,它代表当前web应用。ServletConfig对象中维护了ServletContext对象的引用,开发人员在编写servlet时,可以通过ServletConfig.getServletContext方法获得ServletContext对象。由于一个WEB应用中的所有Servlet共享同一个ServletContext对象,因此Servlet对象之间可以通过ServletContext对象来实现通讯。ServletContext对象通常也被称之为context域对象。
是不是觉得上面一段话有点听不懂?那么不要着急,要理解ServletContext就必须和Cookie、Session做一个对比,我们通过一张图来说明一下:
你可以把它想象成一个公共的空间,可以被所有的客户访问,也就是说A客户可以访问D,B客户也可以访问D,C客户也能访问D。
好了这下子知道ServletContext是怎么回事了吧?那既然知道ServletContext是什么了,我们该如何使用ServletContext呢?通常情况下我们可以分以下三步曲使用ServletContext:
1.如何得到ServletContext实例
this.getServletContext();
2.你可以把它想象成一张表,这个和Session非常相似,每一行就是一个属性,如图:
ServletContext
名字 String |
值 Object |
添加属性setAttribute(String name,Object obj);得到值 getAttribute(String name)返回Object,删除属性removeAttribute(String name);
3.生命周期
ServletContext中的属性的生命周期从创建开始,到服务器关闭而结束。
那么在网站开发中,有很多功能需要使用ServletContext,比如:
(1)网站计数器(2)网站在线人数统计(3)简单的聊天系统.....