资源


资源

ServletContext 接口提供了直接访问 Web 应用中仅是静态内容层次结构的文件的方法,包括 HTML,GIF 和 JPEG 文件:

  • getResource
  • getResourceAsStream

getResource 和 getResourceAsStream 方法需要一个以 “/” 开头的String 作为参数,给定的资源路径是相对于上下文的根,或者相对于 web应用的 WEB-INF/lib 目录下的 JAR 文件中的 META-INF/resources 目录。这两个方法首先根据请求的资源查找 web 应用上下文的根,然后查找所有 WEB-INF/lib 目录下的 JAR 文件。查找 WEB-INF/lib 目录中 JAR文件的顺序是不确定的。这种层次结构的文件可以存在于服务器的文件系统,Web 应用的归档文件,远程服务器,或在其他位置。

这两个方法不能用于获取动态内容。例如,在支持 JavaServer Pages™规范的容器中,如 getResource("/index.jsp") 形式的方法调用将返回 JSP 源码而不是处理后的输出。请看第9章,“分发请求”获取更多关于动态内容的信息。 可以使用 getResourcePaths(String path) 方法访问 Web 应用中的资源的完整列表。该方法的语义的全部细节可以从本规范的 API 文档中找到。