用途:解决不同用户之间的数据共享问题
获取方式
//第一种获取方式(常用)
ServletContext servletContext = this.getServletContext();
//第二种获取方式(特殊情况下会用)
ServletContext servletContext1 = this.getServletConfig().getServletContext();
//第三种获取方式(常用)
ServletContext servletContext2 = req.getSession().getServletContext();
ps : 三种获取方式获取的为同一对象
1、存取数据(最主要作用)
//在ServletContext对象中存放数据
servletContext.setAttribute("str","大家好才是真的好~");
//获取数据
String str = (String) servletContext.getAttribute("str");
2、获取项目web.xml文件下的全局配置数据
<context-param>
<param-name>name</param-name>
<param-value>ServletContext学习</param-value>
</context-param>
//获取项目web.xml文件下的全局配置数据
String string = servletContext.getInitParameter("name");
System.out.println("全局配置参数:" + string);
3、获取项目根路径下的资源的绝对路径
//获取项目根路径下的资源的绝对路径
String path = servletContext.getRealPath("/doc/test.txt");
System.out.println(path);
4、获取项目根目录下的资源流对象
//获取项目根目录下的资源流对象
InputStream is = servletContext.getResourceAsStream("/doc/test.txt");
//E:\JavaProject\WEB2\out\artifacts\ServletContext_war_exploded\doc\test.txt