本节书摘来异步社区《Java EE 7精粹》一书中的第2章,第2.8节,作者:【美】Arun Gupta,更多章节内容可以访问云栖社区“异步社区”公众号查看。
可以使用ServletContext.getResource()方法和ServletContext.getResourceAsStream()方法来访问绑定在.war文件中的资源。资源路径被指定为以“/.”前导的字符串,该路径被解析为相对于上下文根目录或者相对于绑定在WEB-INF/lib目录中JAR文件的META-INF/resources目录:
myApplication.war WEB-INF lib library.jar``` library.jar具有以下结构:library.jar MyClass1.class MyClass2.class stylesheets
common.cssimages
header.png footer.png```通常情况下,如果必须在Servlet中访问样式表和图像的目录,需要手动把他们解压到Web应用程序的根目录。Servlet 3.0中允许库在META-INF/resources目录打包的资源:
library.jar MyClass1.class MyClass2.class META-INF resources stylesheets common.css images header.png footer.png``` 在本例中,资源不需要被提取到应用程序的根目录,可以直接被访问。这将允许直接访问绑定在META-INF/resources目录下的第三方JAR文件中的资源,而无需直接手动解压缩。 相关资源:JavaEE7 精粹(高清非扫描版)