大部分的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++项目如何分层,如何做一个简单的网站的见解。具体文章地址在:...
## 项目分层模式 ### MVC - Model:模型代表一个存取数据的对象。它也可以带有逻辑,在数据变化时更新控制器。 - View:视图代表模型包含的数据的可视化。 - Controller:控制器作用于模型和视图上。它控制数据...
在"bubble-master_gin+gorm学习项目_已分层.rar"这个压缩包中,我们可以深入学习如何将 Gin 与 Gorm 结合,构建一个分层结构的 Web 应用程序。 1. **Gin 框架基础** - Gin 提供了一个简洁的 API,使得开发者可以...
通过学习和分析这些文件,可以深入理解Web三层结构在实际项目中的应用。 总结来说,Web三层结构是一种经典的软件架构模式,它将应用划分为表现层、业务逻辑层和数据访问层,以提高代码的可维护性和可扩展性。理解并...
JavaWeb分层架构是开发大型、复杂Web应用的常用模式,它通过将应用程序的不同...虽然文件名列表未给出具体信息,但通常相关的资料可能包含示例代码、项目结构、配置文件等内容,有助于深入理解并实践JavaWeb分层架构。
【Java Web项目—网上商城项目】是一个典型的Java后端技术与Web前端技术相结合的应用实例,主要采用了SSH(Struts2、Hibernate、Spring)三大框架进行开发。SSH框架因其高效、灵活和可扩展性,在企业级应用开发中...
本项目“asp.net分层小项目”是一个典型的使用ASP.NET技术实现的分层架构的图书馆管理系统,旨在展示如何在实际开发中进行结构化和模块化的编程,提高代码的可读性和可维护性。 项目的核心是分层架构,这种设计模式...
【标题】:“jsp项目(WEB)”是一个基于JavaServer Pages(JSP)技术构建的Web应用程序,它展示了在开发Web项目时使用的技术栈和设计模式。这个项目可能旨在实现一个类似于“酷狗官网”的功能,提供了音乐播放、...
C# Web 三层架构是一种常见的软件设计模式,旨在通过清晰的分层提高代码的可读性、可维护性和可扩展性。这种架构模式将应用程序分解为三个独立的层次:表示层(Presentation Layer)、业务逻辑层(Business Logic ...
这种结构不仅适用于Java Web应用,也广泛应用于其他编程语言的Web项目中。 #### 二、三层结构详解 **1. 表现层(View Layer)** - **定义与作用**:表现层是用户直接交互的部分,主要负责接收用户的输入并展示...
《S2-分层结构-酒店管理系统》是一个全面的教程,涵盖了从设计到实现酒店管理系统的各个关键步骤。系统基于C#编程语言,利用分层架构来组织代码,确保了良好的可读性、可维护性和模块化。在这个系统中,我们主要关注...
本文将深入探讨DotNet分层架构的原理、结构及其在WindowsApp开发中的应用。 首先,我们要理解什么是分层架构。分层架构通常包括以下几个层次: 1. 表示层(Presentation Layer):这是用户与系统交互的界面,负责...
在构建Web项目解决方案时,框架的设计是至关重要的。本文将深入探讨如何构建一个高效、可扩展的Web项目框架,主要涉及以下几个关键知识点: 1. **页面对象组件ActionForm设计**: ActionForm是Struts框架中的核心...
在这个“小程序项目分层架构.zip”压缩包中,我们关注的是如何构建一个高效、可维护的小程序项目结构。主要涉及到的知识点包括JavaScript编程语言、软件工程中的分层架构设计以及小程序的开发规范。 首先,...
这种分层结构有助于提高代码的可维护性和可扩展性。 此外,项目可能还涉及其他技术,如JSTL(JavaServer Pages Standard Tag Library)用于简化JSP页面的编写,或者Spring框架来管理依赖注入和事务处理,提升项目...
在开发Web应用时,合理地组织项目结构是提高代码可维护性和可扩展性的重要手段。Express,作为Node.js中流行的Web应用框架,同样可以采用分层架构来优化项目。本篇文章将详细介绍如何在Express项目中进行分层实践,...
【描述】提到,这个项目具有良好的结构分层,这通常意味着它遵循了软件开发中的分层架构模式,包括表现层(Presentation Layer)、业务逻辑层(Business Logic Layer)和数据访问层(Data Access Layer)。这种结构...
标题中的"jpwms.zip"是一个压缩包文件,它包含了一个分层结构的项目,意味着这个项目被组织成了多个层次,通常这样的结构有利于代码的模块化和管理。"主项目下面有子项目"的设计模式常见于大型软件开发中,允许不同...
基于.NetCore3.1搭建webapi框架。涉及知识有: 1.swagger API接口文档生成 2.多层(包含接口调用方式)高性能数据处理结构 3.数据仓储模式的实现 4.JWT token身份授权验证 5.appsetting.json文件集成读取配置
在.NET框架中,层次结构项目通常指的是具有清晰模块划分、职责分明的软件开发结构。这种结构将复杂的系统分解为多个层级,每个层级专注于特定的功能,从而实现代码的可读性、可维护性和可扩展性。以下是对".NET层次...