web應用部署的根目錄,編譯路徑和項目的根目錄有什么區別?
直接上例子:
你有一個項目,名字叫做testPro
項目放到了你的D盤,目錄結構是這樣的:
D:/testPro
--src
--main
--webapp
--WEB-INF
--target
--classes
這里,項目的根目錄就是D:/testPro
web應用部署的根目錄就是webapp目錄(當然你的目錄可能叫web或者webroot或者別的什么)
編譯路徑默認的就是target/classes
附一個javaweb項目的目錄結構
├── pom.xml //maven的配置文件
└── src
├── main
│ ├── java //java代碼的目錄
│ │ └── mygroup
│ │ ├── controller
│ │ │ ├── HomeController.java
│ │ │ └── PersonController.java
│ │ ├── dao
│ │ │ └── PersonDao.java
│ │ └── model
│ │ └── Person.java
│ ├── resources //靜態資源目錄
│ │ ├── db.properties
│ │ ├── log4j.xml
│ │ └── META-INF
│ │ └── persistence.xml
│ └── webapp //web應用部署根目錄
│ ├── index.html //因為是靜態html文件,不用放到WEB-INF目錄下
│ ├── META-INF
│ │ ├── context.xml
│ │ └── MANIFEST.MF
│ ├── resources //css,js等靜態資源是不能放到WEB-INF目錄下的,因為WEB-INF下的資源,客戶端無法直接訪問
│ │ └── css
│ │ └── screen.css
│ └── WEB-INF //jsp都會放到這里,以保證用戶無法直接訪問jsp,而是通過controller這個目錄下的所有內容客戶端都無法直接訪問,所以不要放靜態文件
│ ├── 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