一、ServletContext介绍
ServletContext官方叫servlet上下文。服务器会为每一个工程创建一个对象,这个对象就是ServletContext对象。这个对象全局唯一,而且工程内部的所有servlet都共享这个对象。所以叫全局应用程序共享对象。
二、对ServletContext的理解
运行在JAVA虚拟机中的每一个Web应用程序都有一个与之相关的Servlet上下文。ServletContext对象是Web服务器中的一个已知路径的根,Servlet上下文被定位于http://localhost:8080/项目名.以 /项目名 请求路径(称为上下文路径)开始的所有请求被发送到与此ServletContext关联的Web应用程序。一个ServletContext对象表示了一个Web应用程序的上下文。
Servlet上下文:Servlet上下文提供对应用程序中所有Servlet所共有的各种资源和功能的访问。Servlet上下文API用于设置应用程序中所有Servlet共有的信息。Servlet可能需要共享他们之间的共有信息。运行于同一服务器的Servlet有时会共享资源,如JSP页面、文件和其他Servlet。
举例:
如,做一个购物类的网站,要从数据库中提取物品信息,如果用session保存这些物品信息,每个用户都访问一便数据库,效率就太低了;所以要用来Servlet上下文来保存,在服务器开始时,就访问数据库,将物品信息存入Servlet上下文中,这样,每个用户只用从上下文中读入物品信息就行了。
三、功能介绍
1.获取web.xml中的初始化参数
将配置信息配置到web.xml中,通过ServletContext获取,配置数据个数如下,如在此处配置编码格式,则不用再代码中再次定义,直接获取即可,降低了代码的耦合度。
2.作为域对象使用
域对象是服务器在内存上创建的存储空间,用于在不同动态资源(servlet)之间传递与共享数据。
ServletContext域对象特点
- 生命周期:和web应用的生命周期一样长
- 作用范围:整个web应用
- 功能:在整个web应用范围内共享数据
参考文章:
原文链接:https://blog.csdn.net/lvzhiyuan/article/details/4664624
原文链接:https://blog.csdn.net/qq_36371449/article/details/80314024