【问题标题】:Webapp map static resources to jar in TomcatWebapp将静态资源映射到Tomcat中的jar
【发布时间】:2014-10-02 04:55:43
【问题描述】:

我正在将 Web 应用程序移植到 tomcat,但我遇到了静态资源问题。

我有一个包含 Web 资源(css、img、js、...文件)的 jar。这些文件被打包在类似这样的路径中:

data.jar
com/bizname/application/web/css
com/bizname/application/web/img
com/bizname/application/web/js

jar 位于 Web 应用程序中。我希望能够将资源映射到公共访问。例如,如果我访问:

http://myserver:8080/mywebapp/css/style.css

我希望发送资源com/bizname/application/web/css/style.css

我在 Tomcat 的 web.xml-file 中找不到如何设置它。

在 Jetty 嵌入式中,我能够使用句柄来实现这一点。

final URL url_css = Servidor.class.getClassLoader().getResource("com/bizname/application/web/css");
HandlerList handlers = new HandlerList();
handlers.addHandler(new WebAppContext(url_css.toExternalForm(),"/css"));
// ... adding handler to context

【问题讨论】:

    标签: java html tomcat web-applications war


    【解决方案1】:

    也许jawr可以帮到你。

    如果没有,您可以实现一个 Servlet 来为您完成它(读取文件并将其写入响应)。如果你使用像 Resteasy 这样的东西会更容易,因为你不需要写 IO 的东西。

    【讨论】:

    • 我实现了一个 servlet 来处理静态数据传递。
    【解决方案2】:

    考虑到我只使用 Eclipse 中的 Tomcat,我不太确定这是对的,但我还是会试一试。

    我假设您在此应用程序中使用 Java Servlet?如果是这种情况,那么您需要在 web.xml 中指定 URL 模式。这是一个来自 apache.org 的 web.xml 文件的一个很好的例子,它解释了文件的各个方面:

    https://tomcat.apache.org/tomcat-5.5-doc/appdev/web.xml.txt

    希望对您有所帮助!

    【讨论】:

      猜你喜欢
      • 2014-04-13
      • 2018-12-08
      • 2021-10-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多