2012-09-06 151 views
3

我希望GlassFish提供我在項目的war文件中插入的靜態內容(jpg,css,js)。提供靜態內容GlassFish

我用默認的servlet和tomcat一起工作。這是在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> 

我發現一些帖子,告訴怎麼做,但都指的是使用外部目錄,其中靜態內容被保存。就我而言,我希望內容參與戰爭。

+0

爲什麼你需要這樣做?你有一個自定義/第三方前端控制器servlet映射到過度泛化的'/ *'模式,因此也會消耗靜態內容嗎? – BalusC

+0

我只想提供glassfish中的靜態內容。你有替代品嗎? – bachr

+2

只需將這些文件放入WAR中,然後按照常規方式訪問它們...?你根本不需要配置一個servlet。 Glassfish(以及Tomcat和其他所有!)自動使用它們自己的默認servlet。只有當你在'/ *'上映射了一個設計得非常糟糕的前端控制器servlet或過濾器時,你確實需要明確地配置容器的默認servlet,就像你自己的問題所展示的那樣。 – BalusC

回答

0

您可以將圖像和css存儲在Web-Inf文件夾中,並使用getServletContext來使用內容。