以前没有用过maven管理过项目的依赖,最后使用上了maven,发现通过不能方式建立出来的web应用程序目录结构基本都不一样,既然每次都要到网上搜索如何建立maven管理的Web应用程序,不如自己找百度谷歌一下。
找了半天 ,感觉比较好的maven管理的web应用程序目录结构是这个:
├── pom.xml
└── src
├── main
│ ├── java
│ │ └── mygroup
│ │ ├── controller
│ │ │ ├── HomeController.java
│ │ │ └── PersonController.java
│ │ ├── dao
│ │ │ └── PersonDao.java
│ │ └── model
│ │ └── Person.java
│ ├── resources
│ │ ├── db.properties
│ │ ├── log4j.xml
│ │ └── META-INF
│ │ └── persistence.xml
│ └── webapp(存放的是需要部署到服务器的文件)
│ ├── index.html
│ ├── META-INF
│ │ ├── context.xml
│ │ └── MANIFEST.MF
│ ├── resources
│ │ └── css
│ │ └── screen.css
│ └── WEB-INF
│ │ └── web.xml
│ │ └── classes
│ │ └── lib
│ └── views
│ ├── edit.jsp
│ ├── home.jsp
│ └── list.jsp
│
└── test
├── java
│ └── mygroup
│ ├── controller
│ │ ├── DataInitializer.java
│ │ ├── HomeControllerTest.java
│ │ └── PersonControllerTest.java
│ └── dao
│ └── PersonDaoTest.java
└── resources
├── db.properties
├── log4j.xml
├── test-context.xml
└── test-db.xml
META-INF : 存放一些meta information相关的文件的这么一个文件夹, 一般来说尽量不要自己手工放置文件到这个文件夹。
WEB-INF
classes:用于存放java字节码文件
lib:用于存放该工程用到的库,例如servlet-api.jar等等
web.xml:web工程的配置文件,完成用户请求的逻辑名称到真正的servlet类的映射
JSP文件以及静态资源文件
凡是客户端能访问的资源(html或.jpg)必须跟WEB-INF在同一目录,即放在Web根目录下的资源,从客户端是可以通过URL地址直接访问的。
例如:
项目目录:
tomcat中目录:
其实只要符合基本的标准,然后在程序的deployment assembly中配置正常就没有太大关系。
JavaWeb应用的组成结构
开发JavaWeb应用时,不同类型的文件有严格的存放规则,否则不仅可能会使web应用无法访问,还会导致web服务器启动报错
JavaWeb项目标准的组成结构
WebRoot Web应用所在目录,一般情况下虚拟目录要配置到此文件夹当中。
┝WEB-INF:此文件夹必须位于WebRoot文件夹里面,而且必须以这样的形式去命名,字母都要大写。
┝web.xml:配置文件,有格式要求,此文件必须以这样的形式去命名,并且必须放置到WEB-INF文件夹中。