- 1、本文档共11页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于J2EE架构五层Web开发模型研究
基于J2EE架构五层Web开发模型研究
摘 要:目前,多层Web体系结构普遍存在可重用程度低、维护工作繁琐、程序应变能力较弱等不足。因此,在开发Web应用系统的过程中,提高开发效率,合理选取技术进行分层设计、框架搭建,充分发挥应用系统的灵活性、安全性和实用性就尤为重要。对基于J2EE五层体系结构的Web开发框架进行了探讨;分析了基于Struts框架的J2EE架构中实现对象持久性的局限性;在业务逻辑层与持久层之间设计了多源数据访问组件,实现对不同类型、不同结构、不同环境、不同用法的异构数据库的统一访问。?
关键词:J2EE;MVC;Struts;Hibernate;多源数据?
中图分类号:TP202文献标识码:A文章编号:1672-3198(2008)03-0272-03??
1 多层架构的Web开发框架模型?
1.1 J2EE五层体系结构设计?
随着Web应用需要更复杂的表现和逻辑处理,J2EE提出了一种四层体系结构,分为客户???、WEB层、业务逻辑层、数据库层,应用的逻辑处理和表现的相分离,使得系统具有更为清晰的逻辑流程、功能代码复用性强、分布式部署。但是在大多数的实际项目应用中,数据层是关系型数据库,不能明确映射要实现的面向对象的机制,业务逻辑层与数据库交互的过程需要对数据库调用接口做进一步的封装,这在项目的开发和维护上会增加了一定的复杂性和管理的难度。一个有效的解决方案是把业务信息按照功能模块拆分开:业务逻辑与数据库访问分开,用户界面与业务逻辑分开,彼此相对独立,任一方的任何改变都不会影响对方,或者影响不大。因此本文提出在业务逻辑层和数据库层之间增加一个数据持久层,将四层体系扩展为如图1所示五层体系,即客户层、Web层、业务逻辑层、数据持久层和数据库层。数据持久层位于数据库之上,隐藏数据读取和操纵中的所有数据访问代码细节,将客户应用程序和底层存储机制隔离开,完全抽象出开发应用程序时使用的数据物理细节。?
图1 基于J2EE的五层体系结构设计
业务逻辑层和数据层之间增加一个数据持久层,实现对象和关系数据库之间的映射。利用这个映射框架的机制,对象与关系数据库之间的转换就可以透明地进行,而不用去关心数据库连接、并发性、事务等问题。业务逻辑层直接获取或存储的是清晰的对象,中间的转换过程交给映射框架来处理。?
在分层设计中,各层提供的接口是进行层间通信的基础,遵循的原则是实现严格的层间独立、分离,各层的实现细节不对外公开。分层设计图层间通信说明如下:?
① 客户端与表示逻辑层通过 HTTP 协议通信,即通过 HttpRequest 和HttpResponse 分别接收用户输入和返回执行结果给用户。?
② 表示逻辑层使用Struts框架技术实现,提供了接收/响应客户端请求,控制整个系统工作流程,通过调用Action 与业务逻辑层交互,以及格式化业务数据并动态生成WEB页面等功能。?
③ 业务逻辑层与持久层的交互则是 JavaBean 对 Hibernate 的调用,通过数据访问对象 DAO 进行调用。?
④ 持久层与数据库的通信是完全由 Hibernate 负责的,它把实体映射到数据库,对持久对象操作,并把缓存中的结果同步到数据库。?
1.2 集成Struts框架与Hibernate框架实现MVC设计模式?
Struts作为基于模型(Model)-视图(View)-控制器(Controller)(MVC)模式的应用架构,具有组件的模块化,灵活性和重用性的优点。但是Struts框架主要是针对表示层设计的,对于后端的业务逻辑层支持不是很强,在进行项目开发中存在着以下局限:
① 只能横向分工,按模块来划分工作,软件开发成本相应较高;
② 需要花很多时间在数据层的包装以及不同模块之间的协调和沟通,导致开发时间的增加;
③ 项目移植性相对较差,可能需要为不同数据库编写不同的SQL语句;
④ 项目扩展性相对较差,适应新的需求或变更时要修改数据库表结构,重新编写SQL语句,备份数据库等复杂操作,对人员要求也相应较高;
⑤ 由于开发人员数据库操作水平参差不齐,开发经验也不尽相同,导致系统性能可能会相对较差。
Hibernate 是一个开放源代码的 O/R Mapping (对象/关系映射) 框架,它对 JDBC 进行了轻量级的对象封装,以面向对象机制来处理数据库操作。Hibernate 不仅管理 Java 类到数据库表的映射,还提供数据查询和获取数据的方法,大幅度减少开发时人工使用 SQL 和 JDBC 处理数据的时间。?
笔者认为应该将Hibernate集成到J2EE架构中,从struts
您可能关注的文档
- 基于ERP管理环境下电子税务稽查.doc
- 基于ERP系统全面预算管理.doc
- 基于ERP系统采购预测.doc
- 基于ESO国企高管人员薪酬激励制度探讨.doc
- 基于EVA业绩评价框架构建.doc
- 基于EVA企业业绩评价指标体系研究.doc
- 基于EVA国有垄断行业企业家人力资本定价问题研究.doc
- 基于EVA和平衡计分卡相结合绩效审计标准.doc
- 基于EVA我国酒店管理者薪酬激励机制研究.doc
- 基于EVA指标上市公司并购绩效研究.doc
- 上海海洋大学《海洋环境分析技术》课件-21化学发光分析法.pdf
- 上海海洋大学《海洋环境分析技术》课件-20分子荧光分析法.pdf
- 上海海洋大学《海洋环境分析技术》课件-22色谱分离过程.pdf
- 上海海洋大学《海洋环境分析技术》课件-25气相色谱仪与固定液.pdf
- 上海海洋大学《海洋环境分析技术》课件-24色谱定性定量方法.pdf
- 上海海洋大学《海洋环境分析技术》课件-26气相色谱检测器.pdf
- 上海海洋大学《海洋环境分析技术》课件-29液相色谱固定相与流动相.pdf
- 上海海洋大学《海洋环境分析技术》课件-27气相色谱分离条件的选择.pdf
- 上海海洋大学《海洋环境分析技术》课件-28液相色谱仪器与类型.pdf
- 上海海洋大学《海洋环境分析技术》课件-3 原子光谱和分析光谱.pdf
文档评论(0)