2017-08-01 39 views
0

我無法確定是否正確理解Servlet 3.0規範或Tomcat中存在錯誤。Servlet 3網絡片段 - 不從META-INF中的文件夾提供靜態內容

這是我的情況。我有一個包含jar項目的web應用程序。 Web應用程序使用Jersey 2.9定義一組REST端點。 jar項目還定義了REST端點(也使用Jersey 2.9),並在META-INF/resource目錄中包含靜態內容。 jar中META-INF目錄的結構如下所示:

META-INF 
    |- resources 
    |- test.html 
    |- testfolder 
     |- test2.html 

我在Tomcat 8.5.16上運行這個。當我運行此我得到如下結果:

  1. WAR REST端點:成功
  2. JAR REST端點:成功
  3. /test.html:成功
  4. /testfolder/test2.html - 失敗的404

WAR項目沒有靜態內容,所以我沒有發生衝突。我檢查過WAR中的JAR文件,它包含上面顯示的結構。

關於爲什麼頂級html文件被提供的任何想法,但不是文件夾中的一個?

+0

我看不出有什麼理由不應該這樣做。我懷疑是一個Tomcat錯誤。 –

回答

0

將您的資源放在名爲/ static的WAR中的頂級文件夾中。然後Tomcat會爲他們服務。還有其他文件夾名稱可以做同樣的事情。

+0

感謝您的回覆,但那不是我正在尋找的。 Web片段的重點在於JAR可以擁有自己的一組靜態內容,無需將其放入WAR中。 具體來說,我正在創建一個用於實時管理log4j記錄器級別的JAR。許多Web應用程序可以將JAR放入其項目並免費獲得此管理。理論上,至少如果我能得到這個工作。 – chriso153

相關問題