[英]What is the best practice of the directory Structure Of Java Web Application
[英]Java Web Project Structure Best Practice
我正在开始一个使用Hibernate和标准MVC架构的新Java Web Project。 我刚刚开始布局项目结构,在这样做的时候,我开始环顾四周,看看这个区域是否有任何标准,关于控制器应该去哪里以及通常是最好的方法。 但是我还没有找到任何指导方针。
所以我很想知道的是
这实际上取决于您的Web框架。
例如,如果您使用Wicket,则java文件和网页共存于同一目录中,而在大多数其他框架中,页面(.jsp文件或任何您的演示引擎)和代码隐藏的东西(Java文件)是完全独立的。
因此,请阅读框架附带的文档(Spring MVC,Struts,JSF等)。
另一个好建议是使用Maven Archetypes为您的特定框架生成骨架。 一些Web框架(例如seam)甚至有自己的代码生成工具,为您的Web项目奠定了基础。
对于src目录,我唯一的好建议(Yoni没有提到)是根据业务目的而不是根据类型/层创建包
这意味着包
并不是
第二种结构过于通用,倾向于解决具有不相关内容的大型包,并且难以维护。
为了继续我以前的答案,我有很多网络项目。 在所有这些中,src下的结构或多或少相同。 这些包大致分为3个逻辑层。
首先是表达层,如您所说,用于servlet,应用程序监听器和帮助程序。
其次,有一个用于hibernate模型/ db访问层的层。 业务逻辑的第三层。 但是,有时这些层之间的边界并不清楚。 如果你使用hibernate进行数据库访问,那么模型是由hibernate类定义的,所以我把它们放在与dao对象相同的区域。 例如,com.sample.model保存hibernate数据对象,com.sample.model.dao保存dao对象。
如果使用直接jdbc(通常使用Spring),那么有时候我发现将数据对象放在业务逻辑层而不是数据库访问层更方便。
(其余的东西通常属于业务层)。
首先,遵循流行的ide,ala Eclipse,Netbeans等的传统结构。例如,在Eclipse中,所有内容都已经安排了WEB-INF和META-INF文件夹,因此打包和部署很容易。 类源代码(通常在src下)自动复制到WEB-INF / classes。 还有一些其他考虑因素:
project
|-- pom.xml
`-- src
`-- main
|-- java
`-- webapp
|-- WEB-INF
| `-- web.xml
`-- index.jsp
我在这里的示例中包含了java
文件夹,也许很明显,但由于某种原因它被遗漏在上面的链接中。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.