1、摘要 摘 要 该 系统是采用 J2EE( Java 2 Platform,enterprise Edition) 架构和 MVC 模式( model- view- control) 相匹配的体系结构,采用 SQL Server 作为后台数据库,服务器则使用 Weblogic Server8.0,并选用 Jbuilder 9 集成开发环境来 编辑 JSP 文件、 JavaBean 及 Serlvet。 由于 Java 具有跨平台性,因而该系统可在多种操作系统上运行,并且具有较好的安全性、容错性和可扩张性。该系统实现了信息查询、人员信息管理、报表生成等功能 。用户只要使用 IE 浏览器访问相关站点
2、,输入正确的用户名和密码成功登陆后,普通用户便可查询自己的工资情况和其他相关信息。对管理员来说使用起来也非常的方便快捷,可以进行科学、合理的对工资和人员进行管理。 该 系统对客户端的硬件标准并不高,只需有 5.0以上的浏览器,可访问 Internet 即可。但对服务器的硬件配置要求相 对较高,但就目前市面上的硬件情况来说,这种配置已较为普及了。由于 该 系统采用了 MVC 系统架构模式进行开发,在开发过程中代码实现了充分的重用,可分层次同时开发,极大地减低了开发时间和工作量,同时降低了系统模 块间的依赖性,提供了系统良好的延展性和可维护性。 关键词: MVC J2EE 工资管理 JSP 目录
3、II 目录 摘 要 .I 目录 . II 第一章 绪 论 . 1 1.1 前言 . 1 1.1.1 我公司工资系统需求调研 . 2 1.1.2 本人所采用的核心技术及其优点 . 2 1.1.2.1 J2EE 平台技术 . 2 1.1.2.1.1 J2EE 的定义 . 2 1.1.2.1.2 J2EE 如何应对挑战 . 4 1.1.2.2 MVC 设计模式 . 5 1.1.2.2.1 MVC(MODEL-VIEW-CONTROLLER PATTERN)模式由三部分组成: . 5 1.1.2.2.2 J2EE 框架与 MVC 模式的配合 . 6 1.1.2.3 BEA WEBLOGIC 应用服务器
4、简介 . 6 1.1.2.4 JSP 技术 . 7 1.1.2.4.1 将内容的生成和显示进行分离 . 7 1.1.2.4.2 强调可重用的组件 . 7 1.1.2.4.3 采用标识简化页面开发 . 8 1.1.2.4.4 技术分析 . 8 第二章 基于 WEB 的工资管理系统 . 10 2.1 方案选择 . 10 2.1.1 引言 . 10 2.1.2 项目概述 . 10 2.1.2.1 目标 . 10 2.1.3 系统描述 . 10 2.1.4 系统功能 2.1.4.1 外部功能 . 10 2.1.4.4 用户特点 . 11 2.1.4.5 一般约束 . 11 2.1.4.6 假设和依据
5、. 12 2.1.5 具体需求 . 12 2.1.5.1 功能需求(一) . 12 2.1.5.2 功能需求(二) . 12 2.1.5.3 功能需求(三) . 13 2.1.5.4 功能需求(四) . 13 2.1.5.5 性能需求 . 14 2.1.5.6 设计约束条件 . 错误 !未定义书签。 2.1.5.7 属性 . 错误 !未定义书签。 2.1.6 需求注释 . 14 2.2 实现概要技术 . 14 2.2.1 总体设计 . 14 2.2.2 接口设计 . 16 2.2.3 运行设计 . 16 目录 III 2.3 实现详细技术 . 18 2.3.1 程序系统实现的结构 . 18 2
6、.3.2 查询功能模块设计说明 . 18 2.3.3 主要模块的详细设计和接口定义 . 19 2.3.3.1 模块(类) CONTROLLERSERVLET . 19 2.3.3.2 模块(类) DBBEAN . 20 2.3.3.3 模块(类) COMMANDCORE. 21 2.3.4 数据库设计: . 22 2.3.5 尚未解决的问题 . 23 3. 结论 . 23 致谢 . 25 参考文献 . 26 绪论 1 第一章 绪 论 1.1 前言 计算机软件行业日新月异。从大型机、小型机、个人计算机、客户机 /服务器端、 Internet 到无线网,随着计算机技术的不断发展,总有新的软件技术、
7、设计理念和开发工具不断出现。在过去的若干年里,没有什么事比提起 Internet 解决方案、开发 Internet 应用那样对我们的工作产生如此深刻的影响: Internet 可以作为一个应用的基础,构建一个社会群体,甚至形成一个大的抽象组织。 相信很多人已经看到,有许多重要的因素并没有受到软件行业的重视。就 这些因素概括起来是: 在软件设计和底层结构中广泛采用国际标准。 通过 Web,软件系统可以减少运营成本,提供巨大的策略性业务优势。 通过采用 Java 和 UNIX,可以保证平台独立性和开放的解决方案。 制定的各种软件设计和底层结构的标准长期以来一直困扰着软件行业,尽管 硬件行业十年一变
8、。对于软件来说,某些适应范围狭窄的标准一直存在于软件开发的各个方面,如 SQL、 CORBA 和 UML 等。 J2EE、 Web 和建模标准的出现,给我们提供了一组成熟的设计标准。利用这些标准,我们可以建立全新的应用系统。这些 J2EE 和 Web 标 准,包括 EJB、JNDI、 JDBC、 HTTP 和 XML 等,使非常成熟的技术,可以在开发人员群体中共享。 Internet 能够提供富有竞争力的策略性优势的各种迹象已经越来越明显了。随着 .COM 公司的迅猛发展,现在我们已经到了开发使用的 Internet 解决方案的阶段。 Internet 和无线系统解决方案的策略性优势大部分来源
9、于 Metcalf的连接定律( Law of Connectivity):网络价值在于可以把大量的节点连接到网络上,而且其价值与连接的节点数呈指数级增长。 假设用户需要一个新的 Internet 解决方 案,开发人员可以利用 Weblogic Sever提供的功能,创建一个具有容错能力的高性能应用系统。不管应用的需求范围是什么, Weblogic Server 都回开发人员的 Internet 提供必要的支持。 Weblogic Server是一种广泛使用的并且已经被证明为最佳的 Internet 应用平台。 平台独立是一个使用频率很高的词汇。作为软件开发人员,我们希望自己提供的解决方案能够在
10、最常用的各种硬件平台、操作系统和数据库上运行,而无须重建或者重新编译。希望能够以任何形式与 J2EE、 Web、 UNIX、 Linux 和 Open Source 群体中的其他人分享各自的代码。 我采用 Weblogic Server 开发软件系统,这就要求我必须才用面向对象的设计方式,或者创建相对小的可重用的类。这就提出了一种代码可重用性的问题。在今天的运行环境下,可重用的服务已经达到了软件重用的阶段。利用 J2EE 的标准结合相关的服务技术,可以创建灵活的易于使用的软件系统,用于 Web 服务。事实上, Weblogic Server 的设计和应用模型的关键在于提供应用开发中所需要的服务
11、。 能够使软件具有长久价值和生命力的诀窍是,使用开放的标准把软件系统制淮安信息职业技术学院毕业设计论文 2 作成 服务。因此就我公司目前的现状,可为工资系统开发一个提供 Web 服务的软件,如果采用开放标准(如 UDDI、 WSDL 或 SOAP)来访问这些信息,这个站点将会更有价值。 真正开放的可访问的在线服务已经开始出现。无线设备、音频应用以及那些不是面向浏览功能的 Internet访问系统,也催化和促进了开放的、可访问的 Internet服务的发展。 1.1.1 我公司工资系统需求调研 我公司工资系统是采用 access 做的,仅为单机版,所有的服务均采用一台电脑来完成。能够实现的工能还
12、是较为完善,实现了人员管理和报表统计等功能。但 是对操作人员的要求有所偏高,操作人员必需非常熟悉这套系统才能对其进行操作。管理员在对系统进行管理,有时是直接对数据库的原始数据进行修改。除管理员以外,没有任何用户。没有采用任何的安全措施,密码也是采用明码标识。当我校员工要查看有关工资情况时,必须亲自来到财务处向管理员说明查看内容和自己的姓名,然后由管理员通过该系统的查询功能来获得相关的信息。之后,普通用户方可得到自己工资的情况。 1.1.1.1 现有系统的弊端 首先,该系统所采用的构架仅为单机版。不能提供资源共享等服务,使用户非常单一,除了管理员之外就没有 任何的用户可以使用该系统。随着我公司管
13、理的信息化,这种架构已远远不能满足现有的需求。 其次,该系统所采用的开发平台是 access。 Access 属于一种常用的办公软件,只是一种小型的数据库系统不支持触发器与存储过程 ,事务处理、并发处理能力很弱。另外一个,就是 2G 的数据库容量限制。安全性不好,联机操作时网络传输慢,数据传输速度不够快。 1.1.2 本人所采用的核心技术及其优点 1.1.2.1 J2EE 平台技术 J2EE(即 Java 2 平台企业版)是由 Sun 公司主持推出的一项中间件技术。从 CORBA、 IDL 到面向消息的系统,中间件技术已经走过了很长的一段路程,如今 J2EE 作为中间件技术史上的一块具有决定意
14、义的里程碑,正受到业界越来越广泛的重视和采纳。 J2EE,一方面有着一套相当庞大的标准体系和数个不同版本,另一方面,由于市场上应用服务器品种多样,各家开发商使用的术语又不尽相同,因此,围绕着 J2EE,常常有不少被人误解的地方。 1.1.2.1.1 J2EE 的定义 在试图给 J2EE 下一个明确的定义之前,我们首先要了解 J2EE 并不简单地只是一门语言、一种工具或一套服务。 J2EE Java 2 平台企业 版 简单地说, J2EE 是一个标准中间件体系结构,旨在简化和规范多层分布式 企业应用系统的开发和部署。 J2EE 方案的实施可显著地提高系统的可移植性、安全性、可伸缩性、负载平衡和可
15、重用性。 J2EE 技术出现之前,几家主要的中间件开发商的产品各自为阵,彼此之间缺乏兼容性,可移植性差,难以实现互操作,没有一个被普遍认可的行业标准。J2EE 的出现标志着中间件技术在经历了多年的不断摸索和经验总结后,正逐步走向成熟。 绪论 3 J2EE 的核心是一组规范和指南,定义了一个使用 Java 语言开发多层分布式企业应用系统的标准平台。开发人员 在这些规范和指南的基础上开发企业级应用,同时由 J2EE 供应商确保不同的 J2EE 平台之间的兼容性。由于基于规范的各 J2EE 平台之间具有良好的兼容性, 因此 J2EE 应用系统可以部署在不同的应用服务器上,无需或只需进行少量的代码修改
16、。如图 1.1 所示: 图 1.1 J2EE 视点 下面我将从几个不同的侧面来考察 J2EE: (1) J2EE:多层、分布式中间件语法 采用多层分布式应用模型, J2EE 将应用开发划分为多个不同的层,并在每一个层上定义组件。各个应用组件根 据他们所在的层分布在同一个或不同的服务器上,共同组成基于组件的多层分布式系统。典型的 J2EE 四层结构包括客户层、表示逻辑层( Web 层)、商业逻辑层和企业信息系统层。 有了 J2EE,分布式系统的开发变得简单了,部署的速度也可以加快。 J2EE组件的分布与服务器环境无关,所有的资源都可通过分布式目录进行访问。这意味着开发人员不再需要为组件和资源的分
17、布问题耗费精力,从而可以有更多的时间专注于业务逻辑的实现,提高开发效率。 (2) J2EE:企业级应用系统开发平台 J2EE 本身是一个标准,一个为企业分布式应用的开发 提供的标准平台。而J2EE 的实施,则具体表现为诸如 BEA Web logic 或 IBM Web sphere 之类的特定Web 服务器产品。利用 J2EE 应用 -编程模型开发的企业应用系统,可以部署在不同厂商生产的、但相互兼容的 J2EE 应用服务器上。 目前,市场上基于 J2EE 的 Web 服务器品种繁多,性能特点各有千秋,每家厂商的产品都有精心设计的独到之处。但与产品个性无关的是,所有的 J2EE 应用服务器都为
18、企业级应用系统的开发和部署提供了一个共同的基础。 (3) J2EE:电子化应用开发模型 J2EE 应用很容易发布到 Web、掌 上电脑或移动电话等手持设备上。换言之,应用组件可以很轻松地实现电子化。 J2EE 的应用 -编程模型保证组件在向不同类型的客户端移植过程中,商业逻辑和后端系统保持不变。 淮安信息职业技术学院毕业设计论文 4 此外, J2EE 平台的其他主要优点还有:自动负载平衡、可伸缩、容错和具有故障排除等功能。部署在 J2EE 环境中的组件将自动获得上述特性,而不必增加额外的代码开销。 J2EE 所有这些特性对于需要构建全天候网络门户的企业来说显得尤为重要。 (4)J2EE: We
19、b 应用服务器上广泛采用的标准 可以说, J2EE 是首个获得业界广泛认可和采纳的中间件标准。目前几乎 所有的一流 Web 应用服务器,如 BEA 的 Web logic、 IBM 的 Web sphere、 HP 的应用服务器、 Sun 的 iPlanet 和 Macromedia 的 Jrun 等,都是基于 J2EE 的。迄今为止,还没有哪个其他标准能获得如此众多的中间件供应商的一致支持。而且,有了 J2EE,企业的应用开发对于某个特定的开发商或应用服务供应商的依赖性更小。应用组件只要符合 J2EE 规范,完全可以部署在不同的应用服务器上。为了确保不同厂商的 J2EE 应用服务器的兼容性和
20、一致性, Sun 公司发布了 J2EE 兼容性测试包。 至此,我可以试着 用一句话来概括 J2EE,那就是: J2EE 是一个中间件基础架构,有了它,开发者只需要集中精力编写代码来表达企业应用的商业逻辑和表示逻辑,至于其他系统问题,如内存管理,多线程,资源分布和垃圾收集等,都将由 J2EE 自动完成。 1.1.2.1.2 J2EE 如何应对挑战 J2EE 是很好的应对企业开发过程中所面临的问题,以及为企业未来发展之需要提供空间。 独立于硬件配置和操作系统 J2EE 运行在 Java 虚拟机( JVM)上,利用 Java 本身的跨平台特性,独立于硬件配置和操作系统。 Java 运行环境( JRE
21、) JVM 的可安装版本加上其他一些重要组件 几乎可以运行于所有的硬件 /OS 组合。因此,通过采用 Java, J2EE 使企业免于高昂的硬件设备和操作系统的再投资,保护已有的 IT 资源。在很多情况下, J2EE 还可以直接运行在EIS 服务器环境中,从而节约网络带宽,提高性能。 图 1.2 坚持面向对象的设计原则 绪论 5 作为一门完全面向对象的语言, Java 几乎支持所有的面向对象的程序设计特征。面向对象和基于组件的设计原则构成了 J2EE 应用编程模型的基础。 J2EE 多层结构的每一层都有多种组件模型。因此,开发人员所要做的就是为 应用项目选择适当的组件模型组合,灵活地开发和装配
22、组件,这样不仅有助于提高应用系统的可扩展性,还能有效地提高开发速度,缩短开发周期。此外,基于 J2EE 的应用还具有结构良好,模块化,灵活和高度可重用性等优点。 灵活性、可移植性和互操作性 利用 Java 的跨平台特性, J2EE 组件可以很方便地移植到不同的应用服务器环境中。这意味着企业不必再拘泥于单一的开发平台。 J2EE 的应用系统可以部署在不同的应用服务器上,在全异构环境下, J2EE组件仍可彼此协同工作。这一特征使得装配应用组件首次获得空前的互操作性。例如,安 装在 IBM Websphere 环境下的 EJB,一方面可以直接与 Websphere 环境下的 CICS 直接交互,另一
23、方面也可以通过安装在别处的 BEA Weblogic 服务器上的 EJB 进行访问。 轻松的企业信息系统集成 J2EE 技术出台后不久,很快就将 JDBC、 JMS 和 JCA 等一批标准纳归自身体系之下,这大大简化了企业信息系统整合的工作量,方便企业将诸如 legacy system(早期投资系统), ERP 和数据库等多个不同的信息系统进行无缝集成。 由于几乎所有的关系型数据库系统都支持 JDBC,因此只需借助 必要的JDBC 驱动程序, J2EE 应用就可以和所有主流数据库系统进行通信。类似的,目前业界正冒出一批基于 Java连接器体系标准的 EI 适配器,也用于提供各类 legacy
24、system和 ERP/CRM 的无缝集成。 引进面向服务的体系结构 随着 Web 服务以及 SOAP 等开放标准的出现,企业异构系统之间的互操作性成为可能。 J2EE,作为一个可扩展平台,很自然需要加入 Web服务特性。为此, Sun 公司发布了一整套称为“ JAX 包”的 API,支持从 XML 语法分析、 XML 绑定、 SOAP 消息发送、注册表查寻、 XML RPC到 XML 消息传递等所有各种 Web 服务需求。 虽然 J2EE 平台的出现早于 Web 服务技术,但它的可扩展能力使它能很好地适应技术的最新发展。我们有理由相信,在未来, J2EE 将引入更多的技术进步而不会动摇它的核
25、心框架和应用 -编程模型。 总之,作为一个被业界广泛采用的中间件标准, J2EE 是开发可伸缩的、具有负载平衡能力的多层分布式跨平台企业应用的理想平台。 J2EE 的首要任务在于提供一个标准中间件基础架构,由该基础架构负责处理企业开发中所涉及的所有系统级问题,从而使得开发人员可以集中精力重视商业逻辑的设计和应用的表示,提 高开发工作的效率。 J2EE 有效地满足了行业需求,提供独立于操作系统的开发环境。基于 J2EE的应用系统灵活且易于移植和重用,可运行在不同厂家的 Web 服务器上。更为重要的是, J2EE 是一个开放体系,完全有能力适应未来技术的进步和发展。 1.1.2.2 MVC 设计模
26、式 1.1.2.2.1 MVC(Model-view-controller pattern)模式由三部分组成: 淮安信息职业技术学院毕业设计论文 6 模型( Model):是一组表示应用系统商业逻辑的对象。它通常包括表示商业抽象的类(如:账号、采购等等)和现实世界的对象(如职员、客 户等)。 视图( View):是用一种向用户表达信息的具体方式。要理解视图的捷径是把视图想象成为一个具体的网页或者屏幕,它能够给用户提供一组互相有关的信息。 控制( Controller):是应用系统处理具体流程和导向的核心部分。它把模型对象给出的信息翻译成视图可以理解的形式,并且处理系统流程的走向,例如视图在下一
27、个回应中将会给用户什么样的反馈。 MVC 的关键是商业模型的设计与实现可以独立于应用系统的结构设计与实现(控制)和界面的设计与实现(视图)。 MVC 模式如下图所示。 + 图 1.3 1.1.2.2.2 J2EE 框架与 MVC 模式的配合 MVC 模式可以与 J2EE 框架很好的结合。目前已经有许多成功的应用系统案例,按照如下的方式将 J2EE 的元素映射到 MVC 的三个组成部分。 Model: JavaBeans and Enterprise JavaBeans View: JavaServer Pages Controller: Servlets 这里 servlets 用作 cont
28、rollers,用于接收 HTTP 的 POST 请求,并且负责将POST 上来的数据传送给 model,然后选择用哪一个 JSP 页 面来显示 model 处理的结果。这种系统结构通常又称为“ Model II” JSP 结构。 1.1.2.3 BEA Weblogic 应用服务器简介 BEA Weblogic Server是一种广泛采用 Java应用服务器,用于组建多层次的、安全的大型的和分布式的 Web 应用,如电子商务等。在分布式应用中,应用层次之间、应用层次与组建之间,需要具有容错共能和快速的网络通信功能。随着中间件和 Web 技术的不断发展,许多企业站点已经从客户机 /服务器环境迁
29、移到n层结构(通常为 3 层到 4 层)的应用中。在这种多层结构的应用中,有效的 网绪论 7 络连接时至关重要的首要因素。 在多层结构的应用中, BEA Weblogic Server 可以提供开发和利用服务器端业务逻辑的基本架构,支持分布式变成模型,提供一定程度的透明性。为应用开发人员隐去复杂的分布式编程的底层细节,使得编写分布式应用就像开发本地应用一样。尽管开发人员仍然需要错误处里和程序的有效性,但 Weblogic Server实现的 J2EE 服务可以为企业级的分布式应用提供一个极佳的开发和运行环境。 由应用服务器(如 BEA Weblogic Server)负责处理服务器端的应用逻辑
30、、管理分布式应用 以及控制网络流量,可以为我们带来下列好处: 有效性: Web 浏览器和应用客户机可以共享相同的业务逻辑,不必为每一台客户机指定不同的业务规则。 高效性: 把服务器端业务逻辑与资源密集型模块(如数据存储)尽可能的放在一起,可以改善系统的性能 可管理性: 把业务逻辑集中到应用服务器上便于系统的集中管理和安全控制。 1.1.2.4 JSP 技术 JSP(JavaServer Pages)是由 Sun Microsystems 公司倡导、许多公司参与一起建立的一种动态网页技术标准。该技术为创建显示动态生成内容的 Web 页面提供了一 个简捷而快速的方法。 JSP 技术的设计目的是使得
31、构造基于 Web 的应用程序更加容易和快捷,而这些应用程序能够与各种 Web 服务器,应用服务器,浏览器和开发工具共同工作。 JSP 规范是 Web 服务器、应用服务器、交易系统、以及开发工具供应商间广泛合作的结果。在传统的网页 HTML 文件 (*htm,*.html)中加入 Java 程序片段 (Scriptlet)和 JSP 标记 (tag),就构成了 JSP 网页 (*.jsp)。 Web服务器在遇到访问 JSP 网页的请求时,首先执行其中的程序片段,然后将执行结果以 HTML 格式返回给客户。程序片 段可以操作数据库、重新定向网页以及发送 email 等等,这就是建立动态网站所需要的
32、功能。所有程序操作都在服务器端执行,网络上传送给客户端的仅是得到的结果,对客户浏览器的要求最低,可以实现无 Plugin,无 ActiveX,无 Java Applet,甚至无 Frame。 JSP 技术在多个方面加速了动态 Web 页面的开发: 1.1.2.4.1 将内容的生成和显示进行分离 使用 JSP 技术, Web 页面开发人员可以使用 HTML 或者 XML 标识来设计和格式化最终页面。使用 JSP 标识或者小脚本来生成页面上的动态内容(内容 是根据请求来变化的,例如请求帐户信息或者特定的一瓶酒的价格)。生成内容的逻辑被封装在标识和 JavaBeans 组件中,并且捆绑在小脚本中,所
33、有的脚本在服务器端运行。如果核心逻辑被封装在标识和 Beans 中,那么其他人,如 Web 管理人员和页面设计者,能够编辑和使用 JSP 页面,而不影响内容的生成。在服务器端, JSP 引擎解释 JSP 标识和小脚本,生成所请求的内容(例如,通过访问JavaBeans 组件,使用 JDBCTM 技术访问数据库,或者包含文件),并且将结果以 HTML(或者 XML)页面的形式发送回浏览器。这有助于作者保 护自己的代码,而又保证任何基于 HTML 的 Web 浏览器的完全可用性。 1.1.2.4.2 强调可重用的组件 绝大多数 JSP 页面依赖于可重用的,跨平台的组件( JavaBeans或者 Enterprise JavaBeansTM 组件)来执行应用程序所要求的更为复杂的处理。开发人员能够共享和交换执行普通操作的组件,或者使得这些组件为更多的使用者或者客户团体所使用。基于组件的方法加速了总体开发过程,并且使得各种组织在他们现有的