在Servlet中ServletContext对象解决了不同用户间数据共享问题。
它是由服务器创建的,作用在整个项目内的,一直到服务器的启动到服务器的关闭。
获取ServletContext对象的三种方法:
//第一种方式:
ServletContext sc=this.getServletContext();
//第二种方式:
ServletContext sc2=this.getServletConfig().getServletContext();
//第三种方式:
ServletContext sc3=req.getSession().getServletContext();
向ServletContext存储数据
sc.setAttribute(String name, Object value);
获取数据:
sc.getAttribute("str") //返回的是Object类型
ServletContext其他作用:
- 获取项目中web.xml文件中的全局配置数据
根据键的名字返回web.xml中配置的全局数据的值,返回String类型。如果数据不存在返回null。
sc.getInitParameter(String name);//类型为String
返回键名的枚举
sc.getInitParameterNames();
配置方式:
<context-param>
<param-name>name</param-name>
<param-value>value</param-value>
</context-param>
- 获取项目webroot下的资源的绝对路径。
String path=sc.getRealPath(String path);
获取的路径为项目根目录,path参数为项目根目录中的路径