【问题标题】:Serving static content GlassFish提供静态内容 GlassFish
【发布时间】:2012-09-06 18:15:28
【问题描述】:

我希望 GlassFish 提供我在项目的 war 文件中插入的静态内容(jpg、css、js)。

我使用了带有 tomcat 的默认 servlet,它可以工作。这是 web.xml 中的声明:

<servlet>
  <servlet-name>DefaultServlet</servlet-name>
  <servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class>
</servlet>
<servlet-mapping>
  <servlet-name>DefaultServlet</servlet-name>
  <url-pattern>/images/*</url-pattern>
  <url-pattern>/css/*</url-pattern>
</servlet-mapping>

我找到了一些说明如何操作的帖子,但都指使用保存静态内容的外部目录。在我的情况下,我希望内容在战争中。

【问题讨论】:

  • 为什么需要这样做?您是否有一个自定义/第 3 方前端控制器 servlet 映射到过于通用的 /* 模式,因此也消耗静态内容?
  • 我只想在 glassfish 中提供静态内容。你有其他选择吗?
  • 只需将这些文件放到 WAR 中并以通常的方式访问它们...?您根本不需要为此配置 servlet。 Glassfish(以及 Tomcat 和所有其他人!)为此自动使用他们自己的默认 servlet。仅当您在 /* 上映射了设计不佳的前端控制器 servlet 或过滤器时,您确实需要显式配置容器的默认 servlet,如您自己的问题中所示。
  • 感谢正文的提示。

标签: tomcat servlets glassfish war web.xml


【解决方案1】:

您可以将图像和css存储在Web-Inf文件夹中,并使用getServletContext来使用内容。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-18
    • 2018-01-29
    • 1970-01-01
    相关资源
    最近更新 更多