JAVA利用SSH技术在电子商务库存管理中的应用_第1页
JAVA利用SSH技术在电子商务库存管理中的应用_第2页
JAVA利用SSH技术在电子商务库存管理中的应用_第3页
JAVA利用SSH技术在电子商务库存管理中的应用_第4页
JAVA利用SSH技术在电子商务库存管理中的应用_第5页
已阅读5页,还剩64页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、天津工业大学天津工业大学 毕业设计(论文)毕业设计(论文) JAVAJAVA 利用利用 SSHSSH 技术在电子商务库存管理中的应用技术在电子商务库存管理中的应用 姓姓 名名 黄金进黄金进 学学 院院 计算机科学与软件学院计算机科学与软件学院 专专 业业 软件工程软件工程 指导教师指导教师 李琳、杨晓光李琳、杨晓光 职职 称称 软件工程师、副教授软件工程师、副教授 2010 年年 6 月月 15 日日 天津工业大学毕业设计(论文)任务书天津工业大学毕业设计(论文)任务书 题目题目JAVA 利用 SSH 技术在电子商务库存管理中的应用 学生姓名学生姓名黄金进学院名称学院名称计算机科学与软件学院专

2、业班级软件 068 课题类型课题类型模拟课题 课题意义课题意义 当前越来越多的公司、企业单位已经将计算机技术应用于日常的管理工作。 科学的运用计算机技术进行管理工作不但可以使管理工作规范化、系统化、自动 化,而且可以节省相当的人力、财力、物力。通过库存管理系统,利用信息化手 段把先进的企业管理方法引入企业的实践中,为企业的管理改革提供切实易行的 途径。更重要的是库存管理系统可以及时通过信息技术把企业数据快速转化为企 业信息,进而为相关管理者提供决策依据。 任务与进任务与进 度要求度要求 2010.3.1-2010.3.10 开题报告、任务书的填写、提交、审核 2010.3.11-2010.3.

3、26 深入了解课题内容、进行需求分析,确定该系统开发的主 要模块 2010.3.29-2010.5.1 完成课题概要设计和详细设计,代码编写,初稿完成 2010.5.3-2010.5.21 系统调试,并在调试中完善系统功能,二稿完成 2010.5.24-2010.6.10 毕业设计(论文)的审核、修改及定稿并装订 2010.6.20 答辩 主要参考主要参考 文献文献 1 陈洁琴.基于 Struts+Spring+Hibernate 架构的进销存管理系统的研究及实现 D.中国优秀硕士学位论文全文数据库,2009,(1) 2 王郑霞,肖来胜.基于 Struts 的电子商务系统的设计与实现J.电脑知

4、识与技 术,2006,(23) 3 潘纹,范秋生.企业进销存管理系统的设计与实现J.福建电脑,2007,(9) 4 孙海亮.基于 J2EE 的医药公司进销存系统开发与实现D.中国海洋大学,2009 5 吕俊亚.超市进销存管理系统的设计与实现探讨J.现代商贸工业,2008,(3) 起止日期起止日期2010 年 3 月 1 日至 2010 年 6 月 20 日 备注备注 院长院长 教研室主任教研室主任 指导教师指导教师 毕业设计(论文)开题报告表毕业设计(论文)开题报告表 20102010 年年 3 3 月月 1 1 日日 姓名姓名黄金进学院学院计算机科学与软件学院专业专业软件工程班级班级软件 0

5、68 题目题目JAVA 利用 SSH 技术在电子商务库存管理中的应用指导教师指导教师 李琳、杨晓 光 一、一、 与本课题有关的国内外研究情况与本课题有关的国内外研究情况 虽然现在库存管理系统在国内外的大企业中使用非常普遍,但是在那些中小型企业中的使用还 是相当的少,甚至没有使用。为了推广中小型企业使用库存管理系统,国内外软件研究人员以及软 件开发人员,在深入了解中小型企业的需求的基础上,开发出了各种适合中小型企业使用的库存管 理系统,但这些系统依然存在许多问题。 二、二、 课题研究的主要内容课题研究的主要内容 主要实现资料管理、采购管理、销售管理、库存管理、统计分析和系统管理。 三、三、 课题

6、研究的主要的目的和意义课题研究的主要的目的和意义 通过库存管理系统,利用信息化手段把先进的企业管理方法引入企业的实践,为企业的管理改 革提供切实易行的途径。更重要的是库存管理系统可以及时通过信息技术把企业数据快速转化为企 业信息,进而为相关管理者提供决策依据。 四、四、 本次毕业设计应达到的目标本次毕业设计应达到的目标 希望通过本次课题完成一个电子商品库存管理系统,以实现方便的进销商品数据输入和修改;简 单快捷的进销商品数据查找;灵活的进销商品库存统计。希望能促进国内中小型企业使用库存管理系 统管理商品的进、销、存,节省开支、增加效益。 二、进度及预期结果:二、进度及预期结果: 起止日期起止日

7、期主要内容主要内容预期结果预期结果 10.3.1-10.3.10 10.3.11- 10.326 10.3.29-10.5.1 10.5.3-10.5.21 10.5.24-10.6.10 10.6.20 开题报告、任务书的填写、提交、审核 深入了解课题内容、进行需求分析,确定该系统开发的主要模 块 完成课题概要设计和详细设计,代码编写,初稿完成 系统调试,并在调试中进一步完善系统的各项功能,二稿完成 毕业设计(论文)的审核、修改及定稿并装订 答辩 完成 完成 完成 完成 完成 完成 完成课题的现完成课题的现 有条件有条件 硬件:硬件:PC 机 软件:软件:windows XP、MyEclip

8、se、MySQL 参考文献:参考文献: 1 陈洁琴.基于 Struts+Spring+Hibernate 架构的进销存管理系统的研究及实现 D.中国优秀硕士学位论文全文数据库,2009,(01) 2 王郑霞,肖来胜.基于 Struts 的电子商务系统的设计与实现J.电脑知识与技 术,2006,(23) 3 潘纹,范秋生.企业进销存管理系统的设计与实现J.福建电脑,2007,(9) 4 孙海亮.基于 J2EE 的医药公司进销存系统开发与实现D.中国海洋大学,2009 5 吕俊亚.超市进销存管理系统的设计与实现探讨J.现代商贸工业,2008,(3) 审查意见审查意见 指导教师:指导教师: 年年 月

9、月 日日 学院意见学院意见 主管领导:主管领导: 年年 月月 日日 天津工业大学本科毕业设计(论文)评阅表 (论文类) 题目题目 JAVA 利用 SSH 技术在电子商务库存管理中的应用 学生姓名学生姓名黄金进学生班级学生班级软件 068指导教师姓名指导教师姓名 李琳、杨晓 光 评审项目评审项目指标满分评分 能体现本专业培养目标,使学生得到较全面训练。题目 大小、难度适中,学生工作量饱满,经努力能完成。 10 选题选题 题目与生产、科研等实际问题结合紧密。10 课题调研、课题调研、 文献检索文献检索 能独立查阅文献以及从事其他形式的调研,能较好地理 解课题任务并提出实施方案;有分析整理各类信息,

10、从 中获取新知识的能力。 15 结构严谨,理论、观点、概念表达准确、清晰。10 论文撰写论文撰写 文字通顺,用语正确,基本无错别字和病句,图表清楚, 书写格式符合规范。 10 外文应用外文应用能正确引用外文文献,翻译准确,文字流畅。5 论文论点正确,论点与论据协调一致,论据充分支持论 点,论证过程有说服力。 15 有必要的数据、资料支持,数据、资料翔实可靠,得出 的结论有可验性。 15 论文水平论文水平 论文有独到见解或有一定实用价值。10 合计合计100 意见及建议: 评阅人签名:评阅人签名: 年年 月月 日日 天津工业大学毕业设计(论文)成绩考核表 学生姓名学生姓名黄金进学院名称学院名称计

11、算机科学与软件学院专业班级专业班级软件 068 题目题目JAVA 利用 SSH 技术在电子商务库存管理中的应用 1毕业设计(论文)指导教师评语及成绩:毕业设计(论文)指导教师评语及成绩: 指导教师签字:指导教师签字: 年年 月月 日日 2毕业设计(论文)答辩委员会评语及成绩:毕业设计(论文)答辩委员会评语及成绩: 答辩主席(或组长)签字:答辩主席(或组长)签字: 年年 月月 日日 3毕业设计(论文)总成绩:毕业设计(论文)总成绩: a.指导教师 给定成绩 b.评阅教师 给定成绩 c.毕业答辩成绩 总成绩 (a0.5+b0.2+c0.3) 摘 要 成绩:成绩: 成绩:成绩: 在电子商品库存管理系

12、统的开发中,充分利用了面向切面编程、控制反转、 面向对象查询语言、对象关系映射等多种最新技术;同时充分利用了 J2EE 平台 的多种优秀开源框架,使用框架的目标就是使 J2EE 体系结构朝着更简单、更理 性的方向发展。 电子商品库存管理系统的实现展示使用这些框架开发项目的高效、便捷之处。 电子商品库存管理系统具有分层的体系结构,表示层采用 Struts 框架,主要负 责数据收集和结果显示,Struts 框架具有良好的可扩展性和可维护性,能够很好 地实现表示与内容之间的分离;业务逻辑层采用 Spring 框架,Spring 框架能有 效地组织中间层对象,消除对象创建与使用紧密耦合等问题,从而提高

13、了电子商 品库存管理系统的可移植性;数据持久层采用 Hibernate 框架,该框架是 J2EE 体系结构中的轻量级持久框架,不但可以减少操作数据库的工作量,而且使得程 序员能够以面向对象思维来操纵数据库。另外使用 Hibernate 框架使得电子商品 库存管理系统在不同数据库管理系统的移植更加简单、快速。电子商品库存管理 展示了使用开源框架开发企业级应用系统的一般模式。 关键词:Struts;Hibernate;Spring;J2EE;WEB 应用 ABSTRACT In the development of electronic goods inventory management sys

14、tem, make full use of much latest technology, such as Aspect-Oriented Programming, Inversion of Control, Hibernate Query Language, Object/Relation Mapping, etc. At the same time make full use of many open source framework of the J2EE platform, the goal of using framework is to make the J2EE aplicati

15、on architecture become more simple and more rational. The implement of the electronic goods inventory management system shows efficient and convenient to using these frameworks to developed projects. The electronic goods inventory management system has layered structure. The view tier using Struts a

16、s its framework, it is responsible for collecting datum and handle the result, Struts framework has a good scalability and maintainability, and can separate presentation from content clearly; the business logic tier using Spring as its framework, Spring framework can effectively organized the middle

17、-wate Object and get rid of the problem of the tight connection of component construction. And improve the scalability of the electronic goods inventory management system; the data persistence tier using Hibernate framework, which provides lightweight persistence framework in J2EE platform, not only

18、 can reduce the workload of operating the database, but also allows programmers freely to use the Object-Oriented method to operate database. In addition, by using Hibernate framework makes the electronic goods inventory management system more simple and fast to transplant among different database m

19、anagement systems. The electronic goods inventory management shows a common mode which using open source frameworks to develop enterprise application system. Key words:Struts Framework; Hibernate Framework; Spring Framework; J2EE; WEBApplication 目 录 第一章绪论 .1 1.1 课题研究背景和意义.1 1.1.1 研究背景 .1 1.1.2 研究意义

20、.1 1.2 国内外库存管理系统的研究现状及存在的问题.2 1.2.1 国内外研究现状 .2 1.2.2 存在的问题 .2 1.3 课题研究的目的及主要内容.3 1.3.1 课题研究的目的 .3 1.3.2 课题研究主要内容 .4 1.4 本章小结.4 第二章MVC 模型和 J2EE 框架 .5 2.1 MVC 设计模型 .5 2.1.1 MVC 模型结构.5 2.1.2 MVC 的优势.5 2.2 Struts 框架 .6 2.2.1 Struts1.x 框架的概述.6 2.2.2 Struts1.x 框架的体系结构.7 2.3 Hibernate 框架 .8 2.3.1 ORM 技术的概述

21、.8 2.3.2 Hibernate 框架的概述.9 2.3.3 Hibernate 的体系结构.9 2.4 Spring 框架 .11 2.4.1 Spring 框架的概述.11 2.4.2 Spring 框架的核心机制.12 2.5 SSH 框架集成及其特点 .13 2.5.1 SSH 框架集成.13 2.5.2 SSH 框架集成的特点.14 2.6 本章小结.16 第三章电子商品库存管理系统的分析 .17 3.1 系统可行性研究.17 3.1.1 提出问题 .17 3.1.2 分析问题 .17 3.1.3 系统设计思想 .18 3.2 需求分析.19 3.2.1 用户需求分析 .19 3

22、.2.2 功能需求分析 .19 3.2.3 系统功能分析 .20 3.3 系统开发环境及运行环境.23 3.3.1 开发环境 .23 3.3.2 运行环境 .24 3.4 本章小结.24 第四章总体设计和数据库设计 .25 4.1 总体设计.25 4.1.1 三大框架协作流程设计 .25 4.1.2 持久层设计 .26 4.1.3 业务逻辑层设计 .27 4.1.4 视图层设计 .27 4.2 数据库设计.28 4.2.1 数据库概念模型设计 .29 4.2.2 数据库逻辑模型设计 .29 4.3 本章小结.33 第五章电子商品库存管理系统的实现 .34 5.1 持久层实现.34 5.2 业务

23、逻辑层实现.35 5.3 表现层实现.36 5.3.1 视图层(View) .36 5.3.2 控制层(Control) .38 5.3.3 模型层(Model) .38 5.4 部分页面功能展示.40 5.5 本章小结.42 结 论 .43 参考文献 .45 附 录 .46 第一章第一章 绪论 1.1 课题研究背景和意义 1.1.1 研究背景 随着我国社会主义市场经济体制的确立和深入发展,商品经济的飞速发展, 越来越多的商贸企业不断涌现,市场瞬息万变,迫使企业在商务大战中必须及 时地、准确地掌握来自企业内外的各种商务信息。商品流通领域进入了一个空 前的发展阶段,面临商界的各种激烈地竞争,要提

24、高市场竞争力,就必须有好 的产品质量、好的市场客户服务,同时又要有好的商品流通管理体系。 库存管理是商业企业经营管理中的核心环节,也是一个企业能够取得效益的 关键,特别是企业如果能够做到合理进货、及时销售、库存量最小和减少积压, 那么企业就能取得最大的利润。由此可见,进销存管理决策的正确与否直接影响 了企业的效益。 在过去,销售业的操作一般都靠人工操作,如靠人工登记卡片、填写表格资 料,然后根据不同商品的进行分类入库、出库、记账,销售额的日结算和每月的 盘点都需要花费大量的人力和物力。这都是一项极其繁琐的工作。通过人手工计 算不但容易出错,而且不能够及时把数据之间的关系形象化表现出来,也就不能

25、 够进一步掌握市场的最新动态。而且在手工管理的情况下,销售人员很难对客户 做出正确的供货承诺,同时企业的进购部门也缺少一份准确的进购计划,部门之 间的通讯也经常不畅通。这在激烈竞争的市场中是非常不利的。库存管理系统就 是在这种状况下出现的,通过利用计算机的技术,使得企业进货、销售、存库管 理能够有机地结合起来,从而提高企业的效率,节省成本。随着全球经济一体化 进程的不断推进以及我国中小型物流企业的蓬勃发展,在这些中小型企业中推行 库存管理系统已经成为一种可能,也是市场经济发展得必然趋势。 1.1.2 研究意义 基于 SSH 架构的电子商品库存管理系统能够帮助企业的仓库管理人员对仓库 的电子商品

26、的入库、出库、移动和盘点等操作进行全面的控制和管理,达到提高 库存控制精度,降低库存量,杜绝电子商品积压与短缺,提高客户服务水平,保 证生产经营活动顺利进行的目的。但是目前一般中小型企业往往不会购买大型通 用的库存管理系统来提高这种管理机制,因为这种系统不一定符合该企业的库存 管理的要求而且又需要付出昂贵的代价。因此根据目前一般中小型物流企业实际 的库存管理情况开发一套适合于该类企业的库存管理系统是十分必要的。 库存管理管理系统对于物流企业的意义: (1) 库存管理不再费时费力,库存管理系统对商品的出库、入库、转移、盘 点等事务处理进行全面的控制和管理,大大提高库存管理的效率。 (2) 检索查

27、询更加方便、快速,从而提高了物流企业的工作效率。通过查询 并查看库存量,从而做出正确的决策是库存管理系统的一项重要功能。保证库存 最少、资金占用最少、杜绝商品积压与短缺、提高客户服务水平、保证生产经营 活动顺利进行。完善的库存管理功能可以对企业的存货进行全面的控制和管理, 大大降低库存成本。 (3) 库存的查阅调拨工作更加可控。通过库存管理系统企业仓库管理人员可 以查阅各地子公司的库存情况。根据具体情况进行商品的调拨,保证各子公司的 库存量最佳。 1.2 国内外库存管理系统的研究现状及存在的问题 1.2.1 国内外研究现状 计算机在管理中的应用始于 1954 年,当时美国率先使用计算机进行工资

28、单 处理,经过差不多 50 年的发展,计算机在处理管理信息方面得到迅速发展。例 如,60 年代美国,计算机在管理中应用项目不到 300 项,但到了 1975 年就达到 了 2670 项。而现在美国在财务上 90%的工作由计算机完成;物资管理中 80%至 100%的信息处理由计算机完成;计划管理中是 80%至 90%。根据计算机应用方面 发展较快的国家统计,计算机用于管理的约占 80%;用于科技运算的占 8%;用于 生产过程控制的占 12%。由此可见,经济管理是计算机应用的主要领域。 当然由于库存管理在经济管理中占重要地位,其计算机化在发达国家也已经 达到了相当高的水平。我国在全国范围内推广计算

29、机在管理中的应用,始于 70 年代末,虽然起步比较晚,但是经过这些年的发展,特别是最近几年微型计算机 的出现和普及为信息处理提供了物美价廉的手段,对于推动我国计算机在信息处 理方面起到了重要的作用。特别是这两年来国家大力支持民营企业的发展,涌现 了大量的中小型物流企业和 IT 公司,这些 IT 公司可以根据不同的物流企业开发 出适用于不同物流企业的库存管理软件,求得发展。 1.2.2 存在的问题 库存管理对企业来说是一项关键的工作,领导者能否做出明智决策,企业能 否飞速发展,都取决于库存各个环节做的是否到位。在发达国家里,库存管理的 计算机化水平已经很高了,虽然我国的企业在这方面也有了很强的意

30、识而且得到 了长足的进步,但是仍存在这样或者那样的一些问题。 (1) 有的企业单位的库存管理部分目前仍处于手工、半手工操作。每次在提 取信息时,要先不断查询记载,如果数量不多,还可以在较短时间内整理出来, 但如果记载很多,一来翻阅要花费很长的时间,二来对人脑记忆是一种挑战,而 且整理出来的结果不一定正确,长时间的整理还可能延误商机。 (2) 有的单位的库存管理已经使用了计算机,但是对计算机的利用效率极低, 有的用它打游戏,有的把它当做计算器或打字机。 (3) 有的企业单位既使用了计算机同时也安装了库存管理软件。但是因为他 们使用的库存管理软件,大多为自己的工作人员及其他一些专业人员所开发的简

31、单的管理程序,很难称得上是真正的库存管理系统。软件的弱点多表现为:系统 开发时没有科学的理论支持、开发过程中调研不足、软件编写时模型不清晰、功 能不完整等。还有些企业选择了大型进销存软件,但是强大的处理功能是这些中 小型企业根本用不到的。虽然功能强大,但是不一定比人工处理快。 总的来说信息化不足、计算机使用率低、大量的日常工作皆由手工处理,因 此工作率低、物流企业内部各部门沟通不良等问题很难克服。要提升物流企业竞 争力,企业内信息化是不可缺少的一个重要环节。实施先进的办公室自动化系统, 实现企业内部管理、资源共享及交流,才能让企业在竞争激烈的 21 世纪占得先 机,取得最大利润。 1.3 课题

32、研究的目的及主要内容 1.3.1 课题研究的目的 目前,市场上已经有许多基于 B/C 结构的库存管理系统,虽然美观大方、功 能强大,但是它们却忽视了系统的易用性。对于中小型物流企业的库存管理,软 件的简单易用更胜于功能强大而全面,本系统在力求简单易用的基础上,实现复 杂的业务与简捷操作的完美结合,既可以完全独立,也可以实现一体化结合,适 合不同客户需求,突出强大的库存管理能力。使得所有业务流程更加清晰,责任 更加明确。库存管理系统设计的总体目标是通过对采购、销售、库存的管理,及 时地、准确地了解销售、库存等综合情况,以便为企业的决策者作出准确的判断 提供依据。并通过对进销存数据的详细分析,为管

33、理及决策人员提供库存资金占 用、物资短缺、物资积压等情况。通过库存盘点管理,保证帐面与实物一致,为 决策人员提供实时准确的存货信息,以便及时调整商品配置,保证企业各项经营 活动顺利有效地进行,彻底改变传统手工库存管理的各种弊端。所以本课题的目 的是准备开发出具有以下特点的面向中小型电子商品流通企业的库存管理系统: (1) 使用软件所需投资成本比较低,适用于各种中小型电子商品流通企业。 (2) 对于使用者的要求不高。从我国企业现状来看,中小型商品流通企业的 大多数的从业人员对计算机的操纵能力不高,所以他们宁肯多动手也不愿意使用 比较专业的应用系统,帮助他们减少工作量。 (3) 适用于单机操作和网

34、络使用,该系统可以根据企业的实际情况用于单机 操作或者联网的多用户操作。 (4)功能全面且简单易用。 1.3.2 课题研究主要内容 本课题主要实现了基于 SSH 框架集成的电子库存管理系统。它可以为使用者 提供丰富而全面的功能,实现操作的简单化、自动化,从而大幅度的降低电子商 品信息管理的工作强度,可为使用者节省大量的时间,提高了电子商品库存管理 工作的效率,减少了大量的手工操作可能引起的操作失误,推动电子商品库存管 理的信息化建设。在课题中以典型的电子商品库存管理系统的开发过程作为实例, 具体的研究内容如下: (1) 通过使用 Java 语言实现了一个基于 B/S 结构的电子商品库存管理系统

35、。 系统地介绍了实现该系统所使用的主要技术,包括 AOP、IoC、HQL 等。 (2) 分模块实现了电子商品库存管理系统的每个子模块和用户登录界面。 (3) 通过学习 E-R 模型和 SQL 的相关知识,在对商品库存管理业务进行了详 尽的分析下,使用 MySQL 6.0 建立一个以 E-R 模型为基础的数据库。 (4) 探讨了电子商品库存管理系统实现中涉及的关键技术问题,包括用户的 访问控制和身份验证。 (5) 通过对以上相关知识的介绍和电子商品库存管理系统这个具体实例的开 发,研究一个真实项目开发的实际过程。 1.4 本章小结 本章主要阐述了课题研究的背景和意义、国内外库存管理系统的研究现状

36、及 存在的问题和课题研究的目的及主要内容,并对本课题开发的电子商品库存管理 系统进行了简单的介绍。 第二章第二章 MVC 模型和 J2EE 框架 2.1 MVC 设计模型 2.1.1 MVC 模型结构 MVC 设计模型由 Trygve Reenskaug 提出,首先被应用于 SmallTalk-80 环境 中,是许多交互界面系统的构成基础。对于界面设计可变性的需求,MVC 把交互 系统的组成分成模型(Model) 、视图(View) 、控制器(Controller)三种部件。 模型部件是软件所处理问题逻辑在独立于外在显示内容和形式情况下的内在 抽象,封装了问题的核心数据、逻辑和功能的计算关系,

37、他独立于具体的界面表 达和 I/O 操作。 视图部件把表示模型数据及逻辑关系和状态的信息及特定形式展示给用户。 它从模型获得显示信息,对于相同的信息可以有多个不同的显示形式或视图。 控制器部件是处理用户与软件的交互操作的,其职责是控制提供模型中任何 变化的传播,确保用户界面与模型间的对应联系;它接受用户的输入,将输入反 馈给模型,进而实现对模型的计算控制,是使模型和视图协调工作的部件。 模型、视图与控制器的分离,使得一个模型可以具有多个显示视图。如果用 户通过某个视图的控制器改变了模型的数据,所有其它依赖于这些数据的视图都 应反映到这些变化中。因此无论何时发生了何种数据变化,控制器都会将变化通

38、 知所有的视图,导致显示的更新。实际上是一种变化-传播机制,它的变化-传播 机制可以用图 2-1 来表示。 视视图图 解析模型 模型更新请求 发送用户请求给控制器 允许控制器选择视图 模模型型 封装应用程序状态 响应状态查询 应用程序功能 通知功能改变 控控制制器器 定定义义应应用用程程序序行行为为 用用户户动动作作映映射射成成模模型型更更新新 选选择择响响应应的的视视图图 状态查询改变状态 视图选择 通知改变 用户请求 事件 方法调用 图 2-1 MVC 变化-传播机制图 2.1.2 MVC 的优势 MVC 的优势主要表现在以下几个方面: (1) 可以为一个模型在运行时同时建立和使用多个视图

39、。变化-传播机制可以 确保所有相关的视图及时得到模型数据变化,从而使所有关联的视图和控制器做 到行为同步。 (2) 视图与控制器的可接插性,允许更换视图和控制器对象,而且可以根据 需求动态的打开或关闭、甚至在运行期间进行对象替换。 (3) 模型的可移植性。因为模型是独立于视图的,所以可以把一个模型独立 地移植到新的平台工作,需要做的只是在新平台上对视图和控制器进行新的修改。 (4) 应用被抽象为三层,降低了各层之间的耦合,提供了应用的可扩展性。 (5) 潜在的框架结构。可以基于此模型建立应用程序框架,而不仅仅是用在 界面设计中。 2.2 Struts 框架 2.2.1 Struts1.x 框架

40、的概述 Struts 是目前最流行的开源框架之一,其本质上是基于 JSP Model2 模型实 现的一个 MVC 模型的 Web 应用框架。该框架主要采用了 Servlet 和 JSP 技术来实 现,它把 JSP、Servlet、JavaBean、Taglib(自定义标签)以及信息资源整合在 一个统一的框架中,为 Web 应用开发提供了一种具有高可配置性的 MVC 开发模板。 用户不需要编码实现所有的 MVC 模块,而只需要根据具体业务要求,开发所需的 页面、控制逻辑和业务处理代码即可,Struts 会通过相关配置信息把它们连接在 一起。使用 Struts 框架进行开发,可以简化应用 MVC

41、模型的开发过程,缩短开 发周期,提高开发效率,并保证系统结构的稳定性和健壮性。Struts 在模型层、 视图层和控制层上都有涉及,但它的着力点是在控制层和视图层上,即主要是提 供一个好的控制器和一套自定义标签。 Struts 框架由大约 15 个包,近 200 个类所组成。它把 MVC 中的 Model、View 和 Controller 分别映射为 J2EE 中的组件,其中 View 层主要采用 JSP 技术实现,并提供了自定义标签库,可以大大简化 JSP 页面的开发与设计; Controller 层主要采用 Servlet 技术来实现,主要由核心控制 ActionServlet 和 进行逻

42、辑处理的 ActionBean 组成。ActionServlet 可以接收客户端提交的请求, 然后根据配置文件中的信息调用相应的逻辑处理 ActionBean 完成用户请求的处 理;模型层主要采用 JavaBean 来实现,其中封装一些具体的业务处理功能,供 逻辑处理 ActionBean 在进行逻辑处理时调用。Struts 处理结构图如 2-2 所示: Controller ActionServlet Struts-config.xml Model JavaBean Business Login Action View JSP Client IE or Firefox Action Form

43、 HTTP Request THHP Request 图 2-2 Struts 处理结构图 2.2.2 Struts1.x 框架的体系结构 Struts1.x 框架是一个优秀的 MVC 框架,它的主要组件包括 ActionServlet、Struts TagLib、ActionBean、ActionForm 和 ActionMapping 等, 下面对他们分别进行详细的介绍。 (1)ActionServlet ActionServlet 继承自 HttpServlet 类,其在 Struts Framework 中扮演的角 色是全局控制器。控制器 ActionServlet 主要负责将 HTT

44、P 的客户请求信息组装 后,根据配置文件的指定描述,转发到适当的业务处理器即 ActionBean。在 Struts1.1 中新增了 org.apache.struts.action.Action.Request.Processor 类, 将处理请求的功能从控制器功能中分离。按照 Servlet 的标准,所有的 Servlet 必须在 web 配置文件 web.xml 声明。同样 ActoinServlet 也必须在 Web 配置文件 web.xml 中配置。当用户向服务器端提交请求的时候,实际上信息是首先发送到 全局控制器 ActionServlet,一旦全局控制器获得了请求,其就会将请求信

45、息传 交给一些辅助类处理。这些辅助类知道如何去处理与请求信息所对应的业务操作。 在 Struts 中,这些辅助类就是 org.apache.struts.action.Action 类及其子类。 所以开发者通常需要继承 Aciton 类,并实现自己的 Action 实例,即业务逻辑 ActionBean。 (2)Struts TagLib Struts 提供了一组可扩展的自定义标签库 TagLib,可以简化创建用户界面 的过程。目前 Struts TigLib 主要包括 Bean Tags,HTML Tags、Logic Tags、Nested Tags 和 Template Tags 这几个

46、 TagLib。 (3)ActionBean ActionBean 类扮演的角色,就像用户请求和业务逻辑处理之间的一个适配 器(Adaptor) ,其功能就是将请求与业务逻辑分开。这样的分离使得用户请求和 Action 类之间可以有多个点对点的映射。而且 Action 类通常还提供了其它的辅 助功能,例如日志(logging)和数据验证(validation) 。Action 最为常用的是 execute()方法,开发者只要继承 Action 类就必须重写该方法并返回一个 ActionMapping 实例即可。当全局 Controller 收到用户请求的时候,就会将请求 转移到一个 Actio

47、n 实例,如果这个实例不存在,控制器会首先创建,然后会调 用这个 Action 实例的 execute()方法。Struts Framework 为应用系统中的每 一个 Action 类只创建一个实例,所以 Action 类不是线程安全的。所有的用户都 会共享这一个实例,所以你必须确定你的 Action 类运行在一个多线程的环境中。 (4)ActionForm ActionForm 的主要功能就是为 ActionBean 的操作提供与用户表单相映射的 数据(如果在用户指定的情况下,还包括对数据进行校验) 。ActionForm 负责对 系统数据状态的保持,而 ActionBean 则负责根据业

48、务逻辑的需要对数据状态进 行修改,在改变系统状态后,ActionForm 则自动的回写新的数据状态并保持。 (5)ActionMapping 上面讲到了一个客户请求是如何被控制器转发和处理的,在 Struts 中,这 些配置映射信息是存储在特定的 XML 文件(比如 struts-config.xml) 。 这些配 置信息在系统启动的时候被加载入内存,供 Struts Framework 在运行期间使用。 在内存中,每一个 Action 元素都会与 org.apache.struts.action.ActionMapping 类的一个实例对应,这些 ActionMapping 实例将会根据具体

49、的用户请求和实际的配置返回不同的视图。 总的来说 Struts Framework 体现结构的工作机制如图 2-3 所示: 图 2-3 Struts 体现结构的工作机制图 2.3 Hibernate 框架 2.3.1 ORM 技术的概述 几乎所有的 J2EE 应用程序都需要访问持久化的数据,而关系型数据库是最 常用的数据持久化方案。面向对象的应用程序和面向关系的数据库操作之间存在 着巨大的差异,因此存在着各种方式来访问和操作关系型数据库。一种是直接使 用 SQL 语句,并解析返回的结果集,这种称为“事务脚本” ,这种方式特别适合 集合查询和批量更新。因为关系型数据库能够非常高效的处理这类操作;

50、另一类 应用程序的查询需求比较简单,通常只需取出很少的几行数据(通常是从一个表), 并对这些数据进行选择性的更新,很少需要批量更新。这些数据通常可以映射到 持久化的 Java 对象,后者就组成了领域模型(Domain Model),因此业务逻辑可 以表现为这些对象之间的交互,而不是直接操作数据库中的表和字段。这种策略 一般称为 Object/Relational Mapping(对象关系映射) 。 复杂的 ORM 实现能够自动侦测所取出对象的修改,并在事务提交的时候自动 将修改后的状态持久化到数据库。通过这种完全“透明”的持久化,在业务逻辑 中根本不需要显式的调用类似于“更新到数据库”的操作。

51、为了达到这一效果, ORM 框架必须维护一个列表,记录那些被修改过的对象,这样当事务提交时,就 可以只把这些对象写回到数据库。同时还需要维护每个对象的身份,避免对象被 重复加载。Java 平台上最基本的数据访问方式是使用 JDBC,这能够以很高的性 能和最灵活的方式来执行基于数据集的操作,充分利用数据库的专有特性或存储 过程,但是其缺点是 JDBC API 过于复杂,直接使用相当麻烦,必须使用大量容 易出错的 try/catch/finally 代码块来确保资源和异常得到很好的处理。ORM 技 术是在 JDBC 之上又提供了一层抽象,使得程序开发人员可以以面对对象的方式 操作持久化对象,而 O

52、RM 则负责转换成对应的 SQL 操作。大大减少了编写 SQL 语 句出错的概率和缩短了软件的开发周期。 ORM 技术的发展,衍生了许多基于该技术的 ORM 框架。其中 Hibernate 框架 就是一个基于该技术的 ORM 框架。Hibernate 框架的出现使得 J2EE 的开发更为简 单。 2.3.2 Hibernate 框架的概述 从八十年代开始,就有很多公司和研究机构在进行着面向对象与数据库结合 的研究。很多应用还是采用简单的 JDBC 来访问数据库。可是 JDBC 也有很多局限 性,比如调用复杂,容易产生资源泄漏等,与面向对象的 Java 语言有一段距离, 所以很多开发小组开始思考

53、如何将应用中的数据进行对象化建模,然后再想办法 与 JDBC 结合起来,Hibernate 框架就是在这种情况下开发出来的。 Hibernate 框架是一个高性能、开放源码的持久框架,是 ORM 技术的完美解 决方案。它不仅提供了基础的 ORM,而且支持所有其它的复杂功能,如缓存、延 时加载、主动抓取、分布式缓存等。Hibernate 框架是 Java 应用和关系数据库之 间的桥梁,它负责 Java 对象和关系数据库之间的映射,在 Hibernate 内部封装 了通过 JDBC 访问数据库的操作,向上层应用提供了面向对象的数据库访问 API, 它的主要特点有以下几方面:协调应用程序与关系数据库

54、的交互,让开发者更专 注于业务逻辑的解决,它可以与大多数新的或者现在的应用框架平稳集成;它对 JDBC 进行了轻量级的对象封装,使 Java 程序员可以随心所欲的使用面向对象编 程的思维来操纵数据库。Hibernate 可以应用在任何使用 JDBC 的场合,既可以在 Java 的客户端程序中使用,也可以在 Servlet/JSP 的 Web 应用中使用,最具革命 性意义的是它可以在应用 EJB 的 J2EE 架构中替代 CMP 完成数据持久化的任务。 目前,由于 Hibernate 框架已经成为了事实上标准的 O/R 映射技术。因此在 Spring 框架中已经对 Hibernate 框架进行了

55、最深入的集成,即借助于 Spring IoC 和 Spring AOP 可以对 Hibernate 框架进行了最为有效的集成。Hibernate 本 身带给我们的不仅仅是一种软件开发的架构,更是一种值得推广的数据持久性解 决方案。这些数据持久性设计的概念是可以在脱离开 Hibernate 之后,推广应用 到更广泛的数据持久性处理领域中的。目前 EJB3.0 中的实体 Bean 的最新设计己 经采用了和 Hibernate 类似的解决方案。 2.3.3 Hibernate 的体系结构 Hibernate 作为完美的 ORM 解决方案,不仅仅管理 Java 类到数据库表的映射, 还提供数据查询和获

56、取数据的方法,可以大幅度减少开发时人工使用 SQL 语句和 JDBC API 处理数据的时间。极大地减少了开发者与数据持久化相关的编程任务。 Hibernate 基本的体系结构图如图 2-4 所示: Hibernate Database Application Persistent objects Hibernate .propertiesXML Mapping 图 2-4 Hibernate 体系结构图 在 Hibernate 体系结构中主要包括以下几个重要的接口和类: (1) SessionFactory:针对单个数据库映射关系经过编译后的内存镜像,是 线程安全的。它是生成 Session

57、 的工厂,并且要用到 ConnectionProvider 类。 该对象可以在进程或集群的级别上,为那些事务之间重用的数据提供可选的二级 缓存。 (2) Session:表示应用程序与持久层交互操作的一个单线程对象,此对象的 生存周期很短。其隐含了 JDBC 的链接操作,它是事务 Transaction 的工厂。其 会持有一个针对持久化对象的必选缓存,在根据持久化标识查找对象时会用到。 (3) 持久化对象及其集合:带有持久化状态的、具有业务功能的单线程对象。 这些对象可以是普通的 JavaBeans/POJO,唯一特殊的是他们与一个 Session 相关 联。这个 Session 被关闭的同时

58、,这些对象也会脱离持久化状态,可以被应用程 序的任何层自由使用。 (4) 瞬态对象和托管对象:系统通过 new 关键字创建的 Java 实例,没有与 Session 相关联,此时该实例处于瞬态。瞬态实例可能是在被应用程序实例化后, 尚未进行持久化的对象。如果一个曾经持久化过的实例,但因为 Session 的关闭 则转化为托管状态。 (5) Transaction:应用程序用来指定原子操作单元范围的对象,它是单线程 的,生命周期很短。它通过抽象将应用从底层具体的 JDBC、JTA 以及 CORBA 事务 隔离开。某些情况下,一个 Session 之内可能包含多个 Transaction 对象。

59、(6) ConnectionPeovider:生成 JDBC 连接的工厂,同时具备连接池的作用。 它通过将应用从底层的 DataSource 或 DriverManager 隔离开。仅在应用程序扩 展时使用。 (7) TransactionFactory:生成 Transaction 对象实例的工厂。仅供开发者 扩展使用,无须应用程序直接访问。 2.4 Spring 框架 2.4.1 Spring 框架的概述 Spring 框架是由 Rod Johnson 创立的一个开放源码的应用框架。它是轻量级 的 J2EE 应用框架,旨在简化 J2EE 的开发,降低 J2EE 项目实施的难度。Spring

60、 框架的贡献包括两个部分,首先是为 J2EE 应用提供了一个优雅的基础结构;另 外它还提供了许多旨在帮助开发人员更好的使用 J2EE 相关技术的工具性支持。 同时,Spring 框架也是一个分层架构,它由 7 个定义良好的模块组成。如图 2-5 显示了 Spring 框架的模块结构。 Spring Web MVC Spring DAO Spring AOP Spring Core Spring ORM Spring Context Spring Web 图 2-5 Spring 框架的模块结构图 组成 Spring 框架的每个模块(或组件)都可以单独存在,或者与其他一个或 多个模块联合实现。每

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论