1、 硕士学位论文 (专业学位) 基于J2EE的中小型服装产销管理系统设计与应用姓 名:学 号:所在院系:软件学院职业类型:工程硕士专业领域:软件工程指导教师:副指导教师: 二一三年三月 A dissertation submitted toTongji University in conformity with the requirements forthe degree of Master of EngineeringThe Design and Application of Small and medium-sized apparel production and marketing man
2、agement system based on J2EE Candidate: Student Number:School: the School of Software Engineering Discipline: Computer Science and TechnologyMajor: Software EngineeringSupervisor: May, 2012基于J2EE的中小型服装产销管理系统设计与应用 姓名同济大学学位论文版权使用授权书本人完全了解同济大学关于收集、保存、使用学位论文的规定,同意如下各项内容:按照学校要求提交学位论文的印刷本和电子版本;学校有权保存学位论文的
3、印刷本和电子版,并采用影印、缩印、扫描、数字化或其它手段保存论文;学校有权提供目录检索以及提供本学位论文全文或者部分的阅览服务;学校有权按有关规定向国家有关部门或者机构送交论文的复印件和电子版;在不以赢利为目的的前提下,学校可以适当复制论文的部分或全部内容用于学术活动。 学位论文作者签名: 年 月 日 同济大学学位论文原创性声明本人郑重声明:所呈交的学位论文,是本人在导师指导下,进行研究工作所取得的成果。除文中已经注明引用的内容外,本学位论文的研究成果不包含任何他人创作的、已公开发表或者没有公开发表的作品的内容。对本论文所涉及的研究工作做出贡献的其他个人和集体,均已在文中以明确方式标明。本学位
4、论文原创性声明的法律责任由本人承担。 学位论文作者签名: 年 月 日同济大学 硕士学位论文 摘要摘要做为企业经营管理中的重要环节,企业进销存成为了企业能否取得效益的关键,如果能够做到合理生产,及时销售,库存量最小,减少积压,那么企业就能获得利润最大化,企业的效益直接与进销存管理决策的正确与否相关,在这种状况下提出了企业进销存管理系统,它利用计算机的技术,使得企业生产、库存和销售能够有利结合起来,产销衔接,提高企业的效率和效益1。本系统是基于WEB的服装产销管理系统,它提供了强大的数据管理功能和美观易用的操作界面,实现企业进销存业务管理网络化,即使是异地经营也能获得实时信息。系统将商品从进货到库
5、存,再到销售的整个物资流和资金流的状况进行统一管理,及时掌握经营中的情况,同时能降低管理成本,提高工作效率和经济收益。同时加入了SOA使得异构的系统之间也可以进行数据共享和交互,并且使用数据挖掘技术对销售数据进行实时分析为决策着的决策提供依据。首先本系统以对江苏谜羽尚服饰有限公司为背景介绍了国内基于WEB的进货销售与库存管理系统的研究和应用现状,以及相关技术应用现状,并简要介绍了J2EE框架和SOA协议;基于这些理论,根据公司的经营现状和特点,给出了企业现存的问题、然后分析这些问题,并提出了系统的设计思想;接着,全面分析系统的需求,给出了系统的主要流程。在设计阶段,首先对系统的WEB架构进行了
6、设计,然后对展示层(Presentation)、业务逻辑层(Business Logic)、数据持久层(DAO)进行了总体设计,并对数据库进行了设计。最后,结合J2EE平台开发了一套适合同类企业的进销存管理系统并成功应用与江苏谜尚服饰有限公司,提高了企业的管理水平。同时该系统也为其他中小型企业的信息化系统的建设提供了很好的参考依据。关键词:进销存,J2EE,MVC架构,SSMIIITongji University Master of Philosophy AbstractABSTRACTEnterprise management of buying-stock-selling is not
7、only an important part of operation management of all enterprise but also a key to gain economic benefitAn enterprise can achieve best economic benefit by reasonable production,in time sale,minimum inventory and reducing overstockThus is can be seen that the economic benefit of an enterprise is dire
8、ctly influenced by decision of buyingstock-selling managementThe Enterprise management of buyingstockselling is created in this situationIt integrates production,inventory and sales together by computer technology to improve effieiency and benefit of an enterprise. The system is WEB-based purchase s
9、ales and inventory management system, which provides powerful data management features and beautiful and easy to use interface, to achieve enterprise buying-stock-selling operational management Networkization, even if a remote operator can get real-time information. buying-stock-selling system to pu
10、rchase goods from inventory, then sell the entire material flow and cash flow situation of unified management, grasp and management in the situation while can reducing management costs, increase efficiency and economic benefits. Firstly,this paper introduces the present research and application of d
11、evelopment situation of buyingstockselling management system at home,and also introduces the application situation of the relevant technologiesThen gives a brief introduction of MVC model and the J2EE frameworksSecondly, list the problems existing in the enterprise at present under enterprise actual
12、ity and management features,and after the analysis of the problems,propose the solutionThirdly, by integrating Struts、Spring and Hibernate together to build a J2EE architecture based on the requirement analysis completely and the process analysis,then design for each layer such as Web tier,business
13、logic tier and data Persistence tier in detail,and design for the databaseIn the end,a system will be developed based on J2EE platformIt adapts to congener enterprise and enhances the management standardsKey Words: BuyingStockSelling,J2EE;,MVC Architecture,SSM同济大学 硕士学位论文 目录目录1 绪 论11.1 服装企业发展11.1.1 国
14、外服装企业管理11.1.2 国内服装企业管理31.2 研究内容41.2.1 中小服装企业管理存在问题41.2.2 研究内容51.3 本文的主要内容和组织结构52 相关理论与技术72.1 企业管理理论72.2 JavaEE技术72.2.1 JavaEE平台概况72.2.2 MVC简介92.2.3 Struts 框架102.2.4 MyBATIS框架122.3 Web服务142.3.1 XML142.3.2 Web Service142.4 数据挖掘153 中小型服装产销管理分析163.1研究背景163.1.1 企业背景163.1.2 企业管理构架163.2中小型服装主要业务流程173.2.1系统
15、整体业务流程173.2.1 服装经销存系统功能分析183.3总用例193.3.1用例角色203.3.2系统总用例203.4功能模块和用例214中小型服装产销管理系统设计244.1总体构架设计244.1.1架构设计的目标244.1.2体系结构设计254.1.3 软件架构设计264.1.4 框架集成284.1.5 持久化对象334.1.6 业务逻辑层实现364.2 数据库设计384.2.1 数据库E-R图设计384.2.2 数据库主要表设计394.3系统功能设计454.3.1采购管理464.3.2销售管理464.3.3库存管理464.3.4应付款管理474.3.5应收款管理474.3.6账务管理4
16、74.3.7统计分析474.3.8零售管理484.3.9系统管理485 中小型服装产销管理系统实现495.1销售管理模块实现495.1.1销售查询管理535.1.2销售对账单545.1.3售后服务565.1.4销售退货575.1.5销售利润管理实现595.2仓库管理模块实现615.3采购管理模块功能635.3.1 进货模块管理功能675.3.2 退货模块管理功能685.4统计分析模块实现695.4.1 进货日报695.4.2进货商品统计实现705.4.3 销售业绩务统计实现715.5 异构系统间数据交换73第六章 总 结76参考文献78致 谢80个人简历、在读期间发表的学术论文与研究成果错误!
17、未定义书签。第1章 绪论第一章 绪 论1.1 服装企业发展服 装具有 产品大规 模进、小 批量出、多款 式、周 期短、周 转快、季 节 性强等特点,服饰的 款 式、面 料、颜 色、规 格、版 型等因 素决定了服 装的潮流特 色,市场竞 争的日趋激烈要求企 业必须全面整 合内外部资 源从而建立快 速灵 敏的 市场反应 机制,而这种整 合单纯依靠人 力是难以完成的,必须借 助现 代信 息技术。我国大多 数中小型服 装企业属于劳 动密 集型 企业,自 动 化程度比较低,信 息 化的过程步 履 艰难。突出表 现在第一产业流 程模 式落后,信息 系统只是记 录一些数 据,方便查 询、汇 总和输 出,财
18、务管理和库 存管理的应用情况比较好,并未从根 本上改善企业管 理流程,更没有从生 产、采 购、库 存、质 量管理、配 送到最终零售,实现自身管 理模式、组 织机 构模式、产业 流程模式的改变;第 二就是信息分散,信息 交流不畅,不同系统服 务于不同部门,不同部门间的数 据信息 不能共享,系 统之间相互割 裂,很多服装企业销 售、采 购、入 库、出 库、库 存数据都有了,但数据不能进行交 流,甚至出现数 据脱节,即产生“信 息 孤 岛”,企业内部缺乏充分的沟通,企业与外部也 缺乏有效、可靠、安全的信 息交流方式;第 三,系统数据不稳 定,缺乏扩 展性,报表和运算不灵 活,仅仅只能生硬地按照常规流
19、 程计算,无法适应服 装行业特有的瞬息万 变的热卖和滞 销的商品变 化很快、不同地区不同季节也有不同的销 售特色的市 场需求,不能直接了解 第一线的 销售和库 存情况,不能快速响应客 户的需求,造成积 压库存的同时经 销商缺货,特别是生 产过程产品复杂,品 种多,批 量小,周期 短,工 序 复杂,大多数还是使用手 工管理,已经越来越成为企业发展的一大瓶 颈;第四不能提供替代以往根据经 验的销 售预测,协助企业决策,不能 调 和计划、生 产、销 售部门的信 息流,导致决 策延 迟,甚至失 误,不了解最 新的市 场动态,交 货期太 长,导 致延 误商 机2。1.1.1 国外服装企业管理做为管理信息
20、系统范畴内的一种,计算机辅助服装企业生产管理系统与任何其它学科一样是伴随着人类对生产、对社会的不断了解、随着生产管理的需要而逐步产生和发展起来的。1980年以后,计算机的功能不断拓展,硬件设施和软件资源的不断开发和应用,计算机管理与运算的有效性大为提高,极大地方便了人们开发应用计算机资源,逐步形成了计算机管理系统3。在西方,计算机辅助服装企业生产销售管理系统早在80年代就得到了广泛的开发和应用,目前已有较成熟的系统,其中著名的有:美国的GGT公司、法国的Lectra公司、日本的Nissyo公司、西班牙的Investrinca公司等4。 (1)美国IIVVIPACT-900系统美国GGT公司推出
21、的IMPACT-900系统,工艺设计人员利用该系统进行已定款式的工序分析,通过对各工序的分解,将作业要素转化为动作要素,利用该系统提供的动作要素和标准工时库,计算该产品的总工时及劳动成本根据面料厚度、针迹及缝纫长度、机器类型、设备性能等,计算出缝纫线消耗并得出该原材料的成本,从而快速准确地完成对该产品进行工时分析和成本分析。该系统可以完成对产品的工时分析和成本分析。该系统还可以将产品分析的结果下传吊挂生产系统,达到信息部分集成。(2)日本有限会社日升ACIM服装企业综合管理系统ACIM顺应服装企业的管理特点,可对各个部门的多种业务进行系统化管理.其特点为:可进行工程进度管理,对生产的各个过程进
22、行调度和监控,随时掌握进度状态,并对各担当者进行统一管理。可进行各种表格的制作及情报登录,服装生产需要的缝制说明表、辅料说明表和成本预算表等各种表格都可根据企业自己的格式自由作成,并可进行表格内的统计、纵向合计等计算功能。对各部门的工作进行一元化管理。可利用ACIM提供的丰富的CAD功能自由设计图样。与NCA-70服装工艺CAD系统连接可将纸样图或排料图自由连接到表格指定位置。 (3)英国的“计算机辅助缝制车间模拟”生产系统该系统能够模拟缝纫生产线实际生产情况预计人员缺勤、设备出故障的结果。并提供可选择的方法。系统包括三个程序,第一个程序又称技术操作程序包括工序号、工序名和工艺技术目录,目录内
23、容可添加、删除或修改。第二个程序又称生产线布置生成程序,生产线可以通过人机交互直接生成或通过修改与之相类似的生产线得到,然后从目录中选择工序名、设备名、标准作业时间值和机工来确定工艺线路。第三个程序是模拟该程序用FORTRAN77编写使用ISTEL公司的DEFWHT (F)软件。通过观察调和设备图形颜色的变化来了解生产线模拟情况。这套系统模拟实际生产线中出现的多种问题,及时调整,使生产线处于平衡状态,生产损失减少至最小4。1.1.2 国内服装企业管理与信息的收集、加工、存储、处理、传输和应用相关的技术统称为信息技术,是当代先进技术的代表。中国信息管理系统虽然已经进入普及时代,然而大多数成功实施
24、信息管理系统的企业的信息化管理和应用水平还处在初级阶段,因此信息管理系统升级应用存在着广阔的市场空间,目前在我国市场上的信息管理系统有两种:一是以跨国公司或国内少数大型企业为代表的高端市场,其应用信息化管理系统的比例较高,系统也比较集中在国外基本成熟的主流品牌;二是以国内企业为代表的中低端市场,主要应用国内开发的信息化管理系统产品5。目前国内服装产销系统主要以用友,金蝶为主,如用友T1服装管理系统,济宁用友服装鞋帽管理系统以及金蝶KIS服装管理系统等,这些公司主要以企业ERP,财务软件为住,又有着多年的信息系统软件的设计经验,在设计的服装管理系统中加入了ERP的思路同时加入了财务的管理,让服装
25、产销管理变得更便捷。用友T1服装管理系统:主要应用于快速消费品批发商、批发兼零售的中间商、小型加盟连锁店、小型超市、小型商贸公司,关注全面业务管理,对于审核流程、业务员考核、会员管理、价格管理、分析类信息收集、财务报表上报需要进行深入管控, 同时经营者多家批发点、零售网点、卖场柜台的多点经营请采用连锁加盟版软件,如果渠道资源汇集顾客、经销商、加盟商等多种形式,请采用连锁加盟版和加盟商管理插件(分销通)的打包产品。金蝶KIS服装管理系统:主要针对服装鞋帽行业客户的业务财务管理,解决服装鞋帽型企业在实际业务中面临的订单管理、面辅料采购、外发管理、以及多款式、颜色、尺码的仓存管理,同时实现业务财务一
26、体化,让企业管理变的更为简单、有效。主要包含以下功能: 辅助属性:轻松搞定颜色、尺码、面料、产地等多属性的货品管理核算管理:多单据核算,及时提供毛利等成本数据库存预警:销售旺季和淡季及时控制补货或者避免积压统计分析:热销滞销货品的销售统计,收入利润的及时分析美萍服装销售管理系统:该系统是一款专业的服装管理软件,其中包含服装进销存管理系统(服装库存管理系统,服装仓库管理系统)财务和报表系统等子模块。软件界面设计简洁, 美观,其人性化的软件流程,使普通用户不需培训也能很快掌握软件操作使用方法,上手极易。强大报表与集成查询功能是本软件的最大特色,所有功能在用户需要使用的地方自然体现,不用打开多个窗口
27、重复查询。美萍服装销售管理软件广泛适用于服装销售企业,服装鞋帽专卖店,服装销售门市等用来作为服装销售管理软件, 服装库存管理软件,服装收银软件,服装零售软件等用途,是服装行业,鞋帽行业信息化管理强大的工具。“管家婆”服装管理系统,该系统是一套面向中小型服装、鞋业经营企业的进销存、财务管理软件。该软件充分考虑了服装行业的特性,全面支持服装、鞋业颜色及尺码管理;其作业流程与手工做账习惯相一致,无需特别培训即能轻松使用,使用相当简单。从总体上说,目前中国中小型服装企业信息管理系统项目实施的成功率还不是很高,由于服装企业有着其独特的行业特点,例如产品种类繁多,款式流行周期短,市场瞬息万变,很多企业存在
28、库存与销售难以协调,现金流容易失控的问题,所以通用的信息管理系统软件根本不能满足企业的行业需求。因此目前企业应用比较成功的还是基于进销存管理的软件系统,系统功能包括进货管理、库存管理、销售管理、财务管理等功能模块,这类软件的特点是功能简单易用,但是细节部分远远不能满足很多服装企业的需求6。1.2 研究内容服装进销存系统是管理系统的一种,相对于一些复杂的管理系统它要相对简单一些,研究方法也已经达成普遍共识。服装的进销存管理工作是服装销售不可缺少一部分,也是企业管理的重要组成部分。大型服装企业的信息化产品应用主要集中在CAD服装设计、销售管理、财务管理以及ERP, SCM, CRM以及这些系统的集
29、成协同工作。相对与大型服装企业的管理系统中小企业服装进销存管理系统更关注与销售和库存管理,以及销售数据的统计分析和决策分析等。随着经济的发展和中国加入WTO,人们对服装的需求也越来越严格,企业已经不单单是生产销售服装这么简单了,为了达到市场和生产的平衡同时能预测未来销售的走势,就必须借助历史的销售数据,根据数据挖掘的原理和专家决策支持系统分析出未来的销售走势,潜在客户,市场定价等有助于领导决策的信息。1.2.1 中小服装企业管理存在问题近年来,全球经济体化步伐进步加快,市场竞争日趋激烈,企业开始面临诸多挑战 ,要想在激烈的竞争中立于不败之地,服装企业迫切地需要一套信息管理系统将生产、仓储、调配
30、、营销、分公司、专卖店等体系有机述接起来,实现销传数据的实时反馈与分析、生产成本的控制、产品流动跟踪,最终达到减少管理费用、提高运营效率,提升企业竞争力的目的7。中小型服装企业补遍面临管理不善、资金短缺、信息化基础薄弱、技术人员缺乏等问题,如何让信息化渗透到企业生产经营的每个环节,明白信息化,熟悉信息化,使用信息化一直困阻扰着企业的发展。随着信息技术的发展,企业希望提供关于生产、经营、成本、财务、技术、质量、库存状况的综合信息,对所有过程进行现代化管理,以提高核心竞争力;希望为企业领导决策提供第一手资料,从各方面多角度地对企业运营情况进行快速、准确地跟踪管理,在复杂的市场动态中找到极具参考价值
31、的分析结果;希望提供全面、准确、可靠、及时的信息,制定企业全局的发展计划8。1.2.2 研究内容 由于服装企业信息管理不是固定不变的,而是随着企业的发展而不断的变化的,所以很少有相对成熟的,可以借鉴的信息化建设模式和框架,信息管理系统的开发难度相当大。本文的工作是对江苏谜羽尚服饰有限公司为代表的中小型服装企业的产销信息管理需求进行详细调研,理清各个部门业务流程环节的需求以及各部门之间的关系之后,采用较为先进的开发模式和成熟的开发环境,利用面向对象的方法结合国内外服装企业先进的管理经验和思想,设计并完成中小型服装企业产销信息管理系统。本论文的研究内容如下:1、 分析国内外服装行业的业务特征和信息
32、化建设的现状。2、 分析服装产销系统对企业的意义以及服装产销系统的现状和实施所遇到的问题。3、 对江苏谜羽尚服饰有限公司的经营方式,生产环境,以及业务需求做出详细的考察和分析。4、 结合公司的实际需求,得出系统需要解决的三个核心问题:服装进、销、存之间的关系和信息化实现;销售数据的实时统计分析和数据挖掘;与原有服装销售系统的数据交互、共享和集成。5、 针对三个核心问题,系统给出了解决方案以及信息化实现的方法9。1.3 本文的主要内容和组织结构本论文在分析了现有框架技术的基础上,针对现有的服装产销管理系统进行分析,结合进销存管理系统的理念,构建一套适合中小服装企业的产销管理系统。它基于J2EE平
33、台,由整合Struts2,iBATIS, Spring三大框架后形成的集成架构实现同时加入了数据挖掘和SOA的相关内容。本文的具体结构为:第一章绪论部分阐述了本课题的研究背景和研究意义,介绍了国内服装企业产销管理系统的研究现状、所遇到的问题及本文的组织结构。第二章介绍MVC模式和J2EE框架,首先通过比较几种不同的MVC实现框架说明最后的选择框架的优点,接着对目前应用比较成熟的Struts、MyBatise和Spring框架以及数据挖掘技术和SOA等相关只是进行了介绍。第三章中小服装企业产销管理系统的分析。首先介绍了研究的背景和企业的组织结构和业务流程并对系统进行了可行性研究,指出了系统要解决
34、的问题,并提出系统的设计思想;同时给出了系统的总用例以及各模块用例和功能分析。第四章中小服装企业产销管理系统设计。首先给出了系统的设计目标,确定系统的WEB架构,并且对系统进行了数据库建模,同时给出了各模块的功能详细说明和业务流程用例及流程图。最后对Struts和Spring框架进行整合,如何整合Hibernate和Spring框架,最后介绍了集成框架的工作流程。第五章中小服装企业产销管理系统的实现:在对系统进行WEB架构设计后,首先对系统流程进行设计,然后按照J2EE的分层结构,对持久层,业务逻辑层和表现层分别进设计,最后对数据库进行了概念设计和逻辑设计。然后按照J2EE的分层结构,逐层分析
35、并给出相关代码示例,最后给出了部分页面的显示结果图第六章总结,总结作者的主要工作,并在此基础上提出以后研究和发展方向。81第2章 相关理论与技术第二章 相关理论与技术2.1 企业管理理论传统企业管理理论认为, 经营策略必须经过一个规划过程,发达国家在企业管理方面采用的有安索夫产品市场 2 2 矩阵( 即现产产品、新产品、现有市场、新市场,这 4 种要素有4种组合,形成不同的企业经营战略)、迈克尔波特( Michael Porter) 的“五力”模型( The Five Forces Model)即进入者威胁、替代品威胁、现有竞争对手的竞争以及买方和供方侃价的能力) 、 4Ps 以及 SWOT
36、分析等方法, 上述模型或理论的特点是以平面分析为主, 与企业财务表现不甚紧密, 不能给出整体的剖析企业现状、评估预测企业未来发展态势的有效手段10。数据挖掘技术的提出在技术上解决了上诉管理理论的不足。数据挖掘( Data Mining, DM)起源于数据库中的知识发现,关于数据挖掘的定义很多,比较公认的是: 数据挖掘就是从大量的、不完全的、有噪声的、模糊的、随机的实际应用数据中,提取隐含在其中的、人们事先不知道、但又是潜在有用的信息和知识的过程。数据挖掘是一门交叉学科,融合了数据库、人工智能、机器学习、统计学、模式识别等多个领域的理论技术。伴随着信息技术和计算机科学的迅猛发展,工业生产方式发生
37、了极大的变化, 服装行业也毫无例外。服装产品的工业化生产方式也开始走向数字化的生产方式, 并伴随着多元化、方式、高质量、个性化程度高的服装消费方式的出现。在服装生产、销售、管理各个过程中, 产生了大量数据,为使服装行业的发展能够紧跟现代科学与信息技术的潮流,用数据挖掘技术来发现隐藏在服装领域各环节中的知识与信息成为研究的热点11。2.2 JavaEE技术2.2.1 JavaEE平台概况J2EE是一种利用Java 2平台来简化企业解决方案的开发、部署和管理相关的复杂问题的体系结构。J2EE技术的基础就是核心Java平台或Java 2平台的标准版,J2EE不仅巩固了标准版中的许多优点,例如编写一次
38、、随处运行的特性、方便存取数据库的JDBC API、CORBA技术以及能够在Internet应用中保护数据的安全模式等等,同时还提供了对 EJB(Enterprise JavaBeans)、Java Servlets API、JSP(Java Server Pages)以及XML技术的全面支持。其最终目的就是成为一个能够使企业开发者大幅缩短投放市场时间的体系结构。J2EE体系结构提供中间层集成框架用来满足无需太多费用而又需要高可用性、高可靠性以及可扩展性的应用的需求。通过提供统一的开发平台,J2EE降低了开发多层应用的费用和复杂性,同时提供对现有应用程序集成强有力支持,完全支持Enterpri
39、se JavaBeans,有良好的向导支持打包和部署应用,添加目录支持,增强了安全机制,提高了性能。J2EE使用多层的分布式应用模型,应用逻辑按功能划分为组件,各个应用组件根据他们所在的层分布在不同的机器上。事实上,sun设计J2EE的初衷正是为了解决两层模式(client/server)的弊端,在传统模式中,客户端担当了过多的角色而显得臃肿,在这种模式中,第一次部署的时候比较容易,但难于升级或改进,可伸展性也不理想,而且经常基于某种专有的协议通常是某种数据库协议。它使得重用业务逻辑和界面逻辑非常困难。现在J2EE 的多层企业级应用模型将两层化模型中的不同层面切分成许多层。一个多层化应用能够为
40、不同的每种服务提供一个独立的层,以下是 J2EE 典型的四层结构: 运行在客户端机器上的客户层组件 运行在J2EE服务器上的Web层组件 运行在J2EE服务器上的业务逻辑层组件 运行在EIS服务器上的企业信息系统(Enterprise information system)层软件 图2-1 J2EE结构图2.2.2 MVC简介MVC是一种设计模式,是模型(Model)-视图(View)-控制器(Controller)的简写,它强制性将整个应用系统的输入、处理、输出分开,各个部分有各自的责任,其结构示意图如图2-1所示:图2-2 MVC模式MVC就是一个三层框架,1、模型。模型表示企业数据和业务
41、规则。在MVC的三个部件中,模型拥有最多的处理任务。例如它可能用象EJBs和ColdFusion Components这样的构件对象来处理数据库。被模型返回的数据是中立的,就是说模型与数据格式无关,这样一个模型能为多个视图提供数据。由于应用于模型的代码只需写一次就可以被多个视图重用,所以减少了代码的重复性。2、视图。视图是用户看到并与之交互的界面。对老式的Web应用程序来说,视图就是由HTML元素组成的界面,在新式的Web应用程序中,HTML依旧在视图中扮演着重要的角色,但一些新的技术已层出不穷,它们包括Macromedia Flash和象XHTML,XML/XSL,WML等一些标识语言和We
42、b services. 3、控制层。控制器接受用户的输入并调用模型和视图去完成用户的需求。所以当单击Web页面中的超链接和发送HTML表单时,控制器本身不输出任何东西和做任何处理。它只是接收请求并决定调用哪个模型构件去处理请求,然后确定用哪个视图来显示模型处理返回的数据。分三层的作用就是在于降低程序的耦合底,三层各司其职,互不影响。显示层专门用来显示数据的,它可以灵活多变,以不同的形式将数据显示给用户看,Model层是代码的可重用性高,可减少代码的编写量,使程序更加优化,控制层采用的是一种单点接触的思想,就是将程序中的流转集中起来管理,这样使程序更加容易管理和维护。JavaEE就是一种MVC构
43、架的开发平台,为Web应用程序更进一步的发展提供了更广阔的空间。目前,国内外有很多基于J2EE多层架构的框架,这些框架可以减轻开发人员的负担,设计者可以将不同层上的许多框架框架整合到一起,从而能够让软件开发人员从繁杂重复的底层编码中解脱出来12。在构建Web应用时,用户请求的处理、业务逻辑处理以及数据的持久化和事务的管理是必须仔细考虑的因素,而且也是大部分应用必须具备且较为复杂的职责。因此目前针对表示层、业务层、数据持久层这三方面人们开发了很多框架,如Struts2、Spring、iBATIS等等13。2.2.3 Struts 框架Struts是Apache基金会Jakarta项目组的一个开源
44、项目,它采用MVC模式,能够很好地帮助Java开发者利用J2EE开发Web应用,它能大量减少开发Web应用的时间,提高产品的重用度。Struts主要是采用Servlet和JSP技术来实现的,它把Servlet、JSP、自定义标签和信息资源(message resources)整合到一个统一的框架中,Struts它只有一个中心控制器,他采用XML定制转向的URL,采用Action来处理逻辑,开发人员利用其进行开发时不用再自己编码实现全套MVC模式14。 Struts2的核心体系结构如下图所示,用户在Struts2框架下只需要编写自己的Action类来处理逻辑编写jsp页面,来展示用户界面和在st
45、ruts.xml配置映射关系就可以完成基本的业务流程。图 struts2工作原理1、 一个初始的请求被发送到Servlet容器(如Tomcat或者其他jsp服务器),这个请求经过一个标准的Filter链,其中包括(可选的)ActionContenxtCleanUp.Filter,如果要在应用程序中加入其他技术如SiteMesh,可能还需要其他的Filter;2、请求经过FilterDispatcher,在它里面ActionMapper会判断这个请求是否需要调用Action。如果ActionMapper巨鼎应该调用一个Action,FilterDispatcher就会把请求委托给ActionPr
46、oxy;ActionProxy通过Struts2的配置文件管理器读取Struts.xml文件里面的配置信息。4、创建一个实现了命令模式的ActionInvocation。这一过程包括在调用Action本身之前调用多有Intecepter(Before()方法);5、一旦Action方法返回,ActionInvocation就要查找Struts.xml文件中这个Action的结果码(结果码是一个字符串如“SUCCESS”,“INPUT”等)所对应的Result;6、执行这个Result,通常情况下Result会调用JSP或者FreeMarker模板来展现页面,Result也可以是一个Action链交付给另外的Action继续处理。当呈现页面时,在模版中可以使用Struts2提供的一些标签;Intecepter被再次执行(顺序和开始相反,调用after()方法);8、请求被返回给Web.xml中配置的其他的Filter。如果已经设置了ActionContextCleanUp.Filter,那么FilterDispatcher就不会清理ThreadLocal中的ActionContext信息。如果没有设置ActionContextCleanUp.Filter,FilterDispatcher就会清理掉所有的ThreadLocal15。Struts2是目前流行的基于MV