2012-04-15 46 views
1

我需要建立一個Tomcat Web應用程序如下:如何設置tomcat使用應用程序基目錄的子目錄作爲網站的資源?

webapps/ABC 
├── WebContent 
│   ├── img 
│ │ └── ABC.png 
│   ├── ABC.jsp 
│ ├── ABCDEF.jsp 
│   └── styles 
│      └── ABC.css 
└── WEB-INF 
    ├── classes 
    │   ├── model 
    │   │   └── ABCData.class 
    │   └── servlet 
    │    └── ABC.class 
    │ └── otherstuff 
    │  └── ABChelper.class 
    ├── lib 
    └── web.xml 

我設法tomcat的訪問[主持人]/ABC,但內ABC.jsp多次提到的,當以顯示ABC.jsp - 文件到「img/ABC.png」或「styles/ABC.css」等等。我想讓tomcat自動查找「WebContent」-sub目錄中的任何Content,但.class-或.jar-文件​​。本來,我更喜歡一個「資源」 -subdirectory,但後來我在一些網站,我現在不能網站多如牛毛我在最後幾個小時,標準顯然是「的WebContent」閱讀中記憶讀取;一個不起作用的標準。這是否有可能只使用webapp的本地配置?

理想情況下,我想以後剛剛創建web應用程序根一個.jar-文件​​並部署到服務器。

我試着設置一個本地的META-INF/context.xml,但顯然被忽略了(不管我寫入它,tomcat從不抱怨),並且web.xml中的-tags不執行任何操作除了在結束標記中存在拼寫錯誤時導致錯誤)。

回答

0

是的,如果你想使資源可供應用時,他們必須在的WebContent及其子目錄或者如果你是在一個罐子包裝它被其他項目所消耗的應用程序,你是對的把它們放在META-INF/resources目錄下(自動加載所需的Servlet 3.0)。我認爲你唯一可能遺漏的是從上下文路徑中檢索它們。

使用這樣的事情:

<link rel="stylesheet" href="${pageContext.request.contextPath}/styles/ABC.css" /> 
<img src="${pageContext.request.contextPath}/img/ABC.png" /> 
相關問題