更新時(shí)間:2020-10-26 17:32:00 來(lái)源:動(dòng)力節(jié)點(diǎn) 瀏覽2620次
我們?cè)陂_發(fā)Java Web項(xiàng)目的過(guò)程中,除了要考慮項(xiàng)目的具體代碼實(shí)現(xiàn)還有考慮整個(gè)Java Web項(xiàng)目的目錄結(jié)構(gòu)。一個(gè)好的Java Web項(xiàng)目目錄結(jié)構(gòu)能夠有利于我們梳理項(xiàng)目各個(gè)部分之間的關(guān)系,使整個(gè)項(xiàng)目的結(jié)構(gòu)一目了然。盡管沒(méi)有標(biāo)準(zhǔn)規(guī)定Java Web項(xiàng)目目錄結(jié)構(gòu)如何,但還是有參考的規(guī)范存在。
以下是Maven推薦的Java Web項(xiàng)目目錄:
├── 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
我們根據(jù)上面的Java Web項(xiàng)目目錄結(jié)構(gòu),對(duì)一些文件目錄來(lái)進(jìn)行必要的分析。
Java web工程下的webapp或WebContent就是工程的發(fā)布文件夾,發(fā)布時(shí)會(huì)把該文件夾發(fā)布到tomcat的webapps里。
開發(fā)時(shí)classes文件存放路徑:
buildpath:在eclipse中項(xiàng)目的右鍵Java build path-source中指定工程中class文件的編譯路徑,一般為:test/build/classes。(test是工程名)
發(fā)布時(shí)classes文件存放路徑:
發(fā)布到tomcat時(shí)(在eclipse里啟動(dòng)tomcat),src文件夾里的java文件經(jīng)過(guò)編譯后,會(huì)把.class文件放在WEB-INF文件夾里的classes文件夾中。
有一些配置文件需要放到WEB-INF的classes文件夾下,所以,通常的做法是手動(dòng)在工程的WEB-INF文件夾下建立classes文件夾。如果不在工程的WEB-INF下手動(dòng)建立classes,發(fā)布到tomcat時(shí)tomcat里的WEB-INF中也會(huì)有classes文件夾。
【Web App Libraries】 一般是指向web工程的 WEB-INF/lib下的包(可以將包copy到此目錄下 然后刷新工程 加入的包一般可以自動(dòng)找到 如果找不到 右鍵|Properties |Java Build Path|Libraries |Add JARs 可以加入)
build path中add jar可以引用工程文件夾以外的jar,如果引用了工程以外的jar,在.classpath文件中會(huì)添加(如java的jar包jre和tomcat的jar包):
<classpathentry kind="lib" path="D:/workspace/ojdbc14.jar"/>
web-info/lib中的jar不會(huì)往.classpath文件中會(huì)添加, 其余兩者沒(méi)有區(qū)別,編譯的時(shí)候先找classpath中的jar如果沒(méi)有則找web-info/lib中的jar。
web工程參照了很多文件,因此發(fā)布的時(shí)候要打成war包,使其變成單獨(dú)的個(gè)體,放到web容器里。
開發(fā)環(huán)境中eclise會(huì)將工程打包放到tomcat下,進(jìn)行關(guān)聯(lián)。
總的來(lái)說(shuō),Java Web項(xiàng)目目錄結(jié)構(gòu)和其他類的項(xiàng)目目錄結(jié)構(gòu)大同小異,但都會(huì)有邏輯性可言。一個(gè)良好的Java Web項(xiàng)目目錄結(jié)構(gòu)能夠提高項(xiàng)目開發(fā)的效率,減少代碼的錯(cuò)誤率由此可見,掌握良好的Java Web項(xiàng)目目錄結(jié)構(gòu)對(duì)一個(gè)從事前端開發(fā)的開發(fā)人員是非常必要的。于此同時(shí),我們也可言觀看本站的Java Web教程,學(xué)習(xí)更多Java Web開發(fā)的規(guī)范。
0基礎(chǔ) 0學(xué)費(fèi) 15天面授
有基礎(chǔ) 直達(dá)就業(yè)
業(yè)余時(shí)間 高薪轉(zhuǎn)行
工作1~3年,加薪神器
工作3~5年,晉升架構(gòu)
提交申請(qǐng)后,顧問(wèn)老師會(huì)電話與您溝通安排學(xué)習(xí)