大部分的WEB应用在职责上至少被分成四层:表示层、持久层、业务层和域模块层。
一、 表示层
一般来讲,一个典型的WEB应用的前端应该是表示层,可以使用Struts框架。
下面是Struts所负责的:
1、 管理用户的请求,做出相应的响应。
2、 提供一个流程控制,委派调用业务逻辑和其他上层处理。
3、 处理异常。
4、 为显示提供一个数据模型(即把数据对象设置到某一个范围内,用于前台获取数据)。
5、 用户界面的验证。
以下内容,不该在Struts表示层的编码中经常出现,它们与表示层无关的。
1、 与数据库直接通信。
2、 与应用程序相关联的业务逻辑有校验
3、 事务处理。
二、 持久层
典型的WEB应用的后端是持久层。可以用Hibernate实现。Hibernate的持久对象是基于POJO(Plain Old Java Object)和Java集合的。
下面是Hibernate所负责的内容:
1、 如何查询对象的相关信息。
Hibernate是通过一个面向对象查询语言(HQL)或正则表达的API来完成查询的。HQL非常类似于SQL,只是把SQL里的table和columns用Object和它的fields代替。
2、 如何存储、更新、删除数据库记录。
3、 Hibernate这类高级ORM框架支持大部分主流数据库,并且支持父表/子表关系、事务处理、继承和多态。
三、 业务层
一个典型WEB应用的中间部分是业务层或服务层。可以用Spring来实现。
下面是业务层所负责的:
1、 处理应用程序的业务逻辑和业务校验。
2、 管理事务。
3、 提供与其他层相互作用的接口。
4、 管理业务层级别的对象的依赖。
5、 在表示层和持久层之间增加一个灵活的机制,使得他们不直接联系在一起。
6、 通过揭示从表示层到业务层之间的上下文来得到业务逻辑。
7、 管理程序的执行(从业务层到持久层)。
四、 域模块层
既然我们致力于一个WEB的应用,我们就需要一个对象集合,让它在不同层之间移动。域模块层由实际需求中业务对象组成,比如订单明细、产品、等。开发者在这层不用管哪些数据传输对象,而关注域对象即可。例如,Hibernate允许你将数据库中的信息存入域对象,这样你可以在连接断开的情况下把这些数据显示到用户界面层,而那些对象也可以返回给持久层,从而在数据库里更新。而且,你不必把对象转化成DTO(这可能导致它在不同层之间传输过程中丢失)。这个模型使得Java开发者能很自然运用面向编程,而不需要附加编码。
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/lsgsunny/archive/2009/04/03/4022831.aspx
分享到:
相关推荐
这是博文 【c++多模块web项目实践方案【cmake+cppcms+boost+fmt】】附带的项目源代码骨架。笔者主要提出了自己对于c++项目如何分层,如何做一个简单的网站的见解。具体文章地址在:...
javaweb项目开发三大框架的描述!以及javaweb的分层架构的方式!
## 项目分层模式 ### MVC - Model:模型代表一个存取数据的对象。它也可以带有逻辑,在数据变化时更新控制器。 - View:视图代表模型包含的数据的可视化。 - Controller:控制器作用于模型和视图上。它控制数据...
基于.NetCore3.1搭建webapi框架。涉及知识有: 1.swagger API接口文档生成 2.多层(包含接口调用方式)高性能数据处理结构 3.数据仓储模式的实现 4.JWT token身份授权验证 5.appsetting.json文件集成读取配置
3、 分层结构设计:框架严格按照MVC模式设计开发。 a) 能帮助企业迅速发挥团队开发优势,合理分工协作(能迅速将Web表现层开发,业务逻辑组件开发,系统设计合理分离)。 b) 标准的三层结构模型,为系统的稳定、高效...
初步了解项目开发流程 了解DRP系统基本的业务流程 进一步加深对树状结构运用的理解 进一步加深对分页技术的理解 熟练session和filter的概念和运用 掌握html,了解css 掌握页面开发技术javasciprt的基本应用 掌握Ajax...
一个简单的MVC项目示例,有较好的结构分层,体现了DDD,AOP,面向接口等思想.
在npmjs上搜索关于koa路由装饰器的已经有那么几个包了,但是我从几个包中发现作者的思维仅仅限制于前端开发的思想,项目分层不明确,我们开发kow-web项目可以根据java-web中项目分层的思想来写项目,项目结构清晰明了,...
描述了在用VS.NET进行B/S开发时采用的框架结构,一般建立类库项目和Web项目,在Web基本aspx页面类中调用类库中方法,同时在aspx页面类中不需要写任何对数据库操作的SQL代码,便于分层开发和代码维护。 资源中包括...
基于MVC的分层思想及采用jsp+servelt技术的B/S结构的应用系统,系统主要开发语言为JAVA,JSP。数据库要求使用MySQL8.0,应用服务器选用Tomcat服务器 3. 功能介绍 系统能够提供用户有好的界面 系统具有良好的允许效率...
AspnetRunCoreAngularRealWorld是使用干净的体系结构和最佳实践编写的基本aspnetrun项目的实现。 这个想法是,如何在基础存储库上实现现实生活中的项目,即使用完整的E&E电子商务Web模板实现的电子商务领域。 ...
本项目是一套基于JavaWeb基础语言开发的众筹平台系统,无额外三方框架,有助于web项目基础原理学习实战; 项目整体包含前、后台两大模块,功能上完整涵盖众筹平台所需要的核心功能, 如从前台用户注册-登录-发起众筹...
4、分层结构设计:Efs框架严格按照MVC模式设计开发。 a)能帮助企业迅速发挥团队开发优势,合理分工协作(能迅速将Web表现层开发,业务逻辑组件开发,系统设计合理分离)。 b)标准的三层结构模型,为系统的稳定、...
该项目采用了Web技术,实现了一个智慧社区的管理系统。主要功能包括:用户管理、社区公告、报修管理、投诉建议等模块。通过这个项目,可以帮助大家学习和掌握Spring Boot框架的使用,以及如何结合MySQL数据库进行...
4、分层结构设计:EfsFrame框架严格按照MVC模式设计开发。 a)能帮助企业迅速发挥团队开发优势,合理分工协作(能迅速将Web表现层开发,业务逻辑组件开发,系统设计合理分离)。 b)标准的三层结构模型,为系统的...
AspnetRunCoreRealWorld是使用干净的体系结构和最佳实践编写的基本aspnetrun项目的实现。 这个想法是,如何在基础存储库上实现现实生活中的项目,即使用完整的E&E电子商务Web模板实现的电子商务领域。 ...
对于大型的Web应用,应该如何设计类和Web目录的结构 如何设计Web应用的持久层、服务层和Web层 如何测试Web应用的持久层、服务层和Web层 本章亮点: 如何描述Web应用需求和设计 如何对Web应用各分层...
框架结构简单数据库支持:Mssql,Mysql构架便于上手支持良好的业务扩展是一套基础开发模板技术选型开发语言:c#运行时.net Framework4.5 IoC:Autofac,Autofac.WebApi2 Dto:AutoMapper序列化:Newtonsoft.Json ...
零依赖关系,可定制的纯Javascript小部件,用于在任何现代Web浏览器上导航,管理(移动,复制,删除),上载和下载文件和文件夹或其他分层对象结构。 从MIT或LGPL许可证中选择。 | 以适合移动设备的布局体验清晰,...
整个项目通过SSM框架实现了清晰的分层结构,易于维护和扩展。Spring负责整体的业务逻辑和依赖注入,Spring MVC处理请求分发和页面渲染,而MyBatis负责数据库交互。数据库设计优化了数据存储结构和查询效率,以支持...