我正在开始一个使用Hibernate和标准MVC架构的新Java Web Project.我刚刚开始布局项目结构,在这样做的时候,我开始环顾四周,看看这个区域是否有任何标准,关于控制器应该去哪里以及通常是最好的方法.但是我还没有找到任何指导方针.
所以我很想知道的是
是否有人了解Java Web Project布局的最佳实践指南?
有没有人有一套特定的硬规则,他们总是遵循不同类型的项目?
人们是否倾向于通过演示,业务和应用程序等不同层次来拆分包?
kazanaki.. 6
这实际上取决于您的Web框架.
例如,如果您使用Wicket,则java文件和网页共存于同一目录中,而在大多数其他框架中,页面(.jsp文件或任何您的演示引擎)和代码隐藏的东西(Java文件)是完全独立的.
因此,请阅读框架附带的文档(Spring MVC,Struts,JSF等).
另一个好建议是使用Maven Archetypes为您的特定框架生成骨架.一些Web框架(例如seam)甚至有自己的代码生成工具,为您的Web项目奠定了基础.
对于src目录,我唯一的好建议(Yoni没有提到)是根据业务目的而不是根据类型/层创建包
这意味着包
com.mycompany.myproject.customers
com.mycompany.myproject.departments
com.mycompany.myproject.billing
com.mycompany.myproject.reports
com.mycompany.myproject.admin
并不是
com.mycompany.myproject.entities
com.mycompany.myproject.tables
com.mycompany.myproject.graphs
com.mycompany.myproject.dialogs
com.mycompany.myproject.servlets
第二种结构过于通用,倾向于解决具有不相关内容的大型软件包,并且难以维护.
这实际上取决于您的Web框架.
例如,如果您使用Wicket,则java文件和网页共存于同一目录中,而在大多数其他框架中,页面(.jsp文件或任何您的演示引擎)和代码隐藏的东西(Java文件)是完全独立的.
因此,请阅读框架附带的文档(Spring MVC,Struts,JSF等).
另一个好建议是使用Maven Archetypes为您的特定框架生成骨架.一些Web框架(例如seam)甚至有自己的代码生成工具,为您的Web项目奠定了基础.
对于src目录,我唯一的好建议(Yoni没有提到)是根据业务目的而不是根据类型/层创建包
这意味着包
com.mycompany.myproject.customers
com.mycompany.myproject.departments
com.mycompany.myproject.billing
com.mycompany.myproject.reports
com.mycompany.myproject.admin
并不是
com.mycompany.myproject.entities
com.mycompany.myproject.tables
com.mycompany.myproject.graphs
com.mycompany.myproject.dialogs
com.mycompany.myproject.servlets
第二种结构过于通用,倾向于解决具有不相关内容的大型软件包,并且难以维护.