2017-02-09 83 views
-3

我正在使用servlet和JSP創建應用程序。我想知道如何在應用程序中將模塊安排爲包。 I.e .:我想要我的servlets在testproject.web,型號爲testproject.modelstestproject.dataaccess等等。大型網站項目的Web應用程序包結構

我可以創建不同的包並在相關包中安排我的源代碼嗎?

我想知道做到這一點的最佳做法。我假定所有的源代碼都可以在Eclipse中的一個動態Web項目中創建。

我基本上是一個.NET程序員,我們可以在一個解決方案中創建不同的項目。

+1

Java有一個'package'的概念,是的。這是你所問的全部嗎? –

+0

是的。我想獲得更多建議,如果有的話 –

回答

0

Java有package概念,你可以安排在不同的包代碼 作爲 等創建不同的包,並安排相關的包中的源代碼

樣品例如

ui 
presentation 
business 
dataacess 
utils 
library 

可以根據您的架構和/或基於應用程序中的圖層或層創建不同的packages

注: -以上只是示例,您可以根據您的應用程序實現來安排包。

+0

爲什麼負面需要解釋,這將有所幫助 –

+1

好的。我希望沒有像testproject.ui,testproject.business等這樣做的問題... –

3

當然,您可以使用package聲明,但您也可以使用Maven/Gradle創建多模塊項目。這些也可以作爲你的依賴管理工具,如.NET中的NuGet。

一個示例pom.xml部分來自我的Java Web項目。

依賴從大多數的自下而上依賴設置至少。 (這是建立在其他pom.xml文件)

<modules> 
    <module>core</module> 
    <module>service-templating-core</module> 
    <module>service-templating-velocity</module> 
    <module>service-rest-jersey</module> 
    <module>service-rest-sparkjava</module> 
    <module>web</module> 
    </modules> 

凡模塊

  • core:基本Java對象較少依賴關係
  • web:「入口點」的網站,並持有靜態資源
  • service-rest-*:處理REST API路由(實現的JAX-RS或SparkJava)
  • service-templating-*:處理HTML模板(實現Velocity模板)
  • service-templating-core:處理結合Java對象的抽象ViewTemplate

在Eclipse中,這些「看起來」像單獨的項目,但實際上它只是一個Maven項目。

eclipse projects


你仍然可以在每個這些項目的包。這一切仍然是Java


我沒有在生產中使用它,它主要是快速切換框架之間的學習。
例如,如果需要,您可以輕鬆地將db-mysqldb-mongo模塊添加到該模塊中。