当Servlet容器启动时,会为每个Web应用创建一个唯一的ServletContext对象代表当前Web应用,该对象不仅封装了当前Web应用的所有信息,而且实现了多个Servlet之间数据的共享。
1、获取Web应用程序的初始化参数
2、实现多个Servlet对象共享数据
3、读取Web应用下的资源文件
在实际开发中,有时候可能会需要读取 Web应用 中的一些资源文件,比如配置文件、图片等。为此,在ServletContext接口(规范)中定义了一些读取Web资源的方法,这些方法是依靠Servlet容器实现的。
Servlet容器根据资源文件相对于Web应用的路径(根目录),返回关联资源文档 IO流、或者资源文件在文件系统的绝对路径等。
ServletContext接口常用方法:
方法说明 | 功能描述 |
---|---|
Set getResourcePaths(String path) | 返回一个Set集合,集合中包含资源目录中子目录和文件的路径名称。参数path必须以正斜线(/)开始,指定匹配资源的部分路径 |
String getRealPath(String path) | 返回资源文件在服务器文件系统上的真实路径(文件的绝对路径)。参数path代表资源文件的虚拟路径,它应该以正斜线(/)开始,”/“表示当前web应用的根目录,如果Servlet容器 不能将虚拟路径转换成文件系统的真实路径,则返回null |
URL getResource(String path) | 返回映射到某个资源文件的URL对象。参数path必须以正斜线(/)开始“/”表示当前Web应用的根目录 |
inputStream getResourceAsStream(String path) | 返回映射到某个资源文件的inputStream输入流对象。参数path传递规则同getResource()方法完全一致 |
① : 。
② : 。
③ : 。
④ : 。