一般Web 项目的发布目录结构如下所示:
HelloWorld/
├── index.jsp
├── META-INF
│ └── MANIFEST.MF
└── WEB-INF
├── classes
├── lib
└── web.xml
index.jsp
通过 http://localhost:8080/HelloWorld/ 访问的即是该文件,此 Web 应用的根目录名为 HelloWorld。
静态资源(jsp、html、css、js 以及 png 等)可直接放在 HelloWorld/ 中,也可在 HelloWorld/ 下创建相应的目录分别放置。
META-INF 目录
MANIFEST.MF 包含 Web 应用的版本等信息。
WEB-INF 目录
classes 目录包含 Web 应用中所有的已编译 Java 类文件(以及配置文件等),是 Web 应用的核心部分,实现具体的业务逻辑。
lib 目录包含 Web 应用使用的所有类库文件(即第三方 JAR 文件)。
web.xml 是该 Web 项目的配置文件,用来供 Web 容器部署和执行 Web 应用。
IntelliJ IDEA 中 Web项目 目录结构
--src 应用程序源代码和测试程序代码的根目录
--main
--java 应用程序源代码目录
--resources 应用程序用到的资源文件(一般都是配置文件)
--webapp web项目根目录
--WEB-INF
--web.xml web项目配置文件
--index.jsp 默认欢迎页
--test
--java 测试程序代码目录
--resources 测试程序用到的资源文件
--target 编译后的输出目录,临时创建的
有一个项目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