`
xitong
  • 浏览: 6157937 次
文章分类
社区版块
存档分类
最新评论

WEB项目的分层结构

 
阅读更多

WEB项目的分层结构

大部分的WEB应用在职责上至少被分成四层:表示层、持久层、业务层和域模块层。

一、 表示层

一般来讲,一个典型的WEB应用的前端应该是表示层,可以使用Struts框架。

下面是Struts所负责的:

1、 管理用户的请求,做出相应的响应。

2、 提供一个流程控制,委派调用业务逻辑和其他上层处理。

3、 处理异常。

4、 为显示提供一个数据模型(即把数据对象设置到某一个范围内,用于前台获取数据)。

5、 用户界面的验证。

以下内容,不该在Struts表示层的编码中经常出现,它们与表示层无关的。

1、 与数据库直接通信。

2、 与应用程序相关联的业务逻辑有校验

3、 事务处理。

二、 持久层

典型的WEB应用的后端是持久层。可以用Hibernate实现。Hibernate的持久对象是基于POJOPlain Old Java Object)和Java集合的。

下面是Hibernate所负责的内容:

1、 如何查询对象的相关信息。

Hibernate是通过一个面向对象查询语言(HQL)或正则表达的API来完成查询的。HQL非常类似于SQL,只是把SQL里的tablecolumnsObject和它的fields代替。

2、 如何存储、更新、删除数据库记录。

3、 Hibernate这类高级ORM框架支持大部分主流数据库,并且支持父表/子表关系、事务处理、继承和多态。

三、 业务层

一个典型WEB应用的中间部分是业务层或服务层。可以用Spring来实现。

下面是业务层所负责的:

1、 处理应用程序的业务逻辑和业务校验。

2、 管理事务。

3、 提供与其他层相互作用的接口。

4、 管理业务层级别的对象的依赖。

5、 在表示层和持久层之间增加一个灵活的机制,使得他们不直接联系在一起。

6、 通过揭示从表示层到业务层之间的上下文来得到业务逻辑。

7、 管理程序的执行(从业务层到持久层)。

四、 域模块层

既然我们致力于一个WEB的应用,我们就需要一个对象集合,让它在不同层之间移动。域模块层由实际需求中业务对象组成,比如订单明细、产品、等。开发者在这层不用管哪些数据传输对象,而关注域对象即可。例如,Hibernate允许你将数据库中的信息存入域对象,这样你可以在连接断开的情况下把这些数据显示到用户界面层,而那些对象也可以返回给持久层,从而在数据库里更新。而且,你不必把对象转化成DTO(这可能导致它在不同层之间传输过程中丢失)。这个模型使得Java开发者能很自然运用面向编程,而不需要附加编码。

分享到:
评论

相关推荐

    c++多模块web项目实践方案-项目分层骨架

    这是博文 【c++多模块web项目实践方案【cmake+cppcms+boost+fmt】】附带的项目源代码骨架。笔者主要提出了自己对于c++项目如何分层,如何做一个简单的网站的见解。具体文章地址在:...

    go web 项目开发脚手架

    ## 项目分层模式 ### MVC - Model:模型代表一个存取数据的对象。它也可以带有逻辑,在数据变化时更新控制器。 - View:视图代表模型包含的数据的可视化。 - Controller:控制器作用于模型和视图上。它控制数据...

    基于.NetCore开发WebApi,WebApi框架

    基于.NetCore3.1搭建webapi框架。涉及知识有: 1.swagger API接口文档生成 2.多层(包含接口调用方式)高性能数据处理结构 3.数据仓储模式的实现 4.JWT token身份授权验证 5.appsetting.json文件集成读取配置

    Java Web整合开发王者归来:Java Web.part3

    第8篇为工具篇,内容包括在Java Web项目中常用的开源工具框架、主要有版本管理工具SVN、日志工具commons-logging与Log4J、报表图形引擎JFreeChart、PDF组件iText等;第9篇为实战篇,内容为两个典型的应用系统:论坛...

    强大的Web开发框架

    c) 统一企业的项目UI设计,统一的框架结构,能迅速规范企业的Web表现层代码设计规范,最大限度的减轻企业后期的项目管理、维护、升级成本; d) 减少企业Web表现层开发人员的培训投入; 2、 完善的组件开发包:为...

    王勇drp项目分析web开发分析

    初步了解项目开发流程 了解DRP系统基本的业务流程 进一步加深对树状结构运用的理解 进一步加深对分页技术的理解 熟练session和filter的概念和运用 掌握html,了解css 掌握页面开发技术javasciprt的基本应用 掌握Ajax...

    javaweb分层架构

    javaweb项目开发三大框架的描述!以及javaweb的分层架构的方式!

    WebAPI-Demo项目

    一个简单的MVC项目示例,有较好的结构分层,体现了DDD,AOP,面向接口等思想.

    工程硕士学位论文 基于Android+HTML5的移动Web项目高效开发探究

    1.2.4 Android移动Web项目开发的三种解决方案:Native, Web和Hybrid优缺陷分析 4 1.2.5国内外应用现状 6 1.2.6 研究现状总结 7 1.3研究目标与内容 7 1.3.1多窗口浏览器模式的实现机制 7 1.3.2跨域交互即缓存处理方法...

    koa大型web项目中使用路由装饰器的方法示例

    在npmjs上搜索关于koa路由装饰器的已经有那么几个包了,但是我从几个包中发现作者的思维仅仅限制于前端开发的思想,项目分层不明确,我们开发kow-web项目可以根据java-web中项目分层的思想来写项目,项目结构清晰明了,...

    Java Web整合开发王者归来

    第8篇为工具篇,内容包括在Java Web项目中常用的开源工具框架、主要有版本管理工具SVN、日志工具commons-logging与Log4J、报表图形引擎JFreeChart、PDF组件iText等;第9篇为实战篇,内容为两个典型的应用系统:论坛...

    j2ee 架构设计 (SSH典型结构解析)

    结合实例讲解Web项目总体结构 分析多层结构优点 具体讲解每个层次的实现技巧 第二部分:介绍组织层次关联利器(Spring) 快速入门 Factory模式 IOC模式 AOP模式 演练Spring的威力 第三部分:介绍日志管理利器(Log4j...

    .NET项目架构-案例

    描述了在用VS.NET进行B/S开发时采用的框架结构,一般建立类库项目和Web项目,在Web基本aspx页面类中调用类库中方法,同时在aspx页面类中不需要写任何对数据库操作的SQL代码,便于分层开发和代码维护。 资源中包括...

    Java web 期末大作业,完成度100%附带文档.

    基于MVC的分层思想及采用jsp+servelt技术的B/S结构的应用系统,系统主要开发语言为JAVA,JSP。数据库要求使用MySQL8.0,应用服务器选用Tomcat服务器 3. 功能介绍 系统能够提供用户有好的界面 系统具有良好的允许效率...

    Java.Web整合开发王者归来.part12.rar

    第8篇为工具篇,内容包括在Java Web项目中常用的开源工具框架、主要有版本管理工具SVN、日志工具commons-logging与Log4J、报表图形引擎JFreeChart、PDF组件iText等;第9篇为实战篇,内容为两个典型的应用系统:论坛...

    Java Web整合开发王者归来(JSP+Servlet+Struts+Hibernate+Spring)

    第8篇为工具篇,内容包括在Java Web项目中常用的开源工具框架、主要有版本管理工具SVN、日志工具commons-logging与Log4J、报表图形引擎JFreeChart、PDF组件iText等;第9篇为实战篇,内容为两个典型的应用系统:论坛...

    Java Web整合开发王者归来:Java Web.part1

    第8篇为工具篇,内容包括在Java Web项目中常用的开源工具框架、主要有版本管理工具SVN、日志工具commons-logging与Log4J、报表图形引擎JFreeChart、PDF组件iText等;第9篇为实战篇,内容为两个典型的应用系统:论坛...

    Java Web整合开发王者归来:Java Web.part2

    第8篇为工具篇,内容包括在Java Web项目中常用的开源工具框架、主要有版本管理工具SVN、日志工具commons-logging与Log4J、报表图形引擎JFreeChart、PDF组件iText等;第9篇为实战篇,内容为两个典型的应用系统:论坛...

    WEB设计大全

    站点类型和体系结构 <br>4.1 一般Web站点类型 <br>4.2 动态站点 <br>4.3 站点结构 <br>4.3.1 逻辑站点组织模型 <br>4.3.2 层次结构 <br>4.4 用户和站点结构 <br>4.5 站点的深与浅 ...

    ApiTemplate:WebAPI模板的C#项目

    框架结构简单数据库支持:Mssql,Mysql构架便于上手支持良好的业务扩展是一套基础开发模板技术选型开发语言:c#运行时.net Framework4.5 IoC:Autofac,Autofac.WebApi2 Dto:AutoMapper序列化:Newtonsoft.Json ...

Global site tag (gtag.js) - Google Analytics