今天為此事糾結了一段時間。
以下是mavaen推薦的項目目錄.
├── 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里。
開發時classes文件存放路徑:
buildpath:在eclipse中項目的右鍵Java build path-source中指定工程中class文件的編譯路徑,一般為:test/build/classes。(test是工程名)
發布時classes文件存放路徑:
發布到tomcat時(在eclipse里啟動tomcat),src文件夾里的java文件經過編譯后,會把.class文件放在WEB-INF文件夾里的classes文件夾中。
有一些配置文件需要放到WEB-INF的classes文件夾下,所以,通常的做法是手動在工程的WEB-INF文件夾下建立classes文件夾。如果不在工程的WEB-INF下手動建立classes,發布到tomcat時tomcat里的WEB-INF中也會有classes文件夾。
關於jar
【Web App Libraries】 一般是指向web工程的 WEB-INF/lib下的包(可以將包copy到此目錄下 然后刷新工程 加入的包一般可以自動找到 如果找不到 右鍵|Properties |Java Build Path|Libraries |Add JARs 可以加入)
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。
開發環境中eclise會將工程打包放到tomcat下,進行關聯。
1.工程目錄:
2.發布后的tomcat目錄: