2013-03-01 82 views
2

這是從Java EE6 Tutorial什麼是JavaEE應用程序的文檔根目錄?

Web模塊具有特定的結構。 Web模塊的頂級目錄是應用程序的文檔根目錄。文檔根目錄 是存儲XHTML頁面,客戶端類和歸檔以及靜態資源(如圖像)的位置。

文檔根目錄包含一個名爲WEB-INF子目錄,可以 包含下列文件和目錄

但在here,好像在WEB-INF目錄不是文檔根目錄。此外,當您創建使用NetBeans一個JSF項目,文件夾結構將是這樣的:

ProjectName 
| 
| 
--src 
| 
| 
--web 
    | 
    | 
    --WEB-INF 

這又意味着網頁目錄不是文檔根目錄?

那麼哪個是正確的?

因爲Java中的EE6教程,文繼續說道:

文檔根目錄包含一個名爲WEB-INF子目錄,可以 包含下列文件和目錄類:包含 服務器的目錄端類:小服務程序,企業bean類文件,工具類, JavaBeanscomponents

但根據NetBeans和上面的教程中,服務器端CLAS ses在不同的目錄中?

請幫忙解決這個問題嗎?

+0

如果您在那裏查看教程,它會告訴您它將使用maven,這就是文件夾結構不同的原因。請參閱http://www.mkyong.com/maven/how-to-create-a-web-application-project-with-maven/ – 2013-03-01 23:51:42

+0

Netbeans不使用maven,仍然有不同的結構。 – 2013-03-01 23:52:11

+0

術語* web模塊*並不涉及與NetBeans項目結構相關的任何內容。你鏈接到它的教程解釋了! Web模塊只是「可以部署到應用服務器的東西」。在你的情況下,'web'目錄的內容。本教程所說的是* web模塊*是包含「WEB-INF」的目錄。 – millimoose 2013-03-01 23:53:41

回答

4

EE規範討論了最終戰爭文件的目錄結構。您在問題中提到的目錄結構是IDE如何在其項目結構中安排不同的文件。他們是兩個不同的東西。

要回答你的問題,war中的文檔根目錄是WEB-INF目錄的父目錄。不同的IDE對於項目結構有不同的文檔根目錄,但在大多數情況下,它也是WEB-INF目錄的父目錄。在netbeans的情況下,它是web文件夾。在標準Eclipse Web項目中,它是WebContent目錄。在maven世界中,它是src/main/webapp目錄。這些都可以在IDE中配置。

+0

因此,我所擁有的Web-Inf目錄與Java EE提及的Web-Inf目錄無關?因爲我的類文件位於src文件下,而JavaEE認爲類文件位於Web-Inf目錄下?那是最終戰爭文件中的Web-Inf,而不是我項目設置中的Web-Inf? – 2013-03-01 23:58:37

+1

您的源代碼.java文件位於src目錄中。但是在生成war文件後,編譯後的.class文件將最終放入WEB-INF/classes目錄中。我們項目中的WEB-INF目錄與最終戰爭中的WEB-INF目錄鏈接,但它們並不相同。在開發的編譯/軟件包階段會出現很多複製/壓縮文件 – Lan 2013-03-02 00:02:01

+1

正如答案所指出的那樣 - 編碼步驟中的文件排列順序不同,但是您,IDE和構建系統更喜歡,並且部署一步,構建系統組裝一個.war,然後部署它。文檔根是.war的根,它包含WEB-INF目錄。在您的編碼IDE中,文檔根目錄是構建系統所說的位置,例如web或WebContent或src/main/webapp。 – 2013-03-02 00:13:59

相關問題