2011-01-19 21 views
27

前一段时间,我读了一篇文章,期望在Servlet API 3.0中有所期待。我记得我读过,您可以将一些.jsp文件保存在/WEB-INF/lib/somelib.jar/META-INF/web/.jsp中,并且该资源将暴露于Web应用程序的上下文根。在Web应用程序中暴露jar文件中的资源(Tomcat7)

我刚刚安装了Tomcat7进行了一次尝试,但是我没有发现任何可以将一些网络资源放入jar文件的文档。

  • 此功能是否存在于servlet api 3.0中?
  • 这个特性是否存在于tomcat 7.0中?
  • 有没有另一种方法来在/lib/*.jar文件中有jsp文件?

回答

39

servlet 3.0中有一项功能允许您将资源(图像,jsp等)打包到JAR文件中。你所做的是在你的jar文件中,你创建了META-INF/resources并在那里存储了你想要的任何东西,包括用于构建资源的目录。会发生什么情况是META-INF/resources将映射到您的Web应用程序的docroot

当应用程序和JAR文件之间存在资源冲突时,将返回您的应用程序资源。见this

Tomcat 7支持Servlet 3所以它应该支持这个功能

+2

谢谢。我用Tomcat 7.0.6测试了它,它工作。重要的是,这只适用于WEB-INF/lib中的jar,而不适用于WEB-INF/classes – 2011-01-19 08:48:41

相关问题