基于J2EE框架的ATM自动取款查询系统的设计与实现毕业论文Word文档下载推荐.docx

上传人:b****2 文档编号:4877028 上传时间:2023-05-04 格式:DOCX 页数:49 大小:528.07KB
下载 相关 举报
基于J2EE框架的ATM自动取款查询系统的设计与实现毕业论文Word文档下载推荐.docx_第1页
第1页 / 共49页
基于J2EE框架的ATM自动取款查询系统的设计与实现毕业论文Word文档下载推荐.docx_第2页
第2页 / 共49页
基于J2EE框架的ATM自动取款查询系统的设计与实现毕业论文Word文档下载推荐.docx_第3页
第3页 / 共49页
基于J2EE框架的ATM自动取款查询系统的设计与实现毕业论文Word文档下载推荐.docx_第4页
第4页 / 共49页
基于J2EE框架的ATM自动取款查询系统的设计与实现毕业论文Word文档下载推荐.docx_第5页
第5页 / 共49页
基于J2EE框架的ATM自动取款查询系统的设计与实现毕业论文Word文档下载推荐.docx_第6页
第6页 / 共49页
基于J2EE框架的ATM自动取款查询系统的设计与实现毕业论文Word文档下载推荐.docx_第7页
第7页 / 共49页
基于J2EE框架的ATM自动取款查询系统的设计与实现毕业论文Word文档下载推荐.docx_第8页
第8页 / 共49页
基于J2EE框架的ATM自动取款查询系统的设计与实现毕业论文Word文档下载推荐.docx_第9页
第9页 / 共49页
基于J2EE框架的ATM自动取款查询系统的设计与实现毕业论文Word文档下载推荐.docx_第10页
第10页 / 共49页
基于J2EE框架的ATM自动取款查询系统的设计与实现毕业论文Word文档下载推荐.docx_第11页
第11页 / 共49页
基于J2EE框架的ATM自动取款查询系统的设计与实现毕业论文Word文档下载推荐.docx_第12页
第12页 / 共49页
基于J2EE框架的ATM自动取款查询系统的设计与实现毕业论文Word文档下载推荐.docx_第13页
第13页 / 共49页
基于J2EE框架的ATM自动取款查询系统的设计与实现毕业论文Word文档下载推荐.docx_第14页
第14页 / 共49页
基于J2EE框架的ATM自动取款查询系统的设计与实现毕业论文Word文档下载推荐.docx_第15页
第15页 / 共49页
基于J2EE框架的ATM自动取款查询系统的设计与实现毕业论文Word文档下载推荐.docx_第16页
第16页 / 共49页
基于J2EE框架的ATM自动取款查询系统的设计与实现毕业论文Word文档下载推荐.docx_第17页
第17页 / 共49页
基于J2EE框架的ATM自动取款查询系统的设计与实现毕业论文Word文档下载推荐.docx_第18页
第18页 / 共49页
基于J2EE框架的ATM自动取款查询系统的设计与实现毕业论文Word文档下载推荐.docx_第19页
第19页 / 共49页
基于J2EE框架的ATM自动取款查询系统的设计与实现毕业论文Word文档下载推荐.docx_第20页
第20页 / 共49页
亲,该文档总共49页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

基于J2EE框架的ATM自动取款查询系统的设计与实现毕业论文Word文档下载推荐.docx

《基于J2EE框架的ATM自动取款查询系统的设计与实现毕业论文Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《基于J2EE框架的ATM自动取款查询系统的设计与实现毕业论文Word文档下载推荐.docx(49页珍藏版)》请在冰点文库上搜索。

基于J2EE框架的ATM自动取款查询系统的设计与实现毕业论文Word文档下载推荐.docx

系统开发利用了Struts技术实现了页面的互访和业务逻辑,同时较好的利用了Hibernate框架实现系统与后台数据库的连接。

用户端利用JSP和JS技术展现给用户一个简洁大方的界面。

国际化采用中英文双语显示主要页面。

本文基于ATM自动取款查询操作系统的开发,分析了ATM机的发展趋势和具体需求,深入研究了J2EE框架,Struts技术和Hibernate技术,对ATM自动取款查询操作系统的设计与实现,详细介绍了开发的具体步骤细节。

系统经过测试,基本达到了设计的要求。

关键词:

ATM;

J2EE;

Struts

ABSTRACT

Withtherapidadvancesininformationtechnologyandbankinginformation,ATM(AutoTellerMachine)allovertheworldshowsaseriesofnewfeaturesandrequirements.WEBATMandpersonalizedATMappearstosupporttheeconomicandfinancialdevelopment.Asaresultofmorecomplexintegratedfunctionsandimprovedsafetydemands,whichrequiresustochangetheATMtochangethetraditionalmodeofATMoperatingsystemdesign,wedevelopnewOStomeetthecurrentrequirementsofATMtechnologydevelopment.

ThesubjectisbasedonJ2EEplatformcombinedwiththeStrutsMVCframeworkandHibernate.WhiledevelopingtheATMOperatingSystem,Internationalizationisalsotakenintoaccount.TheATMOperatingSystemusesStrutstechnologytoachievetheJSPpagevisitsandbusinesslogicandHibernateframeworkfortheconnectionofthesystemandthebackgrounddatabases.Ontheclient,JSPwithJavaScriptcontributetothedevelopmentofsimpleandgeneroususerinterfaces.

ThearticleisbasedonthedevelopmentofATMoperatingsystem.AnalysisofthedevelopmenttrendofATMmachinesandthespecificneedsandin-depthstudyoftheJ2EEframework,StrutsandHibernatetechnologiestechnologyaremade.

Keywords:

ATM;

J2EE;

Struts

第1章绪论

1.1项目背景

1.1.1社会背景

随着科技发展和社会进步,尤其是计算机大范围的普及,计算机应用逐渐由大规模科学计算的海量数据处理转向大规模的事务处理和对工作流的管理,这就产生了以台式计算机为核心,以数据库管理系统为开发环境的管理信息系统在大规模的事务处理和对工作流的管理等方面的应用,特别是在银行自动存取款帐目管理之中的应用日益收到人们的关注。

近年来我国信息产业发展迅速,手工管理方式在银行帐目管理等需要大量事务处理的应用中已显得不相适应,采用IT技术提高服务质量和管理水平势在必行。

目前,对外开放必然趋势以使银行业直面外国银行巨头的直接挑战,因此,银行必须提高其工作效率,改善其工作环境,直面外国的挑战。

这样,账户管理的信息化势在必行。

在传统的银行账户管理中,其过程往往是很复杂的,繁琐的,账户管理以入帐和出帐两项内容为核心,在此过程中又需要经过若干道手续,因为整个过程都需要手工操作,效率十分低下,且由于他们之间关联复杂,统计和查询的方式各不相同;

且会出现信息的重复传递问题。

因此改过成必须实现信息化。

我们的系统开发的整体任务是实现银行存取款业务管理的系统化、规范化、自动化和智能化,从而达到提高企业管理效率的目的。

1.1.2ATM机体系的发展趋势

随着信息技术的发展,银行自动柜员机(ATM)的体系架构也在不断地发生变化,从过去的完全依赖于硬件、发展到依赖于少数的专有操作系统平台,再到目前的开放式ATM体系架构。

新的体系架构大大降低了ATM软硬件个性化设计的门槛,降低了银行的商家依赖性,银行可以根据自己的一些个性化业务和特殊应用情景提出定制要求,或自行采购不同的硬件配件并自主设计个性化ATM的软件。

银行ATM体系架构的发展可分为三个阶段。

在ATM发展的第一阶段,银行ATM软件完全依赖于ATM硬件厂商。

在ATM发展的第二阶段,大多数ATM开始采用IBM的OS/2操作系统作为软件基础平台,但每个硬件厂商仍然都有自己的一套独立软件运行环境、以及独立的用于主机和终端之间通讯的消息协议,如NCR的NDC++、Diebold的912等,不同厂商之间的ATM软件仍然难以兼容。

ATM发展的第三阶段,ATM开发平台由OS/2向Windows平台的迁移,在网络通信上越来越多地使用TCP/IP网络来代替旧的X.25或SNA网络,并且发展制订出了大大解放ATM系统的架构模式的XFS标准与IFX协议。

XFS是一个开放的软件层,能够从ATM中抽象出ATM硬件,能够使不同厂家的硬件与软件对接起来。

IFX(InteractiveFinancialeXchange)是一个行业标准,规定了ATM终端与主机之间的消息通讯协议。

最近两年,ATM体系已经发展到了WebATM架构体系。

类似于信息系统架构的C/S结构与B/S结构的区别,WebATM系统架构与传统ATM架构最大的不同在于———终端呈现的信息内容(人机交互的界面)是基于Web远程下载的,而不是事先安装在终端机上的软件,因此WebATM系统架构的关键在于服务器端的Web设计。

1.2项目选题的意义和目的

在线银行的发展对传统的WEB技术提出了强有力的挑战。

由于在线银行信息处理的内部逻辑复杂,安全要求苛刻,商务形势发展变化快,这就要求研究技术提供足够的复杂度和灵活性以适应业务的要求本课题基于J2EE平台的ATM自动取款机查询系统,结合现实中ATM柜员机的业务特点和发展趋势,研究了Java面向对象的最新软件技术和组件技术,在MVC框架下面探讨了SSH(Struts,Hibernate,Spring)的使用,总结了过去软件开发过程当中出现的开发复用性和可维护性差的经验教训,在实现了ATM柜员机业务逻辑的同时,也在安全性,国际化,标准化方面进行了有益的探讨和尝试。

第2章项目所使用开发技术简介

2.1JavaEE

JavaPlatform,EnterpriseEdition,是使用java语言进行服务器编程的平台。

通过提供一组机制(JSP、EnterpriseBean、servlet)和服务(JDBC、扑DI、JMS和少数IUMI等)来提高抽象级别。

与JavaSE平台不同的是,J2EE提供了支持开发具有容错,分布式和多用户功能的库文件,这些库功能大部分都是基于运行在应用服务器上的模块部件。

J2EE平台以前被成为Java2,Platform,EnterpriseEdition,到了第五个版本名字改为J2EE。

JavaEE包括若干API,比如JDBC,RMI,e-mail,JMS,web-services,XML等等,并且定义了如何去协调它们。

J2EE同时也有针对其特有部件的描述,包括EnterpriseJavaBeans,servlets,portlets,JSP和其他网络服务技术。

JavaEE应用服务器能够应用事务,安全,可伸缩性,并发事件和管理组件,使得开发者能够把注意力集中在业务逻辑上面。

2.2ApacheStruts

2.2.1Struts的发展历史

ApacheStruts是一个开源的网络应用框架,用于开发JavaEE网络应用程序。

Struts使用和进一步发展了JavaServletAPI来鼓励用户采用model-vie-controller(MVC)架构。

Struts最先是由CraigMcClannahan创建,然后与2000年5月被捐献给Apache项目基金会。

在2005年成为顶级Apache项目前,Struts一直被放在ApacheJakartaProject下面,被称作JakartaStruts。

2001年7月,Sruts1.0版本发布。

现在的版本是2.0

2.2.2Struts的业务逻辑

在标准的JaveEE网络应用中,客户端通常通过表单的形式向服务器提交信息。

提交的信息被传递给JavaServlet处理之后再与数据库连接,产生HTML页面作为结果输出;

或者信息将被提交给JSP(JavaServerPages)页面。

JSP页面将html和java程序代码混合来达到相同的目的。

这两种方法都认为不适合大型项目,因为业务逻辑和表现层的混合让维护变得异常困难。

Struts的目标是将model(与数据库相联系的业务逻辑),view(呈现给客户端的Html页面)和controller(在view和model之间传递信息)彼此分离开来。

Struts提供了controller(一种通常被称作ActionServlet的servlet),帮助View和表现层(通常是JSP,但是也支持XML/XSLT和Velocity)模板的编写。

网络程序员需要做的就是书写model代码,创建Struts-config.xml来将model,view,controller联系在一起。

图1.1MVC架构图

客户端的请求以Actions表格的形式发送到controller.Actions都在设置文件中定义。

如果controller受到了请求,就会调用负责的Action类。

Action类之后与程序核心model代码通信。

Model代码返回一个ActionForward,来告诉controller需要给客户端返回哪一个输出页面。

信息就在model和view之间通过特殊的JavaBeans传递。

图1.2Struts结构图

2.2.3Struts的发展和面临的挑战

Struts支持国际化,提供了验证表单提交的数据的功能,并且包括了一个允许表现层与独立的header,footer,内容组件进行整合的模板机制。

虽然Struts在搭建Java应用程序前端方面已经非常成熟,但是Struts也面临最新的所谓“轻量级”MVC架构的挑战,比如SpringMVC,Stripes。

新的Xform标准在未来很有可能与Struts搭配在一起开发复杂的网页表单验证。

2005年12月,Struts和WebWork整合。

2007年二月,Struts2推出。

2.3ORM与Hibernate

2.3.1ORM

对象关系映射(ObjectRelationalMapping,简称ORM)是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术。

简单的说,ORM是通过使用描述对象和数据库之间映射的元数据,将java程序中的对象自动持久化到关系数据库中。

本质上就是将数据从一种形式转换到另外一种形式。

一般的ORM包括以下四部分:

(1)一个对持久类对象进行CRUD操作的API;

(2)一个语言或API用来规定与类和类属性相关的查询;

(3)一个规定mappingmetadata的工具;

(4)一种技术可以让ORM的实现同事务对象一起进行DIrtychecking,lazyASsociationfetching以及其他的优化操作。

Hibernate是采用ORM模式实现数据持久层的一个优秀的Java组件,它提供了强大、高效的将Java对象进行持久化操作的服务。

利用Hibernate,开发人员可以方便地按照Java对象地结构进行持久层地开发,并可以使用Hibernate所提供的HQL(Hibernate查询语言)完成Java对象和关系数据库之间的转换和操作。

目前,Hibernate已经成为最具有影响力的ORM工具,它被广泛地应用于实现各种应用系统的持久层。

2.3.2Hibernate

英文意思是冬眠,大概是说自从有了Hibernate后就可自此让JDBC“冬眠”

了吧。

(www.hibernate.org)是一个非常流行的开源的易于配置和运行的基于JDBC的对象-关系映射(JORM)引擎。

它提供了很丰富的功能,包括但不局限于下列功能:

a,多种映射策略

b,可迁移的持久化

c,单个对象映射到多个表

d,支持集合

e,多态关联

f,可自定义的SQL查询

Hibernate是由GavinKing所带领的一群遍布世界各地的Java工程师所开发。

现有的版本是Hibernate3.x.这个版本拥有新的Interceptor/Callback架构,用户定义的过滤器,JDK5.0注释等。

Hibernate3.0与EJB3.0非常接近,虽然它的发布尚在EJB3.0发布之前。

Hibernate使用Java编写,是一个高度可配置的软件包,可以通过两种配置文件格式来进行配置。

第一种配置文件名字为hibernate.cfg.xml。

在启动时,Hibernate查询这个XML里面的属性来进行操作,例如数据库连接字符串和密码,数据库方言(databasedialect),以及映射文件位置等。

Hibernate在类路径中查找这个文件。

第二种配置文件是映射描述文件(文件扩展名为*.hbm.xml),它将告诉Hibernate如何来将特定的Java类和一个或者多个数据库表格中的数据进行映射。

MyEclipse提供了工具来处理这两种配置文件,并且可以将它们和你对数据库和Hibernate映射的Java类的修改进行同步。

Hibernate可以用在任何需要将Java对象和数据库表格中的数据进行操作的Java应用中。

因此,它在开发两层和三层的J2EE应用中很有用。

向你的应用中集成Hibernate包括:

1,向你的项目中安装Hibernate核心类和依赖的JAR类库

2,创建hibernate.cfg.xml文件来描述如何访问数据库

Hibernate两大重要的特性包括:

mapping和Persistence

2.3.3mapping

从数据库到Java类的映射是使用JavaAnnotataion或者通过设置XMLFile来完成的。

当通过后一种方式的时候,Hibernate能够为永久性类生成源代码。

Hibernate能够使用XML和Annonation去获得数据库。

Hibernate也提供了管理一对一和一对多关系的机制。

为了管理对象之间的关系,Hibernate也提供了灵活管理那些相同类型的对象之间联系的机制。

Hibernate同样支持常规数据类型的映射。

这使得一下功能成为可能:

当把列映射成为属性的时候,重载默认的SQL类型,使JavaEnum能够像常规的属性一样被映射

2.3.4Persistence

Hibernnate为PlainOldJavaProjects(POJO)提供了透明的永久性机制。

对持久性的类唯一的严格要求就是必须有一个不带参数的构造器,并不需要强制声明为public.某些应用需要使用者对equals()方法和hashCode()方法予以关注。

数据对象的集合通常是存储在Set或者List里面。

JavaGeneric能够在Java5或者更高版本使用。

Hibernate能够设置为lazyload。

Lazyload也是Hibernate3的默认设置。

Hibernate提供了一种叫做HibernateQueryLanguage(HQL)的SQL查询语言。

HQL可以执行类似SQL的查询来获取Hibernate的数据对象。

2.4ApacheTomcat

Tomcat是由Apache软件基金会下属的Jakarta项目开发的一个Servlet容器,按照SunMicrosystems提供的技术规范,实现了对Servlet和JavaServerPage(JSP)的支持,并提供了作为Web服务器的一些特有功能,如Tomcat管理和控制平台、安全域管理和Tomcat阀等。

由于Tomcat本身也内含了一个HTTP服务器,它也可以被视作一个单独的Web服务器。

但是,不能将Tomcat和ApacheWeb服务器混淆,ApacheWebServer是一个用C语言实现的HTTPwebserver;

这两个HTTPwebserver不是捆绑在一起的。

ApacheTomcat包含了一个配置管理工具,也可以通过编辑XML格式的配置文件来进行配置.

Tomcat提供了一个Jasper编译器用以将JSP翻译成对应的Servlet。

Tomcat的Servlet引擎通常与Apache或者其他Web服务器一起工作。

除了用于开发过程中的调试以及那些对速度和事务处理都只有很小要求的用户,很少会将Tomcat单独作为WEB服务器。

但随着版本的更新,正有越来越多的用户将其单独作为WEB服务器用以那些对速度和可靠性有较高要求的环境中。

由于Tomcat是使用Java开发的,所以它可以运行在任何一个装有JVM的不同操作系统之上。

和其他Apache软件基金会旗下的项目一样,Tomcat是由该基金会的会员和其他志愿者开发与维护的,并且是一个被置于Apache协议之下的开源软件。

用户可以根据该协议免费获得其源代码及可执行文件。

最初被发布出来的版本是Tomcat3.0.x,当前的最新稳定版本是6.0.x。

第3章基于J2EE框架的ATM自动取款机查询系统的设计

3.1系统概述

ATM自动取款机查询操作系统就是对提款机操作系统在个人PC上及主流操作平台上的编程实现,该系统针对ATM机的发展趋势和需求,实现了用户注册,登录,查询,存取款,转账,密码修改等功能,并将功能集成到了一个系统当中,为使用者提供了方便易用的服务和良好的用户体验,使得整个业务流程电子化。

从技术实现角度,其开发主要包括后台数据库的建立和维护以及前端应用程序的开发制作两个方面。对于前者要求建立起数据一致性和完整性强、数据安全性好的库。而对于后者则要求应用程序功能完备,易使用。

3.2系统需求分析

ATM自动取款机查询系统具有的功能有

1.客户登陆:

通过客户的银行卡号和密码,对客户的身份进行认证。

2.密码加密:

对后台的密码进行加密,防止密码丢失。

3.账户选择:

提供存储账户,信用卡账户的选择。

4.币种选择:

提供人民币账户和外币账户的选择。

5.余额查询:

查询并返回相关账户的余额

6.取款:

接受用户的取款数额输入,满足取款条件后提供货币,并在数据库账户中进行相应记录。

7.转账:

接受用户提供的转账金额和对方账户信息,满足转账条件后进行转账操作,并在数据库中进行相应记录。

8.密码修改:

修改旧有密码。

9.查询交易明细功能:

查询并显示客户所选时间段的交易信息。

10.积分查询:

查询客户的积分信息。

3.3系统整体设计

根据J2EE体系结构的特点,J2EE服务器提供诸如:

安全、事物管理、数据连接、生命周期以及状态管理等一系列实用的服务,开发出基于J2EE、Struts,Hibernate、XML和MySQL三层模型架构的ATM自动取款机查询系统。

开发基于事务Bean类处理复杂的商业逻辑;

开发基于企业Bean类处理与关系数据库的连接存取相关数据;

用JSP页面显示处理基于Struts的逻辑和数据信息;

用XML实现跨平台的数据传送;

利用Form存取用户帐号和密码信息,同时FormAction进行用户帐号和密码验证和事务的完整性的确认;

开发基于MySQL数据库的各种表。

3.3.1接口和架构

这里的接口并不是指Java中的Interface,它是指广义上的接口,在Java中具体指的是Class的功用方法或者接口的方法,在COM体系或J2EE体系中也有相似的表现形式。

对于整个系统来说,定义这些接口是很重要的。

这些接口实现联系系统中的Class,为用户提供服务,并且连接外部系统(Database等)。

所以,对系统架构的验证,就转化为对接口的验证。

对接口进行验证的基本思路是保证接口的可测试性。

要保证接口具有可测试

性,要做的是对类和类的职责进行分析。

以下几条原则,可以提高接口的可测试

性。

封装原则。

接口的实现细节应该封装在类的内部,对于类的用户来说,他只需要知道类发布出的公有方法,而不需要知道实现细节。

这样,就可以根据类的共有方法编写相应的测试代码,只要满足这些测试代码,类的设计就是成功的。

对于架构来说,类的可测试性是基础。

最小职责原则。

一个类(接口)要实现多少功能一直是一个不断争论的问题。

但是一个类实现的功能应该尽可能的紧凑,一个类中只处理紧密相关的一些功能,一个方法更应该只做一件事情。

这样的话,类的测试代码相应也会比较集中,保证了类的可测试性。

回忆在分层模式中我们讨论的那个例子,实现类为不同的用户提供了不同的接口,这也是最小原则

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 党团工作 > 入党转正申请

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2