收藏 分享(赏)

基于J2EE的期货公司信息管理系统的设计与开发.doc

上传人:wo7103235 文档编号:6253044 上传时间:2019-04-03 格式:DOC 页数:47 大小:2.21MB
下载 相关 举报
基于J2EE的期货公司信息管理系统的设计与开发.doc_第1页
第1页 / 共47页
基于J2EE的期货公司信息管理系统的设计与开发.doc_第2页
第2页 / 共47页
基于J2EE的期货公司信息管理系统的设计与开发.doc_第3页
第3页 / 共47页
基于J2EE的期货公司信息管理系统的设计与开发.doc_第4页
第4页 / 共47页
基于J2EE的期货公司信息管理系统的设计与开发.doc_第5页
第5页 / 共47页
点击查看更多>>
资源描述

1、基于 J2EE 的期货公司信息管理系统的设计与开发摘要J2EE 平台具有多层体系结构,可以简化构建企业级信息解决方案的开发、部署和维护,方便了开发扩展性好、实施效率高的企业级应用系统。MVC 设计模式是一种能够进行表示、控制和数据分离的开发解决方案,它可以方便在企业级开发过程中进行人员角色的分工和合作。上海中期全面结算会员系统(DFSM )是由台湾精诚资讯公司承担开发,采用 MVC 设计模式,目的为上海中期期货经纪有限公司开发一套期货交易管理信息化的系统,其中DFSM 系统为其子系统,实现会员公司或个人的资料与交易管理。该系统要实现会员资料的增加、删除、修改、查询、报表打印、历史交易信息查询、

2、盘中交易实时查询功能等。关键字 J2EE;MVC;期货;设计模式AbstractJ2EE platform is a kind of architecture which has several layers, it can simplify for development, disposal and maintenance of enterprise application solution. It is convenient for designers to provide the good mechanism in the way of building the expandable,

3、flexible and easily disposed enterprise application system. MVC design pattern is a development solution which can separate control from representation, data and control; it also can easily carry the separation and corporation of work during the process of enterprise development.DFSM from Taiwan is

4、sincere commitment to the development of IT companies, using MVC design pattern, for the purpose of the medium-term futures brokerage in Shanghai Co., Ltd. to develop a futures exchange management information system, which DFSM system for its subsystems, and Member companies or individuals the infor

5、mation and transaction management. This system achieve the information to add, delete, modify, query, reporting, printing, transaction history information, real-time intraday trading for functions.Key Words: MVC; J2EE; futures; design pattern目录第一章 绪论 11.1 应用领域背景和研究内容 .11.2 J2EE 平台概要 .21.3 整体软件目标 .21

6、.4 软件项目管理 .31.5 论文组织 .4第二章 J2EE 体系平台分析 52.1 J2EE 的 N 层体系结构 .52.2 J2EE 架构设计的主要技术 .62.2.1 客户端技术 62.2.2 组件技术 72.2.3 服务技术 92.2.4 通信技术 102.3 J2EE 开发过程和方法 .102.4 企业级应用系统体系结构分析 .122.5 本章小结 .13第三章 基于 J2EE 框架下的 MVC 设计模式 .143.1 实现 MVC 设计模式的几种方式 143.1.1 STRUTS143.1.2 JSF .153.1.3 Spring.163.1.4 Hibernate .173.

7、2 几种设计模式技术特点分析 .183.3 本章小结 .18第四章 基于 OM 平台实现 MVC 设计模式 204.1 什么是 OM 平台 204.2 为什么需要 OM 平台 204.3 OM 平台系统架构 .204.4 OM 平台功能优势 .214.5 上海中期全面结算会员系统(DFSM)的实现 214.5.1 Client 端程序组成架构 .224.5.2 Server 端程序组成架构 294.5.3 报表 334.5.4 程序运行效果 344.6 本章小结 .37第五章 总结 385.1 工作总结 .385.2 今后的工作方向 .38参考文献 40致谢 41ContentsCHAPTER

8、 1 INTRODUCTION 11.1 BACKGROUND 11.2 THE OUTLINE OF J2EE PLATFORM.21.3 THE GOAL OF THIS SYSTEM.21.4 PROJECT MANAGE.31.5 CONTENT .4CHAPTER 2 J2EE PLATFORM .52.1 N TIER ARCHITECTURE.52.2 PRIMARY TECHNOLOGY OF J2EE .62.2.1 Client technology .62.2.2 groupware technology72.2.3 Server technology.92.2.4 Co

9、mmunication 102.3 MATHOD OF DEVELOPMENT .102.4 ENTERPRISE APPLICATION ARCHITECTURE .122.5 SUMMARY 13CHAPTER 3 MODE OF MVC.143.1 METHOD OF IMPLEMENTING MVC .143.1.1 STRUTS143.1.2 JSF .153.1.3 Spring.163.1.4 Hibernate .173.2 CHARACTERISTIC AND ANALYSE 183.3 SUMMARY18CHAPTER 4 IMPLEMENT MVC MODE BASE O

10、N OM PALTFORM .204.1 WHAT IS OM204.2 WHY USE OM 204.3 ARCHITECTURE OF OM PLATFORM204.4 ADVANTAGE OF OM214.5 DFSM214.5.1 Client Code 224.5.2 ServerCode.294.5.3 Report.334.5.4 Display .344.6 SUMMARY37第五章 SUMMARY.385.1 WORK SUMMARY385.2 OUTLOOK .38参考 REFERECE 40ACKNOWLEDGEMENT .41基于 J2EE 的期货公司信息管理系统的设计

11、与开发1第一章 绪论随着科学技术的不断前进发展,国际互联网已经融入了我们的日常生活,并改变着我们的日常的生活方式和工作方式,同时也在改变了企事业单位的生产、经营和服务方式。互联网为我们提供了大量的信息和服务,如何能够利用互联网为我们更好的服务,如何能够是我们的企业在信息化的浪潮中适应经济全球化的发展,提高我们企业的核心竞争力,是当前我们科技人员面临的一个紧迫课题 1。1.1 应用领域背景和研究内容期货的英文为 Futures,是由“未来” 一词演化而来,其含义是:交易双方不必在买卖发生的初期就交收实货,而是共同约定在未来的某一时候交收实货,因此中国人就称其为“期货” 。所谓期货,一般指期货合约

12、,就是指由期货交易所统一制定的、规定在将来某一特定的时间和地点交割一定数量标的物的标准化合约。这个标的物,又叫基础资产,是期货合约所对应的现货,这种现货可以是某种商品,如铜或原油,也可以是某个金融工具,如外汇、债券,还可以是某个金融指标,如三个月同业拆借利率或股票指数。广义的期货概念还包括了交易所交易的期权合约。大多数期货交易所同时上市期货与期权品种。期货合约内容包括:合约名称、交易单位、报价单位、最小变动价位、每日价格最大波动限制、交割月份、交易时间、最后交易日、交割日期、交割品级、交割地点、最低交易保证金、交易手续费、交割方式、交易代码等。期货合约附件与期货合约具有同等法律效力。我国期货市

13、场产生于 20 世纪 80 年代末 90 年代初,随着改革开放的深入,期货市场在国民经济中的重要作用日益受到人们的认同和重视,中国加入 WTO 后,在全球经济一体化的大背景下,我国期货市场需要大力发展,但作为期货市场微观主体的期货经纪公司的发展也同样刻不容缓。如何有效地增强综合实力、减小风险危机, 不仅是我国期货公司自身发展面临的一个首要问题, 也是我国期货市场和期货监管机构需要给予极大关注的问题。因此, 加强对期货公司的风险监管, 提高对期货公司监管的信息化程度, 并给出一个期货公司综合实力的评价体系, 将对我国期货公司的发展壮大以及我国期货市场的健康发展都有着长远的基于 J2EE 的期货公

14、司信息管理系统的设计与开发2意义。1.2 J2EE 平台概要J2EE(Java 2 Platform Enterprise Edition)是Sun公司定义的一个开发分布式企业级应用的规范。它提供了一个多层结构的、分布式的应用程序模型, 具有重用组件的能力、基于扩展标记语言(XML) 的数据交换能力、统一的安全模式和灵活的事务控制能力。多层次分布式应用模型根据功能把应用逻辑分成多个层次, 每个层次支持相应的服务器和组件, 组件在分布式服务器的组件容器中运行,容器间通过相关的协议进行通信, 实现组件间的相互调用。J2EE体系结构可以分为4层:客户层、Web 层、业务层和企业信息系统层。J2EE核

15、心采用了组件技术, 为企业应用系统提供了良好的可靠性、扩展性和安全性。J2EE建立在Java2平台标准版的基础上 , 它不仅巩固了标准版的许多优点 , 如“ 编写一次, 到处可用”的移植性、安全性、平台无关性等, 同时还提供了对Java Servlet API、JSP 、EJB 、和XML技术的全面支持。正是以上特征, 所以期货公司风险监管系统采用技术来开发 , 以满足系统的高可用性、高可靠性及可扩展性的应用需求。1.3 整体软件目标在本文中,作者立足于构建基于 Internet 的企业级期货交易管理应用系统,分析研究了在企业级应用开发中被广泛采用的基于 J2EE 平台的 MVC 软件设计模式

16、的特点及其关键技术,给出一种 MVC 模式的设计实例。这种设计模式能够较好的满足当前基于 Internet 的需求快速变化的企业级应用系统的结构设计与实现,基于这种模型的应用程序框架非常适合开发基于 Internet 的企业级期货交易管理应用系统。作者结合上海中期全面结算会员系统(DFSM)项目中的历史交易查询实例分析论述了这种 MVC 模型框架的实现全过程,并对其效果进行分析评估。上海中期全面结算会员系统(DFSM )是由台湾精诚资讯公司承担设计,目的为上海中期期货经纪有限公司开发一套期货交易管理信息化的系统,其中 DFSM 系统为其子系统,实现会员公司或个人的资料与交易的管理和查询。该系统

17、要实现会员资料的增加、删除、修改、查询、报表打印,历史交易信息查询、盘中交易实时查询功能等。其中由于盘中交易查询对该系统的实时性要求较高,所以需要一种行之有效的解决方法,我们采用“内存数据库”基于 J2EE 的期货公司信息管理系统的设计与开发3的技术实现此功能。1.4 软件项目管理由于本系统的开发属于较大型的软件开发项目,必须采取有效的软件项目管理方式。软件项目成功的目标是有高素质的软件开发人员。然而大多数软件的规模都很大,单个软件开发人员无法再给定期限内完成开发工作,因此,必须把多名软件开发人员合理第组织起来,使他们有效的分工协作共同完成开发工作。为了成功地完成软件开发工作,项目组成员必须以

18、一种有意义且有效的方式彼此交互通信。如何组织项目组是一个重要的管理问题,管理者应该合理的组织项目组,使项目组有较高生产率,能够安预定的进度计划完成所承担的工作。经验表明,项目组组织得越好,其生产率越高,而且产品质量也越好。除了追求更好的组织方式之外,每个管理者的目标都是建立有凝聚力的项目组。一个有高度凝聚力的小组,有一批团结的非常紧密的人组成,他们的整体力量大于个体力量的总和。一旦项目组具有了凝聚力,成功的可能性就大大增加了。现有的软件项目组的组织方式很多,通常,组织软件开发人员的方法,取决于所承担的项目的特点、以往的组织经验以及管理者的看法和喜好。这次我们的软件管理采用一种称为“现代程序员组

19、”的组织方式。图 11 人员组织程序员组成员人数不一过多,当软件项目规模较大时,应该把程序员分成若干个小组,采用如上图结构。有土可以看出,产品开发作为一个整体是在项目经理的指导下进行的,程序员向他们的组长汇报工作,而组长泽向项目经理汇报工作。当产品规模更大时,可以适当基于 J2EE 的期货公司信息管理系统的设计与开发4增加中间管理层次。张扬作有利于形成畅通的通信渠道,以便充分发挥每个程序员的积极性和主动性,集思广益攻克技术难关。1.5 论文组织本文的章节作者安排如下:第一章:绪论。介绍了 J2EE 平台概要、本文应用领域背景和研究内容、整体软件目标、和组织结构。第二章:着重分析了 J2EE 企

20、业应用平台技术及其相关内容, J2EE 的体系结构和开发方法,在本章最后对现代企业级应用系统的设计要求进行了分析。第三章:介绍 J2EE 架构中常用到的 MVC 模式,它是本篇论文的理论基础。第四章:介绍本次毕业设计中上海中期全面结算会员系统(DFSM)项目的系统架构,以及作者所作的工作,介绍了使用 MVC 技术模型开发该项目的流程和系统运行、测试效果。第五章:对该 MVC 技术模型和框架进行了总结,并给出了系统的改进方向。基于 J2EE 的期货公司信息管理系统的设计与开发5第二章 J2EE 体系平台分析目前随着网络软件技术和硬件技术的快速发展,企业级应用的需求也越来越高,表现为软件系统规模和

21、复杂性的不断增大,以及因为需求的快速变更而导致的维护周期的缩短,基于 B/S 的三(多)层体系结构已经成为各类企业应用软件的基本结构形态,软件设计的核心已由传统的编码转向软件体系结构的设计。体系结构设计主要着眼于系统的全局组织形式,从更高的层次上把握系统各个组成部分的内在联系,从大局和整体的角度理解、分析系统的行为和特性,从而有助于解决开发复杂的大型软件所存在的困难。J2EE 正是一个被广泛应用于企业级开发的基础架构平台。图 21 典型的三层体系架构2.1 J2EE 的 N 层体系结构J2EE 使用多层的分布式应用模型,应用逻辑按功能划分为组件,各个应用组件根据所在层分布在不同的机器上。J2E

22、E 的多层企业级应用模型将两层化模型中的不同层面切分成许多层。一个多层化应用能够为不同的每种服务提供一个独立的层,图 1 是 J2EE 典型的 N 层体系结构。基于 J2EE 的期货公司信息管理系统的设计与开发6图 22 J2EE 的 N 层体系结构2.2 J2EE 架构设计的主要技术J2EE 体系包括 JSP、Servlet、EJB、Web Service 等多项技术,这些技术的出现给电子商务时代的 Web 应用开发提供了一个非常有竞争力的选择。图 23 J2EE 体系2.2.1 客户端技术J2EE 客户端既可以是一个 Web 客户端,也可以是一个应用程序客户端。Web 客户端由两部分组成:

23、由运行在 Web 层的 Web 组件生成的包含各种标记语言的动态 Web 页面和接收从服务器传送来并将它显示出来的 Web 页面。Web 程序的客户端主基于 J2EE 的期货公司信息管理系统的设计与开发7要有以下功能:显示用户界面、确认用户输入、服务器通信、管理对话状态。J2EE 应用程序客户端运行在客户端机器上,使得用户可以处理比标记语言更丰富的用户界面 2。表示层生成了 Web 页面和 Web 页面中的动态内容。动态内容通常从数据库获得,例如:每个时间段的专业技术职务申报人数情况。表示层的另一个主要任务就是把客户端传来的Web 页面包含的请求进行打包 3。表示层一般不处理应用逻辑,其应用代

24、码可以从 Web 服务器上下载到本地的浏览器中执行,或者是从服务器端下载数据包和数据描述包,在客户端的应用程序中执行。表示层基本上不需要任何管理工作;用户只要通过服务器端的身份认证,就可以使用互联网协议传输反馈信息并且在客户端显示。表示层通常在 Web 服务器(例如: Microsoft IIS、IBM Web sphere)中实现。Web 服务器除了处理站点静态页面的请求之外,通常还要为多个应用程序处理请求。图 24 Web 客户端2.2.2 组件技术J2EE 组件是一个自带功能的软件单元,与相关的类和文件被装配到 J2EE 应用程序中,并实现与其它组件的通信。J2EE 组件和标准的 Jav

25、a 类不同点在于:被装配在一个 J2EE 应基于 J2EE 的期货公司信息管理系统的设计与开发8用程序中,具有固定的格式并遵守 J2EE 规范;被部署在产品中,由 J2EE 服务器对其进行管理。(1)客户端应用程序 Applet 是运行在客户端的组件。一个 Applet 是一个用 Java 编程语言编写的小的客户端应用程序,安装在 Web 浏览器中的 Java 虚拟机中运行,通过 HTTP 协议和服务器通信。(2) Java Servlet 和 Java Server Pages (JSP )是运行在服务器端的 Web 组件。Servlet 是 Java 平台上的 CGI 技术,在服务器端运行

26、,动态地生成 Web 页面。JSP 是一种实现普通静态 HTML 和动态页面输出混合编码的技术, 在运行时 JSP 首先转换成 Servlet,并以Servlet 的形态编译运行。(3)Enterprise JavaBean(EJB)组件是运行在服务器端的商业软件。EJB 提供了一个框架来开发和实施分布式商务逻辑,由此很显著地简化了具有可伸缩性和高度复杂的企业级应用的开发。EJB 规范定义了 EJB 组件在何时、如何与它们的容器进行交互作用。容器负责提供公用的服务,例如目录服务、事务管理、安全性、资源缓冲池以及容错性。基于 J2EE 的期货公司信息管理系统的设计与开发9图 25 Enterpr

27、ise JavaBean(EJB)2.2.3 服务技术J2EE Web 程序服务器提供了方便编程的各种服务技术,这些技术不用 Web 编程者自己开发,在 Web 应用中一般通过调用现成的 API 来使用这些技术,例如命名服务、部署服务、数据连接、数据事务、安全服务和连接框架。(1)命名技术 JNDI:J2EE 命名服务提供应用构件程序命名环境。JNDI API 提供了Web 构件进行标准目录操作的方法,促进了 J2EE Web 程序与其它平台系统的整合。(2)部署技术:就是将应用构件按照一定的格式打包并放置在应用服务器的容器内。在J2EE 构件被安装在容器内时,它们一般是根据功能被分成若干个模

28、块,每个模块都有一个基于 J2EE 的期货公司信息管理系统的设计与开发10部署描述文件用于告诉 J2EE 容器如何进行部署。(3)数据库连接技术 JDBC:JDBC API 使 J2EE 平台和各种关系数据库之间连接起来,而且提供了从 Java 程序内调用 SQL 数据检索语言的功能。(4)数据事务技术:数据事务用于保证数据读写时不会出乱。(5)安全技术:J2EE 提供了严密的安全措施,用于保证程序资源只能由获准的用户来使用。分为两步,首先是验证,其次是授权。J2EE 的容器提供两种安全方法,声明性和程序性。(6)连接框架技术:是一组用于连接 J2EE 平台到企业信息系统的标准 API。J2E

29、E 连接框架技术解决了现有企业信息系统与 EJB 容器和构件的集成,这种技术主要是规定了J2EE 程序服务器和遗留系统之间的资源适配器,使得两者能够相互读懂对方的数据。(7)Web 服务技术:是通过互联网进行远程应用服务和计算的新技术,成为 J2EE 平台的一部分,Web 服务通过基于 XML 的开放标准使企业之间进行信息连接 4。2.2.4 通信技术J2EE 的通信技术提供了客户和服务器之间及在不同服务器程序构件之间的通信机制,包括在 Internet 和 Intranet 中的不同通信协议。J2EE 平台支持几种典型的通信技术、Internet 协议、远程方法调用协议(RMI) 、对象管理

30、群协议( OMGP) 、消息技术(messaging)和数据格式。2.3 J2EE 开发过程和方法一般来说 J2EE 应用由两部分构成:企业 bean 和 Web 组件,在开发过程中,我们可以根据实际需要,尽量重用现成的企业 bean 和 Web 组件构建新的应用或者直接移植。为了构建这些模块,在本文介绍的项目中,我们是用了基于 UML2.0(Unified Modeling Language)的可视化的建模工具 IBM Rational Rose 来辅助我们进行项目开发工作。在较大规模的开发中,J2EE 应用需要经历以下的开发过程,参见图 2.6:基于 J2EE 的期货公司信息管理系统的设计

31、与开发11图 26 J2EE 开发过程(1)Web 组件的创建由 Web 设计人员和软件开发人员共同完成, Web 设计人员创建 Web 组件,软件开发人员创建 servlet,通过编写和编译 servlet 的源代码、 JSP 文件和 html 文件、指定 Web 组件的部署描述符,最终产生可用 Web 组件。(2)企业 bean 的创建企业 bean 由软件开发人员编写和编译企业 bean 需要的 Java 源代码,为企业 bean 指定部署描述符。(3)J2EE 应用组装由项目支持人员将 EJB.jar 和.war 文件组装成一个 J2EE 企业文档或者 EAR 文件,同时进行下列配置:

32、数据库连接池、邮件会话、URL 连接、JMS 队列和主题、EJB 应用。(4)J2EE 应用部署安装部署人员设置和部署 J2EE 应用、管理 J2EE 应用运行的主机和网络基础设施、检查运行环境,设置安全属性、设置事务控制和指定数据库连接池。在设置期间,部署人员按照应用组件提供者提供的说明指定安全设置和指派事务属性,并生成目标容器特定的类和接口。基于 J2EE 的期货公司信息管理系统的设计与开发122.4 企业级应用系统体系结构分析当前,随着互联网技术的高速发展,企业迫切需要能够在 Internet 上高效地构建高质量、高可靠、易部署、易维护的应用系统来提升企业的核心竞争力。对于我们开发人员来

33、说,如何构建企业级应用系统来帮助企业应对程序设计效率、可靠性、可用性、安全性、可扩展性、高度集成性等多方面的挑战是一个非常严峻的课题。一个理想的企业级应用系统平台应该具备下列特点:开发、部署和维护的有效性;系统运行的健壮性和稳定性;具有故障恢复能力;可以同时支持数百用户;能够处理海量数据;具有高安全性;数据的高可用性;可以快速开发和部署新的应用程序;简化组件重用;支持行业标准和通用编程接口;可以适用于大、中、小各种规模的应用系统。目前企业应用系统广泛采纳的是基于 Web 的多层 B/S 体系结构,参见图 2.7。图 27 多层 B/S 企业应用系统结构这种体系结构具有以下优点:(1)多层结构将

34、业务的处理分散到不同的服务器上,在时间点上各个模块可以并行处理,在空间上有不同位置的服务器处理应用,分散了各个服务器的压力,使得整个系统具有更大的承载性。(2)多层结构增强了系统的可扩展性。因为服务器在物理上是分布的,系统可以自动调节各个服务器上的负载平衡,但是这个对于客户端是透明的,设计人员可以根据需要进行服务的扩展。基于 J2EE 的期货公司信息管理系统的设计与开发13(3)多层结构提高了系统的可重用性和可维护性。因为系统是按照组件的模式进行组装的,这样在进行维护的时候,往往只需要修改相应的组件内部的代码,对于企业业务需求的变更适应能力很强。2.5 本章小结本章首先对 J2EE 平台的相关

35、技术做了分析研究,分析了它的多层模型结构及其各自功能特点,介绍了 J2EE 框架系统的容器的思想和 J2EE 平台的企业级开发方法与流程,最后分析讨论了当前企业级应用系统的体系结构。基于 J2EE 的期货公司信息管理系统的设计与开发14第三章 基于 J2EE 框架下的 MVC 设计模式随着面向对象技术的成熟和广泛使用,软件复用在一定程度上已经有所解决,但是与此同时,对软件复用的要求也越来越高。在目前主流的软件设计中,设计人员不是将所有问题都从头开始,而是尽量利用现有的或者以前使用过的解决方案,我们将这些面向对象的软件设计经验叫做设计模式。设计模式可以系统地命名、解释和评价面向对象系统中重要的和

36、重复出现的设计,使用设计模式,设计人员可以设计出复用性和灵活性好的系统,人们可以简单方便地复用成功的设计和体系结构 4。但是如何合理地创建多层体系结构是个难点,为了便于维护、易于扩展,我们需要一个将 Web 层进行表现逻辑、业务逻辑、控制逻辑分离的框架,这就是 MVC 模型框架。3.1 实现 MVC 设计模式的几种方式3.1.1 STRUTSStruts 框架是由 Jakarta 计划开发成功,由 Apache 软件基金赞助。它实质上是在 Model2基础上实现的 MVC 框架 6。在 Struts 框架下,模型由实现业务逻辑的 JavaBean 组成,控制器由 ActionServlet 和

37、 Action 实现,视图由一组 JSP 文件构成。图 3.8 是 Struts 框架结构:图 31 Struts 框架结构(1)视图视图是一组 JSP 文件,在这些 JSP 文件中是不包含业务逻辑的,也没有模型信息,只有标签,这些标签可以是标准 JSP 标签,也可以是客户化标签。一般来说,ActionForm Bean也划分为视图,虽然它具有一些 JavaBean 的常规方法,但是它还包含一些特殊方法,用来基于 J2EE 的期货公司信息管理系统的设计与开发15验证 HTML 表单数据以及其属性。Struts 中,ActionForm Bean 用来进行视图和控制器之间表单数据的传递。(2)模

38、型模型表示应用程序的状态和业务逻辑,业务逻辑在实现中一般由 JavaBean 或者 EJB 组件实现。(3)控制器控制器由 ActionServlet 类和 Action 类来实现。ActionServlet 类是 Struts 框架中的核心组件。ActionServlet 主要负责接受 HTTP 请求信息,根据配置文件,把请求转发给适当的Action 对象。 Action 类负责调用模型的方法,更新模型的状态,并帮助控制应用程序的流程。它可以完成一些业务逻辑,也可以充当用户请求和业务逻辑处理之间的适配器,其功能就是将请求和业务逻辑分开,Action 根据用户请求调用相关的业务逻辑组件。(4)

39、配置文件 strutsconfig.xml配置文件的用处是使 ActionServlet 知道每个用户的请求应该转发给哪个 Action 对象,在struts config.xml 文件中配置了用户请求路径和 Action 映射关系,每个 Action 的映射信息都通过一个 元素来配置 5。3.1.2 JSFJavaServer Faces(JSF )是一种用于构建 Web 应用程序的新标准 Java 框架,它提供了一种以组件为中心来开发 Java Web 用户界面的方法来简化开发。图 32 JSF 框架图示JSF 框架的目标是:(1)把 RAD 的风格带到 Java Web 应用开发中,JS

40、F 提供了一个标准小部件(widgets )基于 J2EE 的期货公司信息管理系统的设计与开发16的集合(按钮、超链接、复选框等) ;一个创建自定义部件(widgets )的模型;一个在服务器端处理客户端生成事件的方法;(2)JSF 在行为( behavior)和表现(presentation)之间提供了一个清晰干净的分离,一方面它支持 Model2 设计模式,另一方面它能把 HTTP 请求映射到特定组件的事件处理。(3)JSF 利用熟悉的 UI 组件和 Web 层的概念,而不用限制到某个特定脚本技术或者标记语言。JSF 的 API 这层是直接在 Servlet 的 API 之上的,这样可以使

41、用其他的展示技术来代替 jsp 页面,通过组件类来直接创建自定义组件并且为各种客户端设备生成输出。(4)JSF 提供了一个丰富的框架,这个框架能够管理组件状态,处理组件数据,效验用户的输入,进行数据转换,定义页面的跳转,处理用户事件并可以提供扩展。这样,JSF 具有逻辑和表示严格分离的组件体系结构,用户只需要开发用户界面,设置事件处理器就可以完成 Web 应用的开发,而不必关心实现的细节。3.1.3 SpringSpring 是不依赖于任何的组件的轻量级的能够替代 EJB 技术的框架。它是模块化的,不是一个强制性的框架,可以选择某个组件独立使用,Spring 能够编写更干净、管理性更强、更易于

42、测试的代码,它们也为 Spring 中的各种子框架提供了基础。图 4.3 是 Spring 框架结构:图 33 Spring 框架图最下面的 Core Container and Supporting Utilities 是 Spring 的基础,它提供了一个 IoC 容器管理业务组件。IoC(Inversion of Control 反转控制)/DI(Dependence Injection 依赖注射)机制是 Spring 框架的核心。IoC 就是由容器控制组件之间的关系,而不是由程序代码直接控制的,这种控制权有程序到容器的转移就是“反转” ,可以通过容器直接获取所需要的业务组件。DI 的作

43、用是由容器在运行期中动态地依赖关系(比如构造参数、构造对象或者接口)基于 J2EE 的期货公司信息管理系统的设计与开发17注入到组件中。Spring 采用设值注入机制,通过配置文件管理对象。Spring 的另外一个特点是 AOP。通常来说,对象通常只能很好地实现对数据的关注、点的封装。对于例如安全验证、日志和调试信息、授权等全局性约束的实现往往会在系统的多个模块中实现,这就造成了代码的分散甚至会造成代码混乱而难以维护。AOP 专注于解决一些系统属性横切(crosscutting )基本功能所产生的问题,可以将许多对象中都会涉及的功能看作是一个方面,所有对这些对象的访问都要经过这个方。这样,可以

44、将多个模块的重复的业务逻辑功能封装在一个模块或者一个 Bean 中,这样可以实现横切关注点的局部化。3.1.4 HibernateHibernate 是 Java 平台上的一种实体关系映射框架,具有 EJB CMP(容器管理的持久化)和 JDO(Java Data Objects)特性。Hibernate 是基于 reflection 机制的,运行时动态查询机制对于最终用户而言是透明的。图 34 Hibernate 框架图在 Hibernate 技术中,使用 hibernate.properties 和 XML Mapping 两个配置文件把普通的Java 对象映射成关系数据库中的表。会话工厂

45、(SessionFactory):用于创建会话,是对编译过的映射文件的一个线程安全的、不可变的缓存快照。会话(Session ):Hibernate 会话封装了一个 JDBC 连接,是 Transaction 的工厂,是单线程、生命期短的对象,代表应用程序和持久化层之间的一次对话,由 SessionFactory 创建。持久化对象(Persistent Objects):单线程对象,包含了持久化状态和商业功能(业务逻基于 J2EE 的期货公司信息管理系统的设计与开发18辑) 。临时对象(Transient Objects):是指目前还没有从属于一个 Session 的持久化类的实例。事务(Tr

46、ansaction ):表示一批工作的原始操作,是底层的 JDBC,JTA 和 CORBA 事务的抽象,由 Session 创建。ConnectionProvider 和 TransactionFactory 都是可选项,对应用程序不可见 6。3.2 几种设计模式技术特点分析Struts、JSF、Spring 都提供了较好的层次分割能力,它们在实现 MVC 的基础上,通过提供辅助类库和标签库等方法促进开发效率的提高。JSF 是一种事件驱动型的组件模型,而Struts 只是单纯的 MVC 模式框架, Spring 是一个轻量级的框架,主要在于避免复杂的 EJB编写。Struts 使用了大量的自定

47、义标签库,开发人员要学习和理解这些标签库、特别是 Bean 和HTML 标签库需要花费时间很长,会增加开发成本。而对于 Struts 的 ActionForm 组件,开发人员需要建立大量的 ActionForm,这是非常繁琐的任务,而且一个 Action 就需要一个Business Model 来配合完成所要的业务逻辑,这样在维护的时候会非常不容易。 JSF 在开发时候必须要求实现标准事件 Action 和 ValueChanged,并且对 JVM 有要求,一般都要求版本在 1.3 以上,这样就会带来不能向前兼容的问题,而且会增加客户的硬件投入费用。Struts 和 JSF 都具有的一个明显的

48、特点,就是要求正确的配置一个或者多个复杂的 XML配置文件,这对于不熟悉配置的用户来说是一件十分困难的事情。Spring 技术的精华是 Ioc 模式实现的 BeanFactory 和 AOP。Ioc 模式可以使设计者在编写程序的时候,只要编写被调用者的接口代码,具体子类实例可以通过配置实现,也就是说,实例化一个对象不再使用 new 了,只要在配置文件中配置即可。这样带来了两个问题,一是原理在开发工具或者第三方的编译器中可以检查编码错误,但是却没有工具可以快速检查配置文件的错误,比如大小写字母的错误等;另外,如果业务系统逻辑非常复杂,那么配置文件会非常庞大而难以维护。同时 Spring 在和 E

49、JB 配合使用时,会带来粗粒度事务问题,比如对于多表的数据更新问题,如果不重复写 update 语句,无法做到数据一致。对于 Hibernate 而言,在作对象与数据库的映射的时候,配置过多,控制十分复杂,不利于维护;对于事务处理上,兼容异构数据库和应用服务器是个大问题,不利于系统的未来扩展;它的好处是建立了 HQL 语言,它是一种类 SQL 的对象查询语言,虽然很好,但是调基于 J2EE 的期货公司信息管理系统的设计与开发19试环境复杂,同样对于异构环境是个问题,在开发中使用不当,会增加开发成本 7。3.3 本章小结本章是本文研究内容的基础。作者在文中重点分析了 MVC 模式,并介绍了 MVC 模式的集几种实现方法,包括 STRUTS,JSF ,Spring ,以及 Hibernate,最后对这几种设计模式做了分析。MVC 模式是本文下面项目实施的基础。基于 J2EE 的期货公司信息管理系统的设计与开发20第四章 基于 OM 平台实现 MVC 设计模式4.1 什么是 OM 平台OM 平台由台湾精诚资讯有限公司 OM 平台开发部设计并开发,它以 Java J2EE 架构为主要企业级 IT 技术,以数据库应用系统为主要开发方式,以金融商品交易为目的的高效率、高安全性的系统平台。4.2 为什么需要 OM 平

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

当前位置:首页 > 学术论文 > 毕业论文

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报