【JSP开源代码栏目提醒】:网学会员在JSP开源代码频道为大家收集整理了“基于Spring及iBATIS的一种Web框架的设计与应用 - 硕士论文“提供大家参考,希望对大家有所帮助!
大连理工大学 硕士学位
论文基于Spring及iBATIS的一种Web框架的设计与应用 姓名:李裔楠 申请学位级别:硕士 专业:软件工程 指导教师:牛纪桢 20080607 大连理工大学专业学位硕士学位
论文 摘 要 随着Intemet的迅猛发展,Web系统已广泛的应用到社会、生活的各个方面,而且其需求日益增长,涉及的领域越来越广,复杂性也变得越来越高。
但是目前许多基于J2EE技术的企业Web应用系统的开发水平却比较低,主要表现为:开发中的各种逻辑混乱,以至系统难以开发和维护;缺少可以重复使用的组件,导致可重用性差、工作量大、开发过程繁琐、客户端难以表示复杂数据等等。
为了解决上面的问题,本文通过对设计模式和框架技术的研究,掌握了设计模式对特定设计问题的解决方法,运用对框架设计中所使用相关技术研究与分析的结果。
基于Web应用系统特定的开发平台。
J2EE,采用MVC(Model—View.Controller)设计模式,结合B/S、C/S两种开发模式,以目前比较流行的
开源框架Spring和iBATIS为基础,有效的集成上述两种
开源框架,最终给出一个Web应用系统开发和常见问题的具体解决方案,并将其表述成Web应用系统设计模式框架。
此外,在框架设计上,本文对“客户端模拟浏览器访问”进行了有效的尝试,实现了客户端不需要打开浏览器就可进行Web访问的自动化处理。
通过该模型框架的构建,将对涉及相同领域的Web应用系统的开发,提供有效的借鉴和指导。
论文中将上面设计的Web框架应用在日方某公司的静态测试管理系统开发过程中,验证了使用此框架可以使开发人员更专注于业务逻辑的实现与有效的改善和优化信息系统的开发过程,从而能够大幅提升程序设计人员的研发效率和Web应用系统的开发速度。
此外采用此框架还可以提高系统性能与软件的质量。
关键词:框架;Spring;iBATIS;模拟浏览器 Design and Application of Web Framework Based on Spring and iBATIS Abstract Along with the rapid development of the Internet technology,the Web system is widely used in each aspect of society and life.Moreover demand of web system grows day by day.the domain which involves iS more and more broad.the complexity alSO becomes higher and higher.But today曲e development of娓b based on J2EE platform has many problems including,some logical functions staying together,being difficult for developing and maintaining,being lack of some components for repeating,large amount of work annoying developing process,being dimcult for client to display complex data. In order to solve above problem,through the research of design pattern and the frametechnology,the thesis has grasped the solution of the specific design question with the designpattern,used the correlated technology investigation and the analysis achievement for theframe design in.And based on specific development platform of Web applicationsystem-J2EE,used the MVC(Model.View—Controller)pattern,unified the B/S.C/S two kindsof developing pattern,integrated the two kinds of open the source flame which are describedabove,finally proposed a Web application system design and solution,and indicated it the Webapplication system design pattern frame.In addition,the thesis try to make the client side visitthe browser side effectively also has realized its Web visit automated processing withoutinterect explore.Ⅲs model construction,will provide suggestion and instruction to thedeveloping of web application involved the salTle domain. In the thesis,the web framework designed above iS applicated in the developing of statictest management system,whicd has confirmed that the Web application framework make thedeveloper concentrate in the realization of business logic and optimize the information systemprocess,in order to improve the developer’S efficiency and the speed of web systemdeveloping.In addition,the system performance and the software quality Can be improvedwith the framework.Key Words:Framework;Spring;iBATIS;HttpClient —II— 独创性说明 作者郑重声明:本硕士学位
论文是我个人在导师指导下进行的研究工作及取得研究成果。
尽我所知,除了文中特别加以标注和致谢的地方外,
论文中不包含其他人已经发表或撰写的研究成果,也不包含为获得大连理工大学或者其他单位的学位或证书所使用过的材料。
与我一同工作的同志对本研究所做的贡献均已在
论文中做了明确的说明并表示了谢意。
作者签名: 204莎’.Lf o 大连理工大学硕士研究生学位
论文 大连理工大学学位
论文版权使用授权书 本学位
论文作者及指导教师完全了解“大连理工大学硕士、博士学位
论文版权使用规定”,同意大连理工大学保留并向国家有关部门或机构送交学位
论文的复印件和电子版,允许
论文被查阅和借阅。
本人授权大连理工大学可以将本学位
论文的全部或部分内容编入有关数据库进行检索,也可采用影印、缩印或扫描等复制手段保存和汇编学位
论文。
作者签名: 窒角确 旦!1 3型 翩张华磁 仫翌芷;上月卫日 大连理工大学专业学位硕士学位
论文 引 言 (I)背景与意义 针对Web应用需求的日益增长,快速开发高质量的Web应用系统,满足社会需要,成为业界研究的一大热点问题。
目前,大部分Web应用系统的开发都会有效的采用框架技术,即应用一种框架作为整个系统实现和程序编写的基础。
在这种框架的设计和应用中,往往需要包含数据库访问、安全性、人性化、分布式等等大量的软件技术,这些技术纷繁而复杂,其规模产生了数以万计的
代码量和大量的各种资源。
这些不仅要聚合在一起,同时,它们之间还要相互通信和访问,共同完成业务逻辑所要求的各种处理过程。
因此,如何组织应用程序以实现简单高效的程序编写;如何保证程序的易读性、可交互性、可维护性;如何提供便利的升级和扩展方式;如何适应复杂的网络环境、满足多样化的用户需求、灵活实现业务模式、抽象复杂的业务流程等等这些在业务和技术上拥有能用来规范所有程序调用、访问、错误等常规处理,提高软件质量的一整套框架构建方案的探讨和实现是非常重要和有意义的。
为了达到课题的研究目的,帮助开发人员在短期内搭建结构清晰、可复用性好、维护方便的Web应用系统框架,就需要综合现在先进的技术、设计模式、开发理念,用被广泛接受和认可的方法论产生一套框架性核心
代码:包括从前端web交换到业务层数据交互、数据持久化和存储到事务,安全机制和错误处理等这些在开发中涉及的逻辑和方法。
(2)研究现状 2000年以后出现了几种主要的技术融台方式。
越来越多的Web开发环境开始支持MVC(Model.View.Comroner)设计模型,为开发者提供了全套的开发框架。
实际上,J2EE和.NET平台本身就是这种开发框架的典型代表。
开源项目在web开发框架和应用模型方面表现得非常积极,Struts、Webwork、Spring、Tapestry、JSF、Dinamica、VRaptor等都是
开源世界里与MVC开发框架和Web内容管理相关的优秀解决方案。
(3)本文的工作 本文主要是通过分析和设计,给出一种基于MVC设计模式的B/S结构与C/S结构相结合的企业级Web系统应用框架。
首先,本文在引言中介绍了Web应用系统的发展趋势,简要说明了Web系统的基本特点。
然后描述了分析设计框架所使用的相关技术及其应用,并在此基础上进行框架分析设计以及实现。
在第四章结合B/S与C/S模块的 基于Spring及iBATIS的一种Web框架的设计与应用开发过程给出这一框架的具体应用。
最后分析总结
论文的主要工作与成果,并总结了框架的优点与不足。
(4)本文的结构 本文共分为五章。
在第一章说明了框架所采用的基础理论和相关技术,为之后的论述作准备。
第二章描述框架分析和设计的思路及方法。
第三章给出框架的具体实现。
第四章以日方某公司静态测试管理系统为例,描述了本文设计的框架在系统实现中的具体应用,并且介绍了系统实现时一些难点的解决方法。
第五章,简要描述了系统的验收、测试、运行等方面的情况。
最后,对课题的研究工作进行了总结,并对今后的工作进行展望。
大连理工大学专业学位硕士学位
论文 1相关技术研究 为了更好的理解本文的论述,在这里先介绍一下本文涉及到的技术。
其中主要涉及到的技术有:开发模式和开发平台、设计模式与框架技术、MVC、数据库连接池、iBATIS、Jquery、XML和HttpClient等。
其中考虑到说明的有效性:因此把数据库连接池和iBATIS放在第二章框架分析与设计中进行具体介绍,而Jquery、XML和HttpClient属于完成特定功能和特定要求所采用的关键技术,本文将在第三章结合框架实现以及难点解决来加以说明。
1.1 开发模式与开发平台1.1.1 B/S与C/S模式比较 B/S与C/S是当今世界开发模式技术架构的两大主流技术。
“C/S(Client/Server)结构,即.客户机和服务器结构。
它是软件系统体系结构,通过它可以充分利用两端硬件环境的优势,将任务合理分配到Client端和Server端来实现,降低了系统的通讯开销;B/S(Browser/Server)结构即浏览器和服务器结构”【lJ。
它是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。
在这种结构下,用户工作界面是通过WWW浏览器来实现,极少部分事务逻辑在前端(Browser)实现,但是主要事务逻辑在服务器端(Server)实现,形成所谓三层3-tier结构。
C/S的优点是能充分发挥客户端PC的处理能力,很多工作可以在客户端处理后再提交给服务器。
降低了应用服务器运行数据的负荷,加快了客户端的响应速度。
缺点主要有以下几个: (1)只适用于局域网。
但随着互联网的飞速发展,移动办公和分布式办公越来越普及,为了处理这些分布式的数据需要高昂的投资和复杂的技术支持,维护成本很高,维护任务量大。
(2)客户端需要特定的软件支持。
首先涉及到安装的工作量,其次任何一台电脑出问题,如病毒、硬件损坏,都需要重新进行安装或维护。
并且,系统软件升级时,每一台客户机需要重新安装,其代价高和低效率已经很难适应百台电脑以上局域网用户同时使用。
(3)对客户端的操作系统一般也会有限制。
可能只适应于Win98,但不适应于Win2000或Windows XP,又或者不适用于微软新的操作系统,而且目前市场上还存在着像Linux、Unix等很多种操作系统。
为了不断的适用各种各样的操作系统将会给程序的实现和维护带来相当大的麻烦。
基于Spring及iBATIS的一种web框架的设计与应用 “从目前的技术看,局域网建立B/S结构的网络应用,并通过Intemet/Intranet模式下的数据库应用,相对易于把握、成本也是较低的”【2】。
它是一次性到位的开发,能实现不同的人员,从不同的地点,以不同的接入方式(比如LAN,WAN,Intemet/Intranet等)访问和操作共同的数据库;它能有效地保护数据平台和管理访问权限,服务器数据库也很安全。
特别是在Java这样的跨平台语言出现之后,B/S架构管理软件更是方便、快捷、高效。
图1.1描述了B/S的组成结构。
HTTP r Browse Web 浏览器 HTT讧L 服务器 一 图1.1 B/S结构组成 Fig.1.1 B/S Construction Composing 但是,B/S结构在客户端对大容量数据进行深层次分析、汇总、批量输入输出、批量更改的工作中出现困难,尤其对于需要与本地资源(如调用本地磁盘文件或其他应用程序等)进行交互性的操作上极不方便,因而难以适用于基于流程类的系统程序实现。
通过以上分析可以看出,C/S结构与B/S结构各有利弊,只有将它们的特点进行互补,按照自身特点选择适合的技术平台,才能实现最大程度的应用。
1.1.2 J2EE开发平台 J2EE技术为Web系统开发提供了一种很好的实现,J2EE(Java2 Platform,EnterpriseEdition)是SUN公司定义的一个开发分布式企业级应用的规范。
“它提供了一个多层次的分布式应用模型和一系列开发技术规范”【3】。
多层次分布式应用模型是指根据功能把应用逻辑分成多个层次,每个层次支持相应的服务器和组件。
“组件在分布式服务器的组件容器中运行(如Servlet组件在Servlet容器上运行,EJB组件在EJB容器上运行),容器间通过相关的协议进行通讯,实现组件间的相互调用”【4】。
遵从这个规范的开发者将得到行业的广泛支持,使企业级应用的开发变得简单、快速。
J2EE规范定义了以下四个层次: (1)客户端层(Client Tier) 大连理工大学专业学位硕士学位
论文 _’客户端层用来实现企业级应用系统的操作界面和显示层。
另外,某些客户端程序也可实现业务逻辑。
可分为基于Web的和非基于Web的客户端两种情况。
基于Web的情况下主要作为企业Web服务器的测览器。
非基于Web的客户层则是独立的应用程序,可以完成瘦客户机无法完成的任务。
(2)Web层(Web Tier) 为企业提供Web服务,包括企业信息发布等。
Web层由Web”组件组成。
J2EE Web组件包括JSP页面和Servlet。
w曲层也可以包括一些Javal3eans。
Web层主要用来处理客户请求,调用相应的逻辑块,并把结果以动态网页的形式返回到客户端。
(3)业务层(Business Tier) 业务层也叫EJB层或应用层,它由E.1B服务器和EJB组件组成。
一般情况下许多开发商把Web服务器和EJB服务器产品结合在一起发布,称为应用服务器。
EJB层用来实现企业级信息系统的业务逻辑。
这是企业级应用的核心,由运行在业务层中的EJ/3来处理。
业务层中的EJB要运行在容器中,容器解决了底层的问题,如事务处理、生命周期、状态管理、多线程安全管理、资源池等。
(4)企业信息系统层(Enterprise Information System tier) 处理企业系统软件,包括企业基础系统、数据库系统及其他遗留的系统。
J2EE将来的版本支持连接架构(Connector Architecture)。
“它是连接J2EE平台和企业信息系统层的标准API。
业务层和web层共同组成了三层J2EE应用的中间层,其他两层是客户端层和存储层或企业信息系统层”15J。
图1.2给出了J2EE架构的多层应用模型。
客户方表示 服务器方表示 服务嚣方业务 企业信息系统 }.常{i:甘肖 图I.2 J2EE架构的多层应用模型 ;带:肖!.∞ 回回回 Fig.1.2 J2EE Construction Multi—Layered Application Model 基于Spring及iBATIS的一种Web框架的设计与应用 1.2设计模式与框架技术 设计模式和框架在软件设计中是两个不同的研究领域。
设计模式研究的是一个设计 问题的解决方法,一个模式可应用于不同的框架和被不同的语言所实现;而框架则是一 个应用的体系结构,是一种或多种设计模式和
代码的混合体。
虽然它们有所不同,但却 共同致力于使人们的设计可以被重用,在思想上存在着统一性的特点,因而设计模式的 思想可以在框架设计中进行应用。
因此可以这样理解:设计模式是软件的知识体,它可 以提升框架的设计水平。
1.2.1设计模式与框架的关系 (1)设计模式的概念 “模式(pattern)就是做事的一种方法,也即实现某个目标的途径,或者技术。
设计模式是一套被反复使用、多数人知晓的、经过分类编目的、
代码设计经验的总结”【6】。
(2)框架的概念 框架是一种特殊的软件,它为软件开发带来了高度的重用性,但同时它也需要高技巧的设计。
“著名的软件大mJ币Ralph Johnson对框架(Framework)进行了如下的定义:框架是整个系统或系统的一部分的可重用设计,由一组抽象的类及其实例间的相互作用方式组成”l川。
(3)两者之间的区别 框架能使应用程序的开发简单,价格低廉,但是开发框架不是一件容易的事。
它是一个需要领域和设计经验的反复推敲过程。
设计模式可以简化这个过程,因为它提供了对过去经验的抽象。
框架能高度抽象同一领域内的问题,进而降低开发难度和强度。
因此,在软件开发过程中把框架和模式配合起来使用,可以极大地提高软件的重用。
框架和模式都是提高软件复用的技术手段,它们之间互相联系但又有所侧重。
①设计模式比框架更抽象。
应用框架能够用
代码表示,而设计模式只有其实例才能表示为
代码。
框架能够使用程序设计语言写出来,不仅能被学习,也能被直接执行和复用。
而设计模式的每一次复用时,都需要被实现。
设计模式需要解释它的意图、权衡和设计效果。
②“设计模式是比框架更小的体系结构元素。
一个典型的框架包括了多个设计模式”【8】。
③框架比设计模式更加特征化。
框架总是针对一个特定的应用领域,而设计模式至少要包括两个不同的应用领域。
大连理工大学专业学位硕士学位
论文 总之,“如果说类库通常是
代码重用,而设计模式是设计重用,那么框架则介于两者之间,部分
代码重用,部分设计重用,有时分析也可重用”19】。
在软件生产中有三种级别的重用:内部重用一对同一应用中能公共使用功能的抽象复用;
代码重用一将通用模块组合成库或工具集,以便在多个应用和领域都能使用;应用框架的重用一为专用领域提供通用的或现成的基础结构,阻便于集成或组装其他功能块达到更高级别的重用性。
“简单地说,框架是软件,而设计模式是软件的知识(即开发软件的先进经验)”¨uJ。
1.2.2模型一视图一控制器模式 “模型一视图一控制(MVc:Model.View-ControlleO模式,指的是一种划分系统功能的方法”〔111,它将一个系统划分为三个部分。
(1)模型(Model) 模型是软件所处理问题逻辑在独立于外在显示内容和形式情况下的内在抽象,它封装了问题的核心数据、逻辑和功能的计算关系,它可以独立于具体的界面表达和I/0操作。
(2)视图(View) 通过显示的形式,把信息转达给用户。
不同视图通过不同的显示,来表达模型的数据和状态信息。
每个视图有一个更新操作,当调用更新操作时,视图获得来自模型的数据值,并用它们来更新显示。
(3)控制器(Controller) 它是处理用户与软件交互操作的,其职责是控制提供模型中任何变化的传播,确保用户界面于模型间的对应联系;它接受用户的输入,将输入反馈给模型,进而实现对模型的计算控制,是使模型和视图协调工作的部件。
MVC是各种经典架构之一,它具有极其良好的可扩展性和可维护性,在使用上只需在以前的程序上稍作修改或增加新的类,即可轻松增加许多程序功能。
以前开发的许多类可以重用,而程序结构根本不再需要改变,各类之间相互独立,便于团体开发,从而提高了开发效率。
基于MVC的许多框架(如Spring、Struts)更是受到广大软件设计开发者的青睐,甚至是许多入门级Java程序员的必修课。
目前许多Web应用都是从数据存储检索数据并将其显示给用户。
模型、视图与控制器的分离,使得一个模型可以具有多个显示视图。
如果用户通过某个视图的控制器改变了模型的数据,那么所有其它依赖于这些数据的视图都应反映出这些变化。
因此,无论何时发生了何种数据变化,控制器都会将变化通知所有的视图,导致显示的更新。
图l-3给出了MVC模型各模块特征的描述。
, 基于Sp而ng及iBATIS的一种Web框架的设计与应用 ~ 模型类 视图类 数据结构和关系 显示形式 视图和控制器的注册关系 显示模式控制 内部数据和逻辑计算 从模型获得数据 向视图和控制器通知数据变化 视图更新操作 图1.3模型、视图和控制类 Fig.1.3 Model·View-Controller 实现基于MVC的应用需要完成以下工作,如图1.4所示。
图1.4 MVC的实现过程 F远.1.4 MVC Realization Process (1)分析应用问题,对系统进行分离 分析应用问题,分离出系统的内核功能、对功能的控制输入、系统的输出行为三大部分。
“设计模型部件使其封装内核数据和计算功能,提供访问显示数据的操作,提供控制内部行为的操作以及其他必要的操作接口”【12】。
以上形成模型类的数据构成和计算关系。
这部分的构成与具体的应用问题紧密相关。
(2)每个视图 设计每个视图的显示形式,它从模型中获取数据,将它们显示在屏幕上。
(3)每个控制器 大连理工大学专业学位硕士学位
论文 对于每个视图,指定对用户操作的响应时间和行为。
在模型状态的影响下,控制器使用特定的方法接受和解释这些事件。
控制器的初始化建立起与模型和视图的联系,并且启动事件处理机制。
事件处理机制的具体实现方法依赖于界面的工作平台。
(4)使用可安装和卸载的控制器 控制器的可安装性和可卸载性,带来了更高的自由度,并且帮助形成高度灵活性的应用。
控制器与视图的分离,支持了视图与不同控制器结合的灵活性,以实现不同的操作模式,例如对普通用户、专业用户、或不使用控制器建立的只读视图。
这种分离还为在应用中集成新的I/o设备.
上一篇:
基于JSP+MYSQL在线考试系统的设计
下一篇:
恋人新