一般Web 項(xiàng)目的發(fā)布目錄結(jié)構(gòu)如下所示:
HelloWorld/
├── index.jsp
├── META-INF
│? └── MANIFEST.MF
└── WEB-INF
? ? ├── classes
? ? ├── lib
? ? └── web.xml
index.jsp
通過 http://localhost:8080/HelloWorld/ 訪問的即是該文件,此 Web 應(yīng)用的根目錄名為 HelloWorld。
靜態(tài)資源(jsp、html、css、js 以及 png 等)可直接放在 HelloWorld/ 中,也可在 HelloWorld/ 下創(chuàng)建相應(yīng)的目錄分別放置。
META-INF 目錄
MANIFEST.MF 包含 Web 應(yīng)用的版本等信息。
WEB-INF 目錄
classes 目錄包含 Web 應(yīng)用中所有的已編譯 Java 類文件(以及配置文件等),是 Web 應(yīng)用的核心部分,實(shí)現(xiàn)具體的業(yè)務(wù)邏輯。
lib 目錄包含 Web 應(yīng)用使用的所有類庫文件(即第三方 JAR 文件)。
web.xml 是該 Web 項(xiàng)目的配置文件,用來供 Web 容器部署和執(zhí)行 Web 應(yīng)用。
IntelliJ IDEA 中 Web項(xiàng)目 目錄結(jié)構(gòu)
--src? ? 應(yīng)用程序源代碼和測試程序代碼的根目錄
--main
--java 應(yīng)用程序源代碼目錄
--resources 應(yīng)用程序用到的資源文件(一般都是配置文件)
--webapp web項(xiàng)目根目錄
--WEB-INF
--web.xml web項(xiàng)目配置文件
--index.jsp 默認(rèn)歡迎頁
--test
--java 測試程序代碼目錄
--resources 測試程序用到的資源文件
--target 編譯后的輸出目錄,臨時(shí)創(chuàng)建的
有一個(gè)項(xiàng)目testPro
在D盤下的目錄結(jié)構(gòu)是這樣的:
D:/testPro
--src
? --main
? ? --webapp
? ? ? --WEB-INF
--target
? --classes
這里,項(xiàng)目的根目錄就是D:/testPro
web應(yīng)用部署的根目錄就是webapp目錄(當(dāng)然你的目錄可能叫web或者webroot或者別的什么)
編譯路徑默認(rèn)的就是target/classes
附一個(gè)javaweb項(xiàng)目的目錄結(jié)構(gòu)
├── pom.xml //maven的配置文件
└── src
????├── main
????│?? ├── java //java代碼的目錄
????│?? │?? └── mygroup
????│?? │?????? ├── controller
????│?? │?????? │?? ├── HomeController.java
????│?? │?????? │?? └── PersonController.java
????│?? │?????? ├── dao
????│?? │?????? │?? └── PersonDao.java
????│?? │?????? └── model
????│?? │?????????? └── Person.java
????│?? ├── resources //靜態(tài)資源目錄
????│?? │?? ├── db.properties
????│?? │?? ├── log4j.xml
????│?? │?? └── META-INF
????│?? │?????? └── persistence.xml
????│?? └── webapp //web應(yīng)用部署根目錄
????│?????? ├── index.html //因?yàn)槭庆o態(tài)html文件,不用放到WEB-INF目錄下
????│?????? ├── META-INF
????│?????? │?? ├── context.xml
????│?????? │?? └── MANIFEST.MF
????│?????? ├── resources //css,js等靜態(tài)資源是不能放到WEB-INF目錄下的,因?yàn)閃EB-INF下的資源,客戶端無法直接訪問
????│?????? │?? └── css
????│?????? │?????? └── screen.css
????│?????? └── WEB-INF //jsp都會放到這里,以保證用戶無法直接訪問jsp,而是通過controller這個(gè)目錄下的所有內(nèi)容客戶端都無法直接訪問,所以不要放靜態(tài)文件
????│?????????? ├── spring
????│?????????? │?? ├── app
????│?????????? │?? │?? ├── controllers.xml
????│?????????? │?? │?? └── servlet-context.xml
????│?????????? │?? ├── db.xml
????│?????????? │?? └── root-context.xml
????│?????????? ├── views
????│?????????? │?? ├── edit.jsp
????│?????????? │?? ├── home.jsp
????│?????????? │?? └── list.jsp
????│?????????? └── web.xml
????└── test
????????├── java
????????│?? └── mygroup
????????│?????? ├── controller
????????│?????? │?? ├── DataInitializer.java
????????│?????? │?? ├── HomeControllerTest.java
????????│?????? │?? └── PersonControllerTest.java
????????│?????? └── dao
????????│?????????? └── PersonDaoTest.java
????????└── resources
????????????├── db.properties
????????????├── log4j.xml
????????????├── test-context.xml
????????????└── test-db.xml