今天为此事纠结了一段时间。css
如下是mavaen推荐的项目目录.
html
├── 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
│ ├── 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
==========================================================================================================
tomcat 推荐的目录结构 http://tomcat.apache.org/tomcat-5.5-doc/appdev/source.html
===========================================================================================================
Java web工程下的webapp或WebContent就是工程的发布文件夹,发布时会把该文件夹发布到tomcat的webapps里。java
开发时classes文件存放路径:
web
buildpath:在eclipse中项目的右键Java build path-source中指定工程中class文件的编译路径,通常为:test/build/classes。(test是工程名)spring
发布时classes文件存放路径:
apache
发布到tomcat时(在eclipse里启动tomcat),src文件夹里的java文件通过编译后,会把.class文件放在WEB-INF文件夹里的classes文件夹中。tomcat
有一些配置文件须要放到WEB-INF的classes文件夹下,因此,一般的作法是手动在工程的WEB-INF文件夹下创建classes文件夹。若是不在工程的WEB-INF下手动创建classes,发布到tomcat时tomcat里的WEB-INF中也会有classes文件夹。app
关于jar
eclipse
【Web App Libraries】 通常是指向web工程的 WEB-INF/lib下的包(能够将包copy到此目录下 而后刷新工程 加入的包通常能够自动找到 若是找不到 右键|Properties |Java Build Path|Libraries |Add JARs 能够加入)
webapp
build path中add jar能够引用工程文件夹之外的jar,若是引用了工程之外的jar,在.classpath文件中会添加(如java的jar包jre和tomcat的jar包):
<classpathentry kind="lib" path="D:/workspace/ojdbc14.jar"/>
web-info/lib中的jar不会往.classpath文件中会添加, 其他二者没有区别,编译的时候先找classpath中的jar若是没有则找web-info/lib中的jar。
2.发布后的tomcat目录: