天天看点

[Java EE 7] Servlet 资源打包

在 web 工程中,可以使用 ServletContext.getResource 或 .getResourceAsStream 来获取资源。资源路径由 “/” 开始,这个路径是个相对路径,对应 Web 工程的根目录,或 WEB-INF/lib 中 jar 包的 META-INF/resources 目录:

myApplication.war
  WEB-INF
    lib
      library.jar
           

library.jar 有下面的包结构:

library.jar
  MyClass1.class
  MyClass2.class
  stylesheets
    common.css
  images
    header.png
    footer.png
           

一般情况下,如果在 servlet 中要访问 stylesheets 和 images 文件夹中的资源,需要手动地将它们提取到 web 工程的根目录下。从 servlet 3.0 开始,允许将资源放入 jar 包的 META-INF/resources 目录下:

library.jar
  MyClass1.class
  MyClass2.class
  META-INF
    resources
      stylesheets
        common.css
      images
        header.png
        footer.png
           

在上面例子中,资源放入了 META-INF/resources 目录中,因此不需要提取到根目录也能直接访问。

应用会先扫描 web 根目录下的资源,再扫描 jar 包中的资源,jar 包中资源的扫描顺序是不定的。

文章来源:[url]http://www.aptusource.org/2014/04/java-ee-7-resource-packaging/[/url]

继续阅读