文档库 最新最全的文档下载
当前位置:文档库 › 基于SSH架构的银行员工管理系统设计与实现(含源文件)

基于SSH架构的银行员工管理系统设计与实现(含源文件)

硕士学位论文

基于SSH架构的银行员工管理系统的设计

与实现

学生姓名:

学号:

专业班级:

指导教师:

2014-1

Design and Implementation of Administration System for Bank personnel Based on Software Engineering and SSH

A thesis submitted to

Xi’an Jiaotong University

In partial fulfillment of the requirement

for the degree of

Master of Engineering Science

By

(Software Engineering)

Supervisor: Prof. ****

January 2014

论文题目:基于SSH架构的银行员工管理系统的设计与实现

学科领域:软件工程

申请人:

指导教师:****教授

摘要

随着计算机技术普及应用和企业信息化的飞速发展,传统的员工信息管理模式由于其本身的冗余、繁琐以及效率低等特点已失去了其使用价值,信息化员工管理系统必将成为企业管理发展的主流趋势,这既是适应现代化企业发展的需求,也是激励员工管理方式走向规范化、科学化、高效化的必备条件。在这个信息时代,企业员工管理首先要考虑的问题就是如何将员工的积极性与高效性发挥到极致,充分发挥员工潜力,使企业经济效益最大化。

本文以银行员工管理系统作为研究对象,通过研究企业员工管理系统的关键爱你技术、架构标准以及其在国内外的应用与发展现状,描述了其基本结构特点并分析了基于信息化的员工管理系统相对于传统员工信息管理的优势,并结合银行员工管理系统的需求分析,设计出银行员工管理系统的所有功能模块及数据流程图,并给出了系统每一个功能模块、框架配置的详细介绍和数据库设计说明书。

本文的重点在于讨论如何在J2EE体系结构上实现基于标准的SSH框架的银行员工管理系统。在查阅了大量关于企业人力资源管理系统的运用和开发的文献,深入分析各类人力资源信息管理系统的架构、功能模块、数据库设计特点之后,结合当前最流行的B/S模式、SSH框架、MVC设计模式,研发出一套全新的、符合银行模式特点的员工管理系统。最后,文章基于软件工程和SSH框架的银行员工管理系统的数据库设计方案、功能模块划分及详细设计,并给出了Struts和Hibernate的配置方案以及核心模块的实现。

关键词:银行;员工管理系统;J2EE体系结构;SSH框架;MVC设计模式;

Title:Design and Implementation of Administration System for Bank personnel Based on Software Engineering and SSH

Professional Fields: Software Engineering

Applicant:

Supervisor: Prof.***

ABSTRACT

With the rapid development of computer technology and enterprise information technology, because of the disadvanges, artificial way to manage employee information is no longer appropriate,so the staff management system implemented by the computer has become an indispensable part of enterprise management.It is a necessary condition to adapt to the requirements of modern enterprise system,promote labor and personnel management more scientific,standardized.How to improve enterprise efficiency and management efficiency in the high-speed development of society and various enterprise development must be taken into account.

The article selects employees information management syste as an object of study,at the aim of studying the technical principles of corporate human resources information management system architecture standards and their application development status at home and abroad,describing its basic structural features and analysis is based on information technology and enterprise of staff resources management for the advantage of the traditional enterprise management of employee information, and in the end of the article based on the needs of employees information management system, design acorporate employee information management system functional modules and data flow diagrams, given the system function modules flame work configuration details and database design specifications.

The focus of this paper is to discuss how to implement the employee information management system based on the standard SSH framework which based on J2EE architecture. Through referencing to a lot of literature about the use and development of corporate human resources information management system, analyzing of the various types of human resources information management system structure, function, modules, database designfeatures, then combined with the most popular B/S mode,

SSH framework MVC design pattern,and developed a new set of Employee Management System. The Employee Management System database design,functional modules divided and Struts and Hibernate configuration programs, as well as the core module implementations detailed design are given out at the end of the article.Keywords:Bank; Employee Management System; SSH framework; MVC design pattern;

目录

第一章绪论 (1)

1.1研究背景 (1)

1.2研究目的与意义 (2)

1.3国内外研究现状 (3)

1.3.1 国外的发展现状 (4)

1.3.2 国内的发展现状 (5)

1.4主要研究内容 (5)

1.5论文的组织结构 (6)

第二章银行员工管理系统的关键技术 (8)

2.1UML简介 (8)

2.2J2EE技术介绍 (9)

2.2.1 J2EE的介绍 (9)

2.2.2 J2EE的优势 (9)

2.2.3 J2EE的核心技术 (10)

2.3S TRUTS的结构和流程简介 (10)

2.3.1 Struts的框架 (10)

2.3.2 Struts的流程 (11)

2.4S PRING简介 (12)

2.5数据持久层框架H IBERNATE (13)

2.6 MVC的介绍 (14)

2.6.1 MVC如何工作 (14)

2.6.2 MVC的优点 (15)

2.7POI的介绍 (16)

2.8数据库及SQL语言简介 (16)

第三章需求分析与系统架构 (18)

3.1系统描述 (18)

3.2系统要求 (18)

3.2.1 功能需求 (18)

3.2.2 性能需求 (21)

3.2.3 安全需求 (22)

3.2.4 非功能性需求 (22)

3.3可行性分析 (22)

3.3.1 经济可行性 (22)

3.3.2 技术可行性 (23)

3.3.3 管理可行性 (24)

3.3.4 开发环境可行性 (24)

3.4系统设计的特点 (24)

3.4.1 系统的性能特点 (24)

3.4.2 系统的数据要求特点: (24)

3.4.3 系统的分层 (25)

第四章银行员工管理系统设计 (26)

4.1系统设计原则及目标 (26)

4.2系统技术架构 (26)

4.3系统功能结构图 (28)

4.3.1人员管理模块 (28)

4.3.2 考勤管理模块 (29)

4.3.3 薪酬管理模块 (29)

4.3.4 权限管理模块 (30)

4.3.5 考核管理模块 (31)

4.4系统程序流程图 (32)

4.4.1 人员管理模块 (32)

4.4.2 考勤管理模块 (33)

4.4.3 薪酬管理模块 (34)

4.4.4 权限管理模块 (35)

4.4.5 考核管理模块 (35)

4.5数据库设计 (36)

4.5.1 数据库设计的原则 (37)

4.5.2 数据库的设计步骤 (37)

4.5.4 数据库表的设计 (39)

4.5.5 数据库设计中的关键技术 (45)

4.6本章小结 (46)

第五章银行员工管理系统的实现 (47)

5.1系统运行环境 (47)

5.1.1 要求的客户端运行环境 (47)

5.1.2 服务器要求 (47)

5.1.3 故障处理 (48)

5.2基于系统SSH框架分层的实现 (48)

5.2.1 表示层 (48)

5.2.2 业务层 (50)

5.2.3 数据访问层 (51)

5.2.4持久层 (53)

5.3系统主要模块的实现 (55)

5.3.1 系统主界面的实现 (55)

5.3.2 银行员工登录界面 (58)

5.3.3 银行员工信息录入界面 (60)

5.3.4 银行员工考勤管理的实现 (62)

5.3.5 薪酬管理界面 (63)

5.3.5 考核管理模块 (67)

5.4数据库备份 (68)

5.5本章小结 (71)

第六章总结与展望 (72)

致谢 (73)

参考文献 (74)

第一章绪论

1.1研究背景

21世纪是信息化的时代,是科技腾飞的时代。现在不仅是我国,世界上绝大多数国家都将科技发展作为其发展的第一要务,把科技作为国家经济腾飞的第一生产力。目前,科技技术已成为各高新技术发展的支撑点,因此它的发展将对经济及社会发展产生深远的影响。与此同时,信息技术的飞速发展,大大地推动了社会信息化的进程,使得社会生活的各个方面都发生了翻天覆地的变化,尤其是在信息管理领域。

作为社会发展的核心动力——人力资源即公司员工,也将成为未来时代重点研究的对象。就目前的发展趋势而言,人工操作管理员工信息呈现低效、安全性差、管理混乱等特点,其已基本失去了其经济价值与意义,使得信息化员工管理系统已经成为企业实现高效、经济管理中必不可少的一个环节,这既是适应现代化企业体制的要求,更是推动企业员工管理方式走向规范化、科学化、效率化的充分条件。因此,如何在社会高速发展的时代潮流中,提高企业工作效率以及管理效率是各企业发展首要问题。

银行员工管理系统是典型的信息管理系统。银行管理系统工作繁琐,包含大量数据信息数据,因此就需要一个完善的银行管理系统来实现这些数据的有效管理。与此同时,中国加入WTO也对我国金融信息化提出了新的挑战与要求,这就意味着,在银行信息化领域,传统银行将逐步向电子银行过渡,电子银行的交易额占银行总交易额的比重将越来越大;金融业数据大集中的浪潮将继续涌动,而且呈现越来越集中的趋势,金融信息化在生产运行管理上的投入将会更多;信息化在银行内部管理和客户关系分析上的应用力度将会进一步加大,银行内部管理和客户信息资源的价值将进一步被开发。虽然管理信息在各国的发展水平有极大的差异,但高效地处理和利用信息,提高信息化水平是商业银行发展的趋势。

随着科学技术的不断发展,计算机技术日益成熟,使用计算机对人事资料进行管理,银行在日常工作中使用功能齐全、操作简便、易控易用的人事信息管理系统,以便对银行人员的组成、考勤情况、福利情况和工资信息进行管理、会给应用者带来很多方便,这些优点能够极大地提高人事管理的效率,直接关系到银行管理的效率与水平,从而也间接影响到整个银行管理的成本与效益,同时,这

也是银行的科学化、正规化管理以及与世界先进管理技术接轨的重要条件。过去的银行在管理中单纯依靠手工管理的方法,不仅需要耗用大量的人力、物力、财力,而且工作效率低,并难以达到预期的目的。

1.2 研究目的与意义

随着计算机技术普及应用和企业信息化的飞速发展,以人工方式对员工信息进行管理己不再适用,使用计算机化员工管理系统已经成为企业管理中不可或缺的一部分,既是适应现代化企业体制的要求,更是推动企业的员工管理方式走向规范化、科学化的重要条件。如何在社会高速发展的现在,提高企业工作效率以及管理效率是各企业发展必须考虑的问题。

传统的员工管理方式往往采用人工的方式对员工文档进行管理,这种粗放的管理模式效率很低,且不利于员工档案的升级和维护,特别是如果面对大企业的海量企业员工档案时,将会导致对员工信息更新、检索的操作冗长复杂,对于企业人事管理效率也是一个极大的打击。

为了解决传统员工管理模式中存在的矛盾和突出问题,保证员工管理中数据的可靠性、安全性,操作的正确性、高效性,就需要充分运用计算机资源将公式的人事信息充分的统一起来管理。

基于人力资源系统的管理方式能够通过计算机软件和数据库自动化管理各种员工的信息,使企业充分利用计算机软件查找迅速、操作简便、稳定性高和数据库存容量大、安全性强、花费少、使用寿命长的特点来减低人力资源管理工作的成本,既可以减少企业管理人员的工作负担,又可以方便对员工信息进行新增、删除、更新、查询操作,提高了员工信息、数据的可靠性也为管理者的决策提供了丰富的信息和管理手段,是提高企业信息管理水平,实现企业正规化、科学化、信息化管理的重要步骤。

目前,基于SSH构建的银行员工管理系统已经成为银行进步与发展的又一关键因素。使用基于SSH构建的银行员工管理体系不但能够有效地减少银行日常工作流程,优化人力资源成本,而且也能够为银行职员搭载一个不受地域限制的沟通桥梁。利用此管理系统有着工作便捷,提高效率,规范程序,智能办公,方便实用,成本低廉等优点。此系统具备大范围使用的客观条件,能够保证银行管理系统的信息化水平提高。

本文选取银行员工信息管理系统作为研究对象,目的在于通过研究银行人力资源信息管理系统的架构原理、建模标准以及其在国内外发展现状,描述了其基本特点并深入分析了基于信息化的员工资源管理相对于传统员工信息管理的优势,最后根据员工信息管理系统的需求,设计出员工信息管理系统的所有功能模块和数据流图。

本文的重点在于讨论如何在J2EE体系结构基础上实现基于标准的SSH框架的员工信息管理系统。在参考了大量关于企业人力资源管理系统的运用和开发的文献基础上,深入分析了各类人力资源信息管理系统的架构、功能模块、数据库设计特点,结合当前最流行的B/S模式、SSH框架、MVC设计模式,研发出一套全新的银行员工管理系统。在文章的最后给出了基于SSH框架银行员工管理系统的数据库设计方案、功能模块划分及详细设计,并给出了Struts和Hibernate的配置方案以及核心模块的实现。

建设银行员工管理系统的目的在于及时、高效地解决员工管理和工作中的各种问题,提高员工的工作效率。通过银行员工管理系统的逐步建设,系统必须具有如下要求:

1)加强员工信息准确统计与审核;

2)信息准确、可靠、实时处理和更新;

3)数据分析、统计查询功能;

4)提供即时消息等手段;

5)业务功能符合业务需求;

6)信息审核流程完善、高效、精确。

1.3 国内外研究现状

就目前发展趋势而言,IT技术的运用使员工资源管理的手段和过程发生了巨大的改变。这种改变不仅仅用自动智能取代了人工操作,而且对传统员工资源的理念也产生的影响。所谓员工管理信息化,是指员工资源管理电子信息化,是指银行基于高速度、大容量的硬件和先进的IT软件的员工资源管理模式。通俗地说,就是员工资源管理信息化或自动化。因此员工管理信息化的引入,不是取代专业的员工管理服务,而是为了让员工管理人员进一步提高自己服务的档次和专业程度,以求在更高的层次上形成银行在员工资源方面的核心竞争力。这样员

工资源方面的竞争往往不是取决于员工资源服务人员的多少,而是员工资源人员的水平。因此,该系统中主要是对部门员工以及其绩效信息进行管理。

从20世纪50年代至今,银行员工管理结构经历了三个发展阶段:

第一阶段:人事管理阶段。在这个阶段,人事管理更多地关注于事的管理,并不关注员工绩效,员工在银行不被看作可待开发的资源,而是简单地以人事档案的形式存在。

第二阶段:员工资源管理阶段。这个阶段,专门的员工资源部门在银行出现,能够将其他部门视为员工资源部门的客户来提供诸如招聘、培训、考核等员工资源服务,并开始关注员工个人绩效的管理,是银行战略规划的忠实执行者。

第三阶段:员工资源开发与经营阶段。这个阶段,员工资源作为银行重要的战略性资源开始被银行高层充分考虑到银行的战略规划之中。银行不再只是对员工资源进行浅层次的管理,也不只是为其他部门提供例行性服务,而是将员工视为一种可增值的资源进行深度地开发与经营。

1.3.1 国外的发展现状

在上个世纪七十年代末到八十年代初的时候,国外企业已经开始使用单机软件管理企业人事和人力资源;到了上个世纪九十年代,伴随着计算机网络的运用和发展,以Client/Server和Browse/Server架构为中心的网络人力资源信息系统(HRIS,Human ResourceInformationSystem)相继诞生并在企业信息管理中得到了充分运用,在HR/S中,往往主要模块包括人事信息管理、考勤管理、薪资计算、福利管理等功能,这种功能的划分也显示出这个阶段人力资源软件对人力资源基本信息的采集和维护的重视程度;在网络人力资源信息系统发展的后期又出现了网络人力资源管理系统(HRMS,Human ResourceManagement System),新的软件中增加了诸如员工培训、员工绩效管理、公司门户、人才招聘等体现对人力资源进行管理的相关模块,并且通过各种不同的数学模型和工具,对员工信息进行挖掘,最终向公司决策层提出优质的管理流程、提取重要的分析资料以及提供战略决策以供参考,如图1-1所示:

HRMS 人力资源规划招聘人事管理培训薪资与福利

企业基础数据

员工基础数据薪资报表图形统计数据接口自动邮件员工自助服务

经理自助服务

图1-1 人力资源管理系统

国外的人力资源管理系统起步早,在开发的契合度和成熟度都相对较高,由于其成长伴随着企业管理理论的发展,故其设计理念也包含了先进的管理理念。目前,国外人力资源系统的研发团队强大、资金雄厚、技术过硬,更兼有成熟的市场推广经验和部分硬件、数据库厂商支持,使得国外研发公司可以开发出适用于不同行业、不同领域的人事管理解决方案。目前,许多国外的软件开发公司,如Oracle 、SAP 等,将EHR 视为未来人力资源管理软件领域发展方向并积极推出相应的EHR 企业级应用。

1.3.2 国内的发展现状

我国的人力资源管理系统大约是从20世纪90年代初期从国外引进的,经过十余年国家网络化和信息化的快速发展和转变,人力资源信息化管理技术也开始应用于不同企业的各个领域。同时,由于外资银行的大量涌入而开始的,至今才不过短短10余年时间,应该说,由于银行管理者观念上的差异,再加上国内人力资源管理学科的不健全,导致经过专业培训的人力资源管理人员的匾乏,使得中国绝大部分银行在员工资源的管理与开发上还处于比较基础的阶段,与发达国家相比还有较大差距。

在国内人力资源信息化管理快速发展的同时,国内的公司、企业对人力资 源信息化管理水平相对于国外先进水平而言还是有很大差距:包括使用范围相对狭窄,软件系统的功能单一、稳定性差等问题。

1.4主要研究内容

本文主要的研究内容为银行员工管理系统设计的知识,重点是SSH框架的银行员工管理系统的设计和应用;以SSH框架技术为核心,以J2EE体系为基础,通过B/S方式实现员工信息管理系统的设计。

本课题的主要研究内容有以下几点:

a.掌握使用UML建模的方法,并且针对员工管理系统的国内外研究现状进行分析,结合银行员工管理系统的需求特点,建立该管理系统的模型;

b. 掌握在J2EE平台下管理系统的开发技术;

c.掌握Struts、Spring、Hibernate等关键技术,并可以编写该程序系统,实现需求中提出的内容。

d.信息管理中必然使用微软的Office,这里需要一些对Excel等的操作,因此需要掌握POI的使用方法。

e.分析银行员工管理系统的需求,在它的基础上首先做出用例模型,对之进行用例描述,最后画出领域模型图。

f.根据银行员工管理系统需求中得到的用例模型和领域模型来设计该系统,并开发出相应的数据库。

g. 编写代码并且对该系统进行调试。

本课题需要在正确安装JDK、MyEclipse的前提下,对用户提出的需求做出设计并且实现。该系统包含权限设置功能,在不同的用户登录系统时有不同的功能实现,这样更能方便领导管理本系统。

1.5 论文的组织结构

本文共分七章,各个章节的研究内容如下:

第一章是绪论,主要阐述论文的开发背景及其研究意义,分析了本课题的国内外研究现状,明确了论文的研究目标和主要研究内容,并给出了论文的组织结构。

第二章是系统关键技术,主要介绍了与本课题相关的核心技术及其开发背景,诸如J2EE体系结构、SSH框架、B/S实现方式、MVC模式、UML建模语言以及POI技术等。

第三章是需求分析,主要是就传统员工管理的弊端像处理效率低、工作量大以及局限性高等特点,对本系统的功能需求、设计要求及其他需求等进行了详细

的分析,并据此画出用例模型,进行用例描述,做出领域模型。

第四章是系统设计,以第三章得到的需求分析产出物为基础简要介绍了本系统要实现的模块以及每个模块所负责的功能,进而对系统逻辑架构和数据库进行设计,包括系统架构设计、功能设计、数据库设计。

第五章是系统实现,首先介绍了整个项目在基于SSH框架的基础上如何分为四层(表示层、业务层、数据访问层、持久层)来进行系统的设计实现,并在后续的部分介绍了员工管理系统主要模块的实现方法与过程。

第六章是系统调试,主要对本系统的测试环境进行了简单的介绍,并对该系统进行单元测试以保证其可行性。

第七章是总结及展望,得出本课题主要的研究结论,并总结了本次研究的主要工作和学习心得,最后对未来的银行员工管理系统提出了新的设想和展望。

第二章银行员工管理系统的关键技术银行员工管理系统的实现采用B/S架构体系,以及原型法、迭代法混合方式实现了整个系统。本章简要介绍了B/S架构体系中J2EE的多层开发架构、前端AJAX技术EXT框架、Ehcache缓存技术、WAS双机集群技术和UML建模技术等。

2.1 UML简介

UnifiedModelingLanguage(UML)又称统一建模语言或标准建模语言,是始于1997年一个OMG标准,它是一个支持模型化和软件系统开发的图形化语言,为软件开发的所有阶段提供模型化和可视化支持,包括由需求分析到规格,到构造和配置。面向对象的分析与设计(OOA&D,OOAD)方法的发展在80年代末至90年代中出现了一个高潮,UML是这个高潮的产物。它不仅统一了Booch、Rumbaugh和Jacobson的表示方法,而且对其作了进一步的发展,并最终统一为大众所接受的标准建模语言。

利用UML可以进行需求分析、概要设计、详细设计、编程实现,测试等,主要用于用例图、时序图和类图的设计。通常用UML进行用例图、类图、时序图、活动图、组件图的设计和建模,很好的描述软件对象和建立软件模式。

UML定义了5类,10种模型图。基本模型图包括:

(1)用例图:展示系统外部的各类执行者与系统提供的各种用例之间的关系。

(2)类图:展示系统中类的静态结构(类是指具有相同属性和行为的对象,类图用来描述系统中各种类之间的静态结构)。

(3)对象图:是类图的一种实例化图(对象图是对类图的一种实例化)。

(4)包图:是一种分组机制。在UML1.1版本中,包图不再看作一种独立的模型图。

(5)状态图:描述一类对象具有的所有可能的状态及其转移关系(它展示对象所具有的所有可能的状态以及特定事件发生时状态的转移情况)。

(6)顺序图:展示对象之间的一种动态协作关系(一组对象组成,随时间推移对象之间交换消息的过程,突出时间关系)。

(7)合作图:从另一个角度展示对象之间的动态协作关系(对象间动态协

作关系,突出消息收发关系)。

(8)活动图:展示系统中各种活动的执行流程(各种活动的执行顺序、执行流程)。

(9)构件图:展示程序代码的物理结构(描述程序代码的组织结构,各种构件之间的依赖关系)。

(10)配置图:展示软件在硬件环境中(特别是在分布式及网络环境中)的配置关系(系统中硬件和软件的物理配置情况和系统体系结构)。

2.2 J2EE技术介绍

2.2.1 J2EE的介绍

J2EE是Java2平台企业版(Java2Platform,EnterpriseEdition),它是一套全然不同于传统应用开发的技术架构,包含许多组件,主要可简化且规范应用系统的开发与部署,进而提高可移植性、安全与再用价值。它是由SUN公司提出的一种使用于分布式环境之中、以服务器为中心的、基于组件的多层体系结构,该架构是Java技术开发企业级应用的一种被广泛接受的实际工业标准,该标准克服传统Client/Server模式的弊病,转而采用Browser/Server架构,为javal撕发服务器提供了一个具有可移植、高度兼容、安全、稳定且基于标准等特点的企业级平台,进而简化了企业级的程序研发、系统部署和应用管理。

J2EE组件和“标准的”Java类的不同点在于:它被装配在一个J2EE应用中,具有固定的格式并遵守J2EE规范,由J2EE服务器对其进行管理。J2EE规范是这样定义J2EE组件的:客户端应用程序和applet是运行在客户端的组件;Java Servlet和Java Server Pages (JSP) 是运行在服务器端的Web组件;Enterprise Java Bean (E JB )组件是运行在服务器端的业务组件。

2.2.2 J2EE的优势

J2EE为搭建具有可伸缩性、灵活性、易维护性的管理系统提供了良好的机制:

第一,保留现存的IT资产:J2EE 架构可以充分利用用户原有的IT 资产;

第二,高效地开发:J2EE允许公司把一些通用的、很繁琐的服务端任务交给中间供应商去完成。这样开发人员可以集中精力在如何创建商业逻辑上,相应地缩短了开发时间;

第三,支持异构环境:J2EE能够开发部署在异构环境中的可移植程序。基于J2EE的应用程序不依赖任何特定操作系统、中间件、硬件。因此设计合理的基于J2EE的程序只需开发一次就可部署到各种平台;

第四,可伸缩性:企业必须要选择一种服务器端平台,这种平台应能提供极佳的可伸缩性去满足那些在他们系统上进行商业运作的大批新客户。基于J2EE 平台的应用程序可被部署到各种操作系统上;

第五,稳定的可用性:一个服务器端平台必须能全天候运转以满足公司客户、合作伙伴的需要。因为INTERNET是全球化的、无处不在的,即使在夜间按计划停机也可能造成严重损失。若是意外停机,那会有灾难性后果。J2EE部署到可靠的操作环境中,他们支持长期的可用性。

2.2.3 J2EE的核心技术

支撑J2EE的13种核心技术:JDBC、JNDI、EJBS、RMI、JSP、JAVA SERVLETS、XML、JMS、JAVA IDL、JTS、JTA、JAVA MAIL和JAF。

2.3 Struts的结构和流程简介

Struts是一个基于MVC的设计模式开源项目,整合了JSP、Servlet、JavaBean、XML和自定义标签到一个统一的标准框架中,组成了一个可复用的MVC,使系统开发人员构架基于JSP和Servlet的Web应用时更容易,同时其开放的源代码也可以让系统开发人员更深入的了解系统的内部机理。

2.3.1 Struts的框架

Struts框架具有组件的模块化,灵活性和重用性的优点,同时简化了基于MVC的web应用程序的开发。从MVC角度观察struts框架中的组件,框架中三个部分:模型,视窗和控制器。

◆模型

在struts框架中,模型分为两个部分:系统的内部状态、可以改变状态的操作(事务逻辑)内部状态通常由一组ActionFormJavaBean表示。根据设计或应用程序复杂度的不同,这些Bean可以是自包含的并具有持续的状态,或只在需要时才获得数据(从某个数据库)。

大型应用程序通常在方法内部封装事务逻辑(操作),这些方法可以被拥有状态信息的bean调用。比如购物车bean,它拥有用户购买商品的信息,可能还

有checkOut()方法用来检查用户的信用卡,并向仓库发定货信息。

小型程序中,操作可能会被内嵌在Action类,它是struts框架中控制器角色的一部分。当逻辑简单时这个方法很适合。

建议用户将事务逻辑(要做什么)与Action类所扮演的角色(决定做什么)分开。

◆视窗

由JSP建立,struts包含扩展自定义标签库,可以简化创建完全国际化用户界面的过程。

◆控制器

struts中,基本的控制器组件是ActionServlet类中的实例servlet,实际使用的servlet在配置文件中由一组映射(由ActionMapping类进行描述)进行定义。

2.3.2 Struts的流程

在使用Struts框架时,对应各个部分的开发工作主要包括:

(1)构建视图。在Struts框架中,视图的实现只要采用JSP技术,但与传统的JSP相比有两个显著的不同。首先,在Struts下使用JSP开发视图在页面中没有包含任何的脚本程序,只是单纯的完成数据传送以及接收和显示返回的数据,对数据的处理以及页面的跳转都在业务层中来实现,这样实现了业务逻辑和表示逻辑的完全分离,提高了一个应用程序的性能和可扩展性,并有利于程序的复用;其次,Struts框架提供了一组可扩展的自定义标记库,主要包括Bean标记、Logic标记、HTML标记和模板标记通过使用标记、可以简化创建用户界面的过程、更好地实现数据的封装、并且通过使用这些自定义标记创建的JSP表单、可以实现和业务层中ActionForm的映射、非常好地和系统的业务逻辑部分交互。

(2)构建模型。模型采用JavaBeans和EJB组件设计和实现系统的业务逻辑。根据不同的请求从Action派生具体Action处理对象完成“做什么”的任务,调用由Bean构成的业务组件,创建由ActionF0rm派生的类以实现对客户端表单数据的封装。

(3)构建控制器。在Struts应用框架中,中心控制器(ActionServlet)是由Struts 框架本身所提供,开发人员一般无须对该ActionServlet进行再次开发;负责具体业务处理的Action类则是开发者开发实现的重点,在这些Action对象中会进行

所有的业务操作,处理完毕,由Struts的ActionServlet转向到JSP页面,将处理结果返回给客户端。

(4)建立配置文件。Struts框架中有两个部署描述文件web.xml和struts-config.xml用于配置Struts系统中的各个模块之间的交互。通过对这两个部署描述文件的配置,把Struts框架中MVC的各个部分联系起来,实现了一个真正的MVC系统。

2.4 Spring简介

Spring的作用贯穿了整个中间层,将Web层、Service层、DAO层及PO无缝整合,其数据服务层用来存放数据。Spring框架的核心是控制翻转IoC (InversionofControl)依赖注入DI(DependenceInjection)机制。IoC是指由容器中控制组件之间的关系(这里,容器是指为组件提供特定服务和技术支持的一个标准化的运行时的环境)而非传统实现中由程序代码直接操控,这种将控制权由程序代码到外部容器的转移,称为“翻转”。DI是对IoC更形象的解释,即由容器在运行期间动态地将依赖关系(如构造参数、构造对象或接口)注入到组件之中。Spring采用设值注入(使用Setter方法实现依赖)和构造子注入(在构造方法中实现依赖)的机制,通过配置文件管理组建的协作对象,创建可以构造组件的IoC容器。这样,不需要编写工厂模式、单例模式或者其他构造的方法,就可以通过容器直接获取所需的业务组件。

Spring框架由七个定义明确的模块组成,且每个模块或组件都可以单独存在,或者与其他一个或多个模块联合实现。SpringCoreContainer是一个用来管理业务组件的IoC容器,是Spring应用的核心;SpringDAO和SpringORM不仅提供数据访问的抽象模块,还集成了对Hibernate、JDO和iBatis等流行的对象关系映射框架的支持模块,并且提供了缓冲连接池、事务处理等重要的服务功能,保证了系统的性能和数据的完整性;SprnigWeb模块提供了Web应用的一些抽象封装,可以将Struts、Webwork等Web框架与Spring整合成为适用于自己的解决方案。

Spring框架可以成为企业级应用程序一站式的解决方案,同时它也是模块化的框架,允许开发人员自由地挑选适合自己应用的模块进行开发。Spring框架式是一个松耦合的框架,框架的部分耦合度被设计为最小,在各个层次上具体选用

相关文档
相关文档 最新文档