2017-02-09 73 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模块添加到该模块中。

相关问题