为GlassFish提供静态内容服务

4
我希望GlassFish能够提供静态内容(如jpg、css、js),这些内容已经被插入到该项目的war文件中。
我在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>

我找到了一些帖子,讲述如何操作,但它们都提到使用外部目录来保存静态内容。在我的情况下,我希望这些内容存在war文件中。

你为什么需要这样做?你是否有一个自定义/第三方前端控制器Servlet映射到过于通用的“/*”模式,因此也会消耗静态内容? - BalusC
我只想在Glassfish中提供静态内容。你有其他选择吗? - bachr
2
只需将这些文件放入WAR中并按照通常的方式访问它们...?您根本不需要为此配置servlet。Glassfish(以及Tomcat和所有其他服务器!)会自动使用它们自己的默认servlet。仅当您有一个设计不良的前端控制器servlet或在“/*”上映射的过滤器时,您确实需要显式配置容器的默认servlet,就像您自己的问题所示。 - BalusC
这是链接:http://webmasters.stackexchange.com/questions/29550/why-the-difference-between-tomcat-and-tomcat7-regarding-servlet-mapping-and-defa - Hardik Mishra
感谢您的提示。 - bachr
1个回答

0

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接