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
JAVA WEB项目目录结构以及web应用部署的根目录,编译路径和项目根目录的区别
原文:https://www.cnblogs.com/shoshana-kong/p/11419867.html