基于轻量级J2EE的多层web系统框架的研究与应用

VIP免费
3.0 陈辉 2024-11-19 4 4 1.42MB 81 页 15积分
侵权投诉
摘 要
一个成功的软件需要有一个成功的架构,但软件架构的建立是一个复杂而
持续改进的过程,软件开发者们不可能对每个不同的工程做不同的架构,而总是
尽量重用以前的架构,或开发出尽量通用的架构方案。
本文首先介绍了课题的背景和应用现状,指出传统的 J2EE 架构由于种种原因
己经不能适应企业应用系统的发展要求。接着,简单介绍了几种轻量级的 J2EE
用体系结构,着重介绍了轻量级开发相对于传统的开发方法的优势。通过比较各
种体系结构,引出了本文重点研究的基于 Struts+Spring+Hibernate
J2EE Web 应用框架体系结构。
本文所介绍的架构方案的目标就是使得 J2EE 体系结构朝着更简单、更理性的
方向发展,同时充分利用了 J2EE 平台的多种优秀的开源框架。在表示层采用 Struts
框架,该层主要负责用户数据收集和处理结果显示,Struts 采用 MVC 的设计框架,
具有更好的可扩展性,能够更好地实现表示与内容之间的分离。业务逻辑层采用
Spring 框架,它有效的组织了系统中的中间层对象,消除了组件对象创建与使用耦
合紧密的问题,同时消除了使用各种各样格式的属性定制文件的需要,在整个应
用实现中,可以通过一种统一的方法进行配置。数据持久层采用 Hibernate 框架,
Hibernate 提供J2EE 体系结构中的轻量级持久框架,提供了 Java 对象和数据库
模型的一一对应的映射关系。同时还提供了面向对象的查询语言(Hibernate Query
LanguageHQL )和恢复机制。使用 Hibernate 框架,不仅可以大大减少操作数
据库的工作量,更重要的是使程序员能够使用面向对象编程思想来操作数据库。
最后,实现了一个简单的基于轻量级 J2EE 架构的票务系统,展示了运用此新
技术在应用实现中的高效便捷之处。
关键词: J2EE 平台 Struts Spring Hibernate
ABSTRACT
A successful software need a successful framework, however, the establishment of
the framework is a complicated and continually improving process. It is impossible for
explorers to work out different framework for different projects, while, they always try
to utilize the existing framework or, explore the general used framework.
At the first, the author introduces the background of the research project and its
current environment, point out the traditional J2EE architecture is not satisfying the
development of the enterprise application system.Following that, the author represents
the lightweight J2EE application architecture, and point out lightweight architecture
advantages compared with traditional architecture. By comparing, the author leads to
the main point of the paper, the architecture based on Struts+Spring+Hibernate
framework in lightweight J2EE application architecture.
The goal of this architecture is to make the J2EE application architecture simpler
and more rational. In addition, the author introduces the several outstanding open source
frameworks. In the view tier, the author selects Struts as its framework. The framework
is characterized as a MVC framework, it is responsible for collecting the user data and
handle the result, make the development of web application more scalable, content
clearly. In the logical tier, the author selects Spring as its framework, it effectively
organized the middle-ware object, get rid of the problem of the tight connection of
component construction and employment and the need of using various property files.
In the whole application projects, Spring provides an uniform method configurations .In
the data persistence tier, the author uses Hibernate framework based on ORM, this
framework provides light persistence framework in J2EE platform, the one to one
mapping relation and the object-oriented query language and the recovery mechanism.
For the framework, developers can greatly reduce the work of operating database and
make developers freely use the object-oriented method to operate database.
Finally, the author applies the technique to the development of a simple Tickets
system. Through the description of the requirement of the system, shows the
convenience of system of development and maintenance.
Keywords: J2EE, Struts, Spring, Hibernate
目 录
摘 要
ABSTRACT
第一章 引言 .....................................................................................................................1
§1.1 研究背景 .........................................................................................................1
§1.2 J2EE 的发展及问题的提出 ........................................................................... 1
§1.3 研究现状及意义 .............................................................................................2
§1.4 本文的研究思路及研究工作 .........................................................................4
§1.5 论文结构 .........................................................................................................4
第二章 J2EE 平台相关技术及其复杂性 ....................................................................... 5
§2.1 J2EE 平台 ....................................................................................................... 5
§2.1.1 J2EE 概念 ..............................................................................................5
§2.1.2 J2EE 架构 ..............................................................................................5
§2.2 常用 J2EE Web 开发技术简介 ......................................................................7
§2.3 J2EE 应用复杂性及其原因 ......................................................................... 12
§2.4 降低 J2EE 应用复杂性的办法 ................................................................... 13
第三章 轻量级 J2EE 框架分析 .................................................................................... 14
§3.1 轻量级 J2EE 架构 ........................................................................................ 14
§3.2 轻量级 J2EE 架构的优缺点分析 ................................................................ 14
§3.3 Web 层应用框架 .......................................................................................... 15
§3.3.1 Web 应用开发的早期模式 .................................................................15
§3.3.2 MVC 模式 ........................................................................................... 15
§3.3.3 Struts 应用框架 ...................................................................................18
§3.4 业务逻辑层 Spring 框架概述 ......................................................................23
§3.4.1 Spring 简介 ......................................................................................... 23
§3.4.2 Spring 的组成模块 ............................................................................. 24
§3.4.3 控制反转模式和面向方面编程(AOP) .............................................. 25
§3.4.4 Spring 框架的工作原理 ..................................................................... 26
§3.4.5 Spring Bean 封装机制 ........................................................................ 27
§3.4.6 Spring 的优点 ..................................................................................... 28
§3.5 持久化层应用框架 .......................................................................................29
§3.5.1 面向应用程序持久层设计问题 ......................................................... 29
§3.5.2 对象持久化的概念 ............................................................................. 30
§3.5.3 几种流行的对象持久化技术 ............................................................. 31
§3.5.4 Hibernate 技术 .................................................................................... 34
第四章 基于 SSH 的轻量级系统体系架构设计 ......................................................... 38
§4.1 架构设计的总体目标 ...................................................................................38
§4.2 轻量级容器 ...................................................................................................39
§4.3 轻量级 SSH 架构总体设计 ......................................................................... 40
§4.4 架构详细设计 .................................................................................................41
§4.4.1 表示层设计 ......................................................................................... 41
§4.4.2 业务层设计 ......................................................................................... 42
§4.4.3 持久层设计 ......................................................................................... 42
§4.5 Struts+Sprin+Hibernate 原理分析 ............................................................... 43
§4.5.1 Struts+Spring 原理分析 ......................................................................43
§4.5.2 Hibernate+Spring 原理分析 ............................................................... 45
§4.6 本架构的特点 ...............................................................................................45
第五章 基于 SSH 框架的车站票务系统的实现 ......................................................... 47
§5.1 系统开发环境 ...............................................................................................47
§5.2 需求分析 .......................................................................................................47
§5.3 系统设计 .......................................................................................................49
§5.3.1 系统架构设计 ..................................................................................... 49
§5.3.2 系统业务实体设计 ............................................................................. 50
§5.3.3 数据模型设计 ..................................................................................... 51
§5.4 业务逻辑设计 ...............................................................................................52
§5.4.1 数据层设计 ......................................................................................... 52
§5.4.2 创建持久化类 ..................................................................................... 54
§5.4.3 对象/关系映射文件 ............................................................................ 56
§5.4.4 服务层设计 ......................................................................................... 57
§5.5 系统逻辑分析 ...............................................................................................57
§5.5.1 web.xml 文件 ...................................................................................... 57
§5.5.2 struts-config.xml beans.xml 文件 .................................................. 58
§5.6 系统功能的具体实现 ...................................................................................59
§5.6.1 创建系统中的视图 ............................................................................. 59
§5.6.2 配置数据源和事务管理 ..................................................................... 60
§5.6.3 异常控制 ............................................................................................. 63
§5.7 具体模块功能的实现 ...................................................................................65
§5.7.1 用户注册流程图 ................................................................................. 65
§5.7.2 用户注册模块的 DAO 配置 .............................................................. 65
§5.7.3 用户注册模型 ..................................................................................... 66
§5.7.4 用户注册控制器 ................................................................................. 67
§5.7.5 配置模型和控制器 ............................................................................. 68
§5.8 所遇困难及其解决方案 ...............................................................................70
§5.8.1 Struts 中开发自定义 taglib 的解决方案 ............................................71
§5.8.2 J2EE 应用国际化的解决方案 ............................................................72
§5.8.3 Hibernate 中数据库表主键的解决及批量删除性能优化 ................ 73
第六章 总结与展望 .....................................................................................................75
参考文献 .........................................................................................................................76
作者在读期间科研成果简介 .........................................................................................78
...........................................................................................................................79
第一章 引言
1
第一章 引言
§1.1 研究背景
在目前应用系统的开发中,由于 Web 开发的灵活性,易维护性的特点,软件
设计已经从传统C/S 式向 Web 应用模式(B/S 模式)转化。因此近年来出现
了越来越多的 Web 应用,但这些 Web 应用系统的共同特点是 Web 页面多、导航
困难、业务逻辑复杂。由于 Web 应用的大型化、功能日趋复杂,使得传统的开发
方式不再适合。随着 Web 技术的不断发展,Web 应用不再局限于提供一些静态的
内容、甚至也不满足于提供一些简单的动态内容。多层体系结构正是适合 Web
用的特点而发展起来的,与传统的模式相比,这种多层模式在原有的客户机和数
据库服务器之间增加了一个中间层,称为应用服务器层,专门负责处理应用逻辑,
并具有事务管理、连接缓冲等功能,而客户机只需通过图形界面和客户进行交互。
在多层 Web 应用系统中,系统至少由三层体系结构组成:客户端(浏览器)-Web
服务器+应用服务器-数据库服务器。客户端采用标准的网络浏览器,方便用户访
问信息;第二层包括 Web 服务器和应用服务器,所有的显示逻辑、应用逻辑、控
制逻辑都在这一层,系统的复杂性也主要体现在这一层;数据库服务器层存储数
据信息和数据逻辑,所有与数据有关的安全性控制、完整性控制、数据的一致性
以及并发操作等都是在该层实现的。
在三层体系结构中,Web 服务器是显示逻辑的核心,它将信息组织成超文本,
通过超文本标记语言(HTML)和超文本传输协议(HTTP)实现与浏览器的交互;而应
用服务器负责处理应用逻辑,并进行事务管理;数据库服务器负责处理数据逻辑,
实现对数据库的读写操作。通过应用服务器层,把应用逻辑从客户端和数据库服
务器独立出来,向开发者提供了一种创建、部署和维护大规模的 Web 应用系统的
模块化方式,这将更适合开发复杂的 Web 应用系统。
§1.2 J2EE 的发展及问题的提出
Web 应用发展至今,己经有很多公司提供了自己的 Web 编程语言和工具。最
出名的有 Sun 公司的 J2EE 技术和 Sun One 软件环境,Microsoft 公司的 C#
基于轻量级 J2EE 的多层 web 系统框架的研究与应用
2
DOTNET 技术,Oracle 公司的以数据库为主的 Web 平台等,这些技术都提供了支
持“客户-服务器结构”的 Web 编程语言。一般认为,DOTNET 能够迅速上手
但随着规模的扩大会变得难以维护,所以适合于中小规模的应用软件开发。 在
Web 编程技术中,Java 技术从设计之初就将跨平台作为首要目标之一,并由于其
安全性、易用性、模块化和易扩展性等特点倍受欢迎并得到广泛的应用。 Java
言作为 Internet 时代备受关注的技术之一,在开发网络应用中有着重要的地位,
且基于 J2EE 的应用是真正平台无关的。
作为一种企业级网络应用程序开发技术,J2EE 是目前唯一在市场上得到了广
泛应用的技术体系。J2EE 多层架构自推出以来,逐渐得到了广泛的应用,形成了
一个面向企业级的分布式、多层次的软件体系结构规范,成为企业应用开发的标
准。J2EE 的每一层又定义了相应的组件开发规范,通过组件来实现层的功能,组
件技术的应用大大地提高了软件的可重用性。总之,J2EE 提供了简单、实用、标
准化、分布式的 Web 编程方法,有效掌握这些方法会使程序开发者事半功倍。
但随J2EE 在实践中的大量应用,J2EE 体系存在的各种弊端也逐渐表现出
来:(1)无法快速开发出原型系统。(2)Web 层与后台逻辑层过于耦合,主要表现
是在 JSP 页面中大量嵌入 Java 代码,或直接在页面中进行数据库操作,使得维护
起来很困难。(3)大数据量查询性能需要优化。(4)数据表/数据模型的更改会引起
多个层面变化,修改量大,存在质量隐患等。由于页面中经常会嵌入数据库访问
语句,当在修改后台数据库模型或表结构时,前台页面就需要重构。(5)EJB 属于
重量级组件,对应用服务器要求较高,必须有专门的 EJB 服务器,用以提供 EJB
容器来支持 EJB 的运行。而且 EJB 定义了较为复杂的 EJB API,如果使用不当,
可能导致不恰当的应用系统设计,结果使得应用系统的总体性能下降。
§1.3 研究现状及意义
虽然 EJB 不断推出新规范,如 EJB 2.lEJB 3.0 等解决了 EJB 的一些老问题,
但这些新规范并没有根本解决 EJB J2EE 应用系统带来的问题。EJB 把组建模型
和远程支持放到同一个标准,同时处理组件模型和远端支持增加了复杂性。由于
EJB 的架构给 J2EE 应用系统带来巨大的复杂性,对于 J2EE 中的实体 EJB 的批判
声一浪高过一浪,他已逐渐被业界的人士所弃用,而开发人员也不断寻找更简单
EJB 替代品。
如今,针对 J2EE 体系架构中存在的这些问题,很多专家、研究机构试图采用
一些轻量级的、灵活的 J2EE 框架,来替代传统的使用 EJB J2EE
摘要:

摘要一个成功的软件需要有一个成功的架构,但软件架构的建立是一个复杂而又持续改进的过程,软件开发者们不可能对每个不同的工程做不同的架构,而总是尽量重用以前的架构,或开发出尽量通用的架构方案。本文首先介绍了课题的背景和应用现状,指出传统的J2EE架构由于种种原因己经不能适应企业应用系统的发展要求。接着,简单介绍了几种轻量级的J2EE应用体系结构,着重介绍了轻量级开发相对于传统的开发方法的优势。通过比较各种体系结构,引出了本文重点研究的基于Struts+Spring+Hibernate框架的轻量级J2EE的Web应用框架体系结构。本文所介绍的架构方案的目标就是使得J2EE体系结构朝着更简单、更理性的...

展开>> 收起<<
基于轻量级J2EE的多层web系统框架的研究与应用.pdf

共81页,预览9页

还剩页未读, 继续阅读

作者:陈辉 分类:高等教育资料 价格:15积分 属性:81 页 大小:1.42MB 格式:PDF 时间:2024-11-19

开通VIP享超值会员特权

  • 多端同步记录
  • 高速下载文档
  • 免费文档工具
  • 分享文档赚钱
  • 每日登录抽奖
  • 优质衍生服务
/ 81
客服
关注