托管许多静态文件的最佳做法

时间:2013-04-28 13:40:44

标签: java file web-applications

有时我们必须在项目中保留很多小文件(例如isomorphic的智能客户端)。这是大约10万个小文件。 svn(我不知道git如何处理它),复制,打包等问题,但这些文件几乎永远不会改变,因为它只是一个外部库。有没有办法将它们保存在一个zip文件中并告诉tomcat从该文件中托管它们?或者他们应该区别对待?任何最佳做法?

更准确。这是我的文件夹结构:

src/main/
     +---webapp/
     |      +---static/    <-- thousand 3rd party's files in this dir
     |
     +---java/

Maven将使用我的代码和静态文件构建战争,它将起作用。但是在战争构建之前使用这么多文件是一个PINA。我想要像:

src/main/
     +---webapp/
     |      +---static.zip    <-- only 1 file
     |
     +---java/

是否可以在流行的网络服务器上使用?

1 个答案:

答案 0 :(得分:1)

如果您在servlet-3.0 Web应用程序中,请创建一个jar文件,并将所有静态资源放在此jar文件中的META-INF / resources下。然后将此jar文件放在Web应用程序的WEB-INF / lib中,容器将为您的静态资源提供服务,就像它们位于Web应用程序的根目录一样。

因此,如果您希望静态资源foo.hml的URL为

http://localhost/myWebApp/static/foo.html, 

你应该有这个目录/ jar结构:

webapp
  WEB-INF
    lib
      static.jar
        META-INF
          resources
            static
              foo.html