介绍
由服务器进行创建和维护, 一个项目只有一个servletContext, 生命周期和服务器相同
作用
用来解决不同用户的共享数据, 比如网站访问人数
作用域
整个项目内
生命周期
服务器启动到服务器关闭
使用
获取
// 获取servletContext对象
// 方式一
ServletContext servletContext = this.getServletContext();
// 方式二
ServletContext servletContext1 = this.getServletConfig().getServletContext();
// 方式三
ServletContext servletContext2 = req.getSession().getServletContext();
数据共享
// 使用servletContext完成数据共享
// 数据存储
servletContext.setAttribute("name", new Object());
// 数据获取
servletContext.getAttribute("name");
获取web.xml中的全局数据
<!--web.xml中配置如下-->
<context-param>
<param-name>name</param-name>
<param-value>zhangsan</param-value>
</context-param>
// 获取web.xml中的全局配置
servletContext.getInitParameter("name");
获取部署时候的项目目录下的资源路径
// 获取资源绝对路径, 取得项目目录+"path"
servletContext.getRealPath("/page");
获取资源流对象
此种方式只能获取项目根目录下的资源流对象,class文件的流对象需要使用类加载器获取。path参数为项目根目录中的路径
InputStream is = sc.getResourceAsStream(String path);