【发布时间】: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