2012-03-16 48 views
0

我是碼頭新手。我知道如何使用<servlet><servelet-mapping>標籤在web.xml文件中指定servlet名稱和映射,但是如何在我的jetty服務器上託管通用文件,以便我可以調用它們?具體而言,我想上傳一些圖片和html文件。我正在使用戰爭文件。託管在碼頭上的文件

回答

2

你會想使用DefaultServlet來提供圖像和其他靜態內容。該文檔是here和示例配置是這樣的:

<servlet> 
    <servlet-name>staticAssets</servlet-name> 
    <servlet-class>org.eclipse.jetty.servlet.DefaultServlet</servlet-class> 
    </servlet> 
    <servlet-mapping> 
    <servlet-name>staticAssets</servlet-name> 
    <url-pattern>/static/*</url-pattern> 
    </servlet-mapping> 

在放置靜態目錄內WAR文件很少會在適當的URL提供服務。

+0

我在哪裏把靜態目錄,在戰爭文件的子文件夾下? – 2012-03-16 15:17:27

+0

下的根文件夾,它會'靜態/' – 2012-03-16 17:23:46

2

如果您要創建一個war文件,那麼你就不需要在做什麼杰特特殊(或任何其他servlet容器)

簡單地把你的HTML和圖像文件WAR文件裏。只要他們不在WEB-INF目錄中,那麼他們就可以爲客戶提供服務。

假設你正在使用標準的碼頭部署機制,那麼如果你有一個WAR文件名爲myapp.war,它具有以下內容:與

myapp.war: 
    pages/ 
     index.html 
    images/ 
     logo.png 
    WEB-INF/ 
     classes/ 
      com/ 
       example/ 
        MyServlet.class 
     lib/ 
      support.jar 

那麼你index.html頁面將提供http://localhost/myapp/pages/index.html(通常端口號在那裏,無論你運行Jetty的任何端口)

+0

它說它無法找到這樣一個網址。我想我需要告訴它以某種方式映射到該文件 – 2012-03-16 15:19:23

+0

你不應該需要做任何事情。你如何運行Jetty? – Tim 2012-03-17 00:46:37