网上商城交易平台设计电子商务毕业论文.doc
摘 要随着Internet在中国的迅速发展,人们日常生活中越来越多地使用这项新的技术来为自己的工作和学习服务.由于WEB页面能把文本、图像、声音、动画、视像等多种媒体信息集于一体,不但使信息的显示更加生动,而且使信息的浏览更为方便,同时WEB页能实现网上交易平台、客户信息反馈方便了企业与客户之间信息交流。本系统充分利用了JSP网络开发技术为表业网上商城交易平台的设计与实现提供了良好的开发平台,并且采用了MVC模式对系统进行开发。用户通过这个交易平台,可以搜索及查询商品并且可以进行货交易,不同的用户有不同的权限。供应商具有将商品摆放在网站出售的功能。管理员可以有效的管理用户及商品。本文主要分析了该交易平台实现的相关技术原理,给出了交易平台实现的系统架构,并对架构及交易平台模块结构作了划分及设计。本文在系统的架构上采用了当前流行的B/S 结构,通过JSP、Java Script 、Dreamweaver和Microsoft SQL Server 2000数据库等软件的强大功能完成了该交易平台。经过测试,该系统能够在window2003+ Tomcat中用IE浏览器正常运行。该交易平台简单方便,易于用户操作。为学生们的货交易提供了个良好的交易平台。关键词:JSP;Java Script;Dreamweaver; 数据库系统;B/SCampus secondary market trading platform for the design and implementationAbstractWith the rapid development of Internet technique in China, more and more people use the new tech as a tool severing their life and study. Because WEB page can collect text, image, sound, animation, video together. and the hypertext property of homepage can not only make the display of information pages lively, but also make the browse of information more convenient.The system makes full use of JSP Web development technology ,and it provides a good development platform for the design and implementation of campus secondary market trading platform ,also the system development uses the MVC model. Through this trading platform, Users can search and inquiries goods and make second-hand transactions. Different users have different permissions. Administrators can manage users and merchandise effectively.In this paper, it analysis the technologies related principle of the trading platform and provides the system structure for the Implementation of transaction platform .It also makes design division for the module structure of trading platform. In this paper, the current B/S structure, JSP, Java Script, Dreamweaver and Microsoft SQL Server 2000 database software completion of the strong capabilities of the trading platform. In this paper ,the system structure used the current epidemic B/S structure, and make the secondary commodities to be traded in the platform which is developed by using the JSP, Java Script, Dreamweaver and Microsoft SQL Server 2000 database technologies.After testing, the system can be operated well in IE browser which is under window2003+ Tomcat environment. The trading platform is simple and convenient, and easy to operate, which is good for transaction of second-hand commodities by the students.Keywords: JSP;Java Script;Dreamweaver;Microsoft SQL Server 2000;B/S 目 录第一章 前言11.1、课题选择的背景及意义11.2、课题研究的内容和本论文的组织结构1第二章 系统的分析32.1、可行性分析32.2、需求分析32.2.1、系统描述42.2.2、权限42.2.3、用例识别42.3、系统开发环境6第三章 系统的总体设计73.1、系统流程73.2、系统模块设计93.2.1、前台客户端管理模块93.2.2、后台管理端模块103.3、系统E-R图的设计113.4、数据库设计133.5、开发工具及关键技术的介绍143.5.1、JSP技术介绍143.5.2、JAVASCRIPT概述153.5.3、MVC概述153.5.4、UML概述17第四章 程序模块的实现及界面设计194.1、程序登录及注册194.2、查询功能模块244.3、购物车功能模块244.4、供应商管理模块274.5、系统管理模块29第五章 总结35参考文献(References)36致 谢37第一章 前言1.1、课题选择的背景及意义近年来,随着Internet的迅速崛起,互联网已日益成为收集提供信息的最佳渠道并逐步进入传统的流通领域。于是电子商务开始流行起来,越来越多的商家在网上建起在线商店,向消费者展示出一种新颖的购物理念。网上购物系统3作为B2B,B2C(Business to Customer,即企业对消费者),C2C(Customer to Customer,即消费者对消费者)电子商务的前端商务平台,在其商务活动全过程中起着举足轻重的作用。本文主要考虑的是如何建设B2C的网上购物系统。网上购物是一种具有交互功能的商业信息系统。它向用户提供静态和动态两类信息资源。所谓静态信息是指那些比经常变动或更新的资源,如公司简介、管理规范和公司制度等等;动态信息是指随时变化的信息,如商品报价,会议安排和培训信息等。网上购物系统具有强大的交互功能,可使商家和用户方便的传递信息,完成电子贸易或EDI交易。这种全新的交易方式实现了公司间文档与资金的无纸化交换。Internet经过20年的发展,已经成为世界上覆盖最广、规模最大、信息资源最丰富的计算机网络,它延伸到了世界的每一个角落,兼容所有的传输媒介,支持成千上万不同的应用。Internet极大地推动了世界经济向知识经济的转变,近两年间,随着国际互联网以惊人的速度席卷全球之际,我国多媒体网络覆盖面也在不断扩大。然而,商家们能够得到更好的利用所欠缺的正是这么一个交易平台。因此,利用Internet这个媒介建立一个功能强大的、界面美观的表业网上商城交易网站,创建表业网上商城交易系统平台,为商家们的货物能更好的得到利用而搭建一个良好的交易平台。1.2、课题研究的内容和本论文的组织结构本文通过软件工程的方法对一个小型的表业网上商城交易网站进行了详细的设计及介绍,对这个交易网站进行了积极的开发和实践。作为一个小型的表业网上商城网站,它为喜好表的客户提供了一个良好的交易平台。让商家能够更好的处理自己货物。例如:客户可以通过这个交易平台选择自己喜欢的手表放到购物车内,然后进行交易。并且客户们可以通过这个网站搜索查询自己要找的手表等。本论文的组织结构为:第一章:前言 (前言部分主要描述课题选择的背景、意义、和研究的主要内容) 第二章:系统的分析 (本章主要通过三个部分对系统进行分析,首先从系统的可行性进行分析。其次,通过对系统进行需求分析了解在系统开发前做好充分的准备工作,及系统具体实现的功能和大体分为几个部分。最后,为系统配置好开发和运行环境。)第三章:系统的总体设计 (本章主要详细了描述整个系统的流程,系统的各个功能的模块设计,系统E-R图的设计及数据库的设计,还有对系统开发工具及关键技术的一些介绍)第四章:程序模块的实现及界面设计 (本章对系统的各个功能模块进行了详细的设计及描述)第五章:总结 (本章将主要对全文进行总结分析,找出其不足的地方,并阐述了整个系统的一个发展前景)第二章 系统的分析2.1、可行性分析1.技术可行性表业网上商城网站主要通过JSP网络编程技术及SQL Server 2000对其进行开发和实现的。作为J2EE体系中的重要一环,JSP为创建高度动态的Web应用提供了一个独特的开发环境。JSP能够适应市场上包括Apache WebServer、IIS4.0在内的85的服务器产品,这足以胜任绝大多数的商业事务处理。同时JSP代码经过服务器的解释执行后会直接嵌入到HTML语言中,这样就简化了页面的输出,也保留了脚本语言易于使用的优点。JSP作为一种Web实现技术,它的效率是很高的。除此之外,作为Java平台的一部分,JSP拥有Java语言“一次编写,各处运行”的特点。又随着越来越多的服务器供应商将JSP支持添加到他们的产品中,这样一来用JSP做成的这套系统可以轻松移植到其它平台来运行。种种优点都为建设表业网上商城网站打下了良好的基础。所以JSP是实现本系统的最佳技术,它是完全可行的。JSP同其他的Web脚本语言不同,它本身不定义访问数据库的标签,而是开发了另一个访问数据库的机制,即JDBC。Microsoft SQL Server 2000是一个专为分布式客户机/服务器计算环境而设计的关系型数据库管理系统,它继承了高性能、高可靠性和可伸缩性的优势,并把它们延伸到能满足当今商业竞争需要的新领域内。一个综合的分布式管理框架结构提供了集中管理组织机构中所有数据库服务器的功能。通过增强的基于Windows的管理工具和强大的基于服务器的作业日程安排,可以直观地控制多个服务器,并且实现分布式环境命令构成的远程操作的自动执行,还能提供丰富的开发环境。Microsoft SQL Server 2000 提供完整的资料库与分析并为许多任务提供了命令,其中包括:查询数据,在表中插入、修改和删除记录,建立、修改和删除数据对象,控制对数据和数据对象的存取,保证数据库一致性和完整性。2.经济可行性通过这个交易平台网站,充分利用Internet全面宣传和销售商品,让商品可以得到充分的利用,既提高了商品的利用价值,而且节省消费时的开支 ,这对于没有稳定收入来源的学生而言,很好的为他们节省了生活费,而且又拿到了自己想要的商品。3.可操作可行性此系统是基于网页式的,界面友好,操作方便。2.2、需求分析众所周知,软件需求分析在软件开发中起至关重要的作用,他对于软件的质量往往具有决定性的意义。因此在进行开发前,我们有必要充分地了解和论证软件所具有的功能和性能等。需求分析的任务是定义待开发的软件的功能、性能等指标。首先要了解此系统必须具备的相关业务。如果你给一家公司做一个商业网站,除了参考现在已存在的类似和相关系统外,还需要通过用户的演示、讲解和有关文档,与用户进行交流协商。其次要分析用户的业务流程,通过将了解到的用户活动加以整理并按照这些活动所固有的次序形成业务流程。还需要了解用户对于软件的期望值,除了需要能够正确的处理用户的业务外,还需要了解用户对系统的其他需求。这些无论对于用户还是开发者而言都是很重要的。最后整理出用户需求并评审需求。2.2.1、系统描述本系统大体包括两个基本部分,一个是前台销售程序,用户在前端浏览、搜索商品,能够看到此交易平台的最新消息,用户在前台使用购物车的工具在网站上模拟购物,并且可以对放入购物车中的物品进行添加和删除处理。并且用户还可以通过网站发布的消息,搜索自己想要的货物,同时还设置了不同权限的用户,即一般用户和供应商,它们所执行的权限也是不一样的,一般用户只可以购买货物,然而供应商可以在这个交易平台出售自己的货物。另一个是后台信息管理程序,管理员在此管理整个交易平台的商品的类别、更改网站上货物的相关信息。并可以在网站上修改及删除相应的用户。2.2.2、权限权限指的是找出所有可能与系统发生交互行为的外部实体、对象和系统。它们的行为不受系统控制,但是可以提供输入给系统。在前面的系统描述中可知,消费者在访问系统时,浏览商品和最新消息,并使用购物车筛选自己想要的商品,购物完后到服务台进行结账。并保留订单以便收到货物进行核对,很显然系统存在这样的主要角色,我们定义该角色为前端用户。其实在前端用户中又可以分为普通用户和供应商,他们的权限又是不一样的,普通用户可以浏览和购买商品,而供应商则可以浏览和出售商品。同样在系统的后台,也需要人员管理商品、消息,查询、处理订单,管理注册用户,我们定义该角色为系统管理员。综上所述,本系统实际只包含两个角色:前端用户和系统管理员。实际上,我们仍然可以将系统管理员进行细化成商品和消息管理员、订单管理员等等。2.2.3、用例识别在角色的基础上,可以识别出与权限相关的用例,从而得到系统的用例模型,如图2.1所图2.1、系统用例模型用户和管理员2.3、系统开发环境1、硬件平台:l CPU:赛扬2.4l 内存:512MB2、软件平台:l 开发工具:MyEclipse3.1、Tomcat5.5、 Dreamweaver、UltraEditl 操作系统:Windows 2003 操作系统l 数据库:Microsoft SQL Server 2000个人版l 浏览器:IE6.0以上。l 分辨率:最佳效果1024×768像素。第三章 系统的总体设计3.1、系统流程通过以上的分析介绍,我么已经定义了系统角色及用力模型。作为一个完整的系统,有必要知道整个交易的流程,这有助于我们明确系统开发任务和功能模块。浏览者在进入网站后,访问网站的首页,其中除了有各类商品的入口,还可以看到各种消息公告,其中还有供给消费者搜索的功能。当你看到感兴趣的商品时,还可以单击察看它的具体信息。如果可以的话,你可以将它加入到你的购物车中,当然你可以修改自己的购物车内的商品。最后就是去服务台结账。但是在你购物之前,你必须注册或登入进入网站,否则,就没有权限进行购物。在结账的同时,必须填写自己的真实身份及联系方式等等。当网站的管理人员收到订单后,将进行核对,确认完后就可以发货了。上面的这些可以说是整个网站的核心部分,为了实现它,必须辅以其他功能,比如商品的管理、消息管理,以及用户管理等。为了更加清晰地表达系统的业务功能模块,我们画出了以下的流程图,对于不同的角色,他们所承担的任务各不相同,流程也不一样,包括客户端流程(面向前端用户,如图3.1所示)、管理端流程(面向系统管理员,如图3.2所示)及服务台结账的流程(如图3.3所示)。用户查看消息,浏览商品,搜索查询商品购物车用户登录判断用户登录服务台用户注册用户订单回执无登录新用户登录图3.1 客户端流程图管理员用户验证验证成功商品管理,订单管理用户管理,消息管理NY图3.2 管理端流程图用户+购物车用户登录判断服务台用户登录用户登录用户主册用户注册信息填写用户注册成功NYNY图3.3 服务台结帐流程图3.2、系统模块设计有了系统流程描述和做出的流程图后,我们就可以根据流程图将系统划分成一些模块,如表3-1所示。表3-1序 号功能模块类别功能模块备 注1客户端个人信息管理2信息浏览3信息查询4购物5前台订单处理(结账)需要用户模块共同工作6管理端用户管理7公告消息管理需要管理端用户验证8商品管理需要管理端用户验证9后台订单处理需要管理端用户验证上图是根据模块完成任务的不同进行划分,一共包括9大模块,其中与前台相关的共5个,与后台相关的共4个。这些模块都是建立在我们对系统的需求分析和设计的基础上的。当然,上表中的模块只是大概的描述了系统的整体结构。下面我们在详细介绍下各个功能模块的划分和细节。3.2.1、前台客户端管理模块3.2.1.1、个人信息管理中的功能模块任何系统功能的实现都离不开角色的参与,为了赋予不同用户不同的权限和功能,也为了一定程度确保交易的安全顺利进行,我们必须对各种用户进行管理。从表中可以看出系统提供给用户登录,注册,查看修改等等功能。如表3-2所示表3-2 个人信息管理功能模块序 号功能列表功能明细备注1用户登录用户输入用户名和密码进行验证2用户注册注册用户与登录系统,拥有不同的用户权限供应商具有将商品添加到网站的功能3用户信息查看浏览用户填写的注册信息4用户信息修改编辑、保存及修改用户信息和密码3.2.1.2、信息浏览功能模块可以看到这些功能和用户进入交易平台首页后相关的。作为一个交易网,大家关心的不过是自己感兴趣的商品,有没有什么好的货以及网站内的一些信息等等。这些都是一个网站能否吸引客户的关键因素。其功能模块如表3-3所示。表3-3 信息浏览模块序 号功能列表功能明细1查看商品列表商品名称,类别,发布日期2查看商品内容商品名称,类别,发布日期,内容3查看商品类别列表列表名称,类别列表3.2.1.3、信息查询功能模块为了方便客户能够在这个网站内查询到自己想要的货物,特意设计出通过关键字来查询此货物的功能模块。大大方便了用户购买和查看商品。3.2.1.4、购物车功能模块购物车在整个网站中,起到了十分重要的作用,购物者是直接和它打交道的。可以看出在购物功能中,购物车模拟了详实生活中商城中购物篮的功能。包括购买商品(即把商品放入购物车)、浏览购物车商品列表、取消购物车商品、修改购物车种商品的数量和清空购物车的功能。购物车是某次会话绑定的,具体如表3-4所示。表3-4 购物车功能模块序 号功能列表功能明细1将商品放入购物车将自己需要,喜欢的商品加入到自己的购物车中2浏览购物车购物车列表,序号,商品名称,购买数量,商品单位价格,等等3取消购物车种商品从购物车中将物品拿出或删除4编辑购物车中的商品数量修改购物车中已存在商品的数量5清空购物车将购物车中的商品清空3.2.2、后台管理端模块3.2.2.1、用户管理功能模块它与前台用户的个人信息管理功能模块是不同的。这里管理的是所有的注册用户和系统管理员的信息,是真正意义上的用户管理模块。其具体功能如表3-6所示。表3-5 用户管理功能模块序 号功能列表功能明细1管理员登录管理输入用户名和密码,系统进行验证2后台验证管理员在进行个功能模块管理时,系统都要验证3查看用户信息查看用户信息4修改用户信息编辑用户信息5删除用户删除用户6添加用户添加用户7确认用户对注册用户进行确认后台验证支持用户登录功能,与后端数据库表的登录名称和登录密码进行核对。添加用户主要是在系统管理员进行用户管理时,增加系统管理员,或是确认用户的注册。确认用户是对注册的用户信心进行确认。3.2.2.2、商品管理功能模块商品管理(如表3-7所示)是本系统为用户提供服务的一个重要的部分,管理员可以利用这个模块来为用户提供商品服务,完成商品的添加、删除和修改,而且在后台也要完成商品的搜索,以方便对商品的管理。表3-6 商品管理功能模块序 号功能列表功能明细1查看商品列表序号,商品名称,商品类别,管理进入,详细进入2搜索商品商品名称,类别等3查看商品详细信息列出商品信息及相关事项4添加商品类别添加商品的各个类别5修改商品信息修改商品信息6删除商品删除商品信息3.3、系统E-R图的设计 根据以上的分析,可以确定下的实体有:管理员信息实体,用户信息实体,商品信息实体。E-R图如下:商品用户购物出售供应商系统管理员管理mnnnmm图3.4商品实体与系统各角色实体之间关系的E-R图各实体E-R图如下图所示:用户实体E-R图(如图3.5所示):图3.5 用户实体E-R图用户用户名密码用户角色管理员信息实体E-R图(如图3.6所示):管理员用户名密码图3.6 管理员实E-R图商品信息实体E-R图(如图3.7所示):商品商品名商品分类商品价格商品上架时间图3.7 商品实体E-R图3.4、数据库设计本交易网站采用的是Microsoft SQL Server 2000进行系统设计和开发的。系统共有3张表。由于直接在代码中编写了管理员的登录帐号和密码。故在此没有写设计管理员的数据表。表3-7数据库表单序号数据库表数据库名称1ggroup商品分类2goods商品信息3users用户信息(1)、商品分类表此表主要用于管理商品的分类:表3-8 ggroup表 商品分类表序号字段名字段类型说明备注1group_idint分类组编号NOT NULL2group_namevarchar(50)分类组名称3group_infovarchar(50)分类组信息4group_add_tmvarchar(50)分类组添加时间(2)、商品信息表此表主要用于保存商品的相关信息:表3-9 goods表 商品信息表序号字段名字段类型说明备注1wp_idint物品编号NOT NULL2wp_imgvarchar(50)物品图片3wp_namevarchar(50)物品名称4user_idvarchar(50)用户编号5wp_groupvarchar(50)物品所在组6wp_pricevarchar(50)物品价格7wp_infovarchar(50)物品信息8wp_datevarchar(50)物品上架时间(3)、用户信息表此表主要是保存用户相关信息,及新用户注册的信息:表3-10 users表 用户信息表 序号字段名字段类型说明1user_idvarchar(50)用户编号NOT NULL2user_namevarchar(50)用户名3user_tnamevarchar(50)用户的真实姓名4user_addressvarchar(50)用户的联系方式5user_pwdvarchar(50)用户密码6user_groupvarchar(50)用户所在组7user_regtmvarchar(50)用户注册时间3.5、开发工具及关键技术的介绍系统综合应用了网络编程技术(JSP)、数据库软件的应用(Microsoft SQL Server 2000)、Java Bean、UML等技术。3.5.1、JSP技术介绍JSP的全称是Java Server Pages,它是由Sun Microsystems公司于1999年6月推出,许多公司参与一起建立的一种动态网页技术标准。基于Java Servlet以及整个Java体系的Web开发技术。JSP技术是用JAVA语言作为脚本语言的,JSP网页为整个服务器端的JAVA库单元提供了一个接口来服务于HTTP的应用程序。作为J2EE体系中的重要一环,JSP为创建高度动态的Web应用提供了一个独特的开发环境。在传统的网页HTML文件(*.htm,*.html)中加入Java程序片段(Scriptlet)和JSP标记(tag),就构成了JSP网页(*.jsp)。Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序片段,然后将执行结果以HTML格式返回给客户。程序片段可以操作数据库、重新定向网页以及发送 email 等等,这就是建立动态网站所需要的功能。所有程序操作都在服务器端执行,网络上传送给客户端的仅是得到的结果,对客户浏览器的要求最低,可以实现无Plugin,无ActiveX,无Java Applet,甚至无Frame。 JSP是一种实现普通静态HTML和动态HTML混合编码的网页技术,具有跨平台性、运行效率高、上手容易等优点。在用JSP进行WEB开发时,需要用到应用服务器来进行资源共享、网络通信等进行分布式应用。在支持JSP的应用服务器中采用Tomcat。Tomcat是Apache-Jarkarta的一个子项目,是一个开放式源码、免费支持JSP和Servlet技术的容器,同时又是一个WEB服务器软件。在Servlet中,许多使用传统CGI程序很难完成的任务都可以轻松地完成。例如,Servlet能够直接和Web服务器交互,而普通的CGI程序不能。Servlet还能够在各个程序之间共享数据,使得数据库连接池之类的功能很容易实现。Servlet是Java技术对CGI编程的回答。Servlet程序在服务器端运行,动态地生成Web页面。与传统的CGI和许多其他类似CGI的技术相比,Java Servlet具有更高的效率,更容易使用,功能更强大,具有更好的可移植性,更节省投资。JSP的优点:对于用户界面的更新,其实就是由 Web Server进行的,所以给人的感觉更新很快。所有的应用都是基于服务器的,所以它们可以时刻保持最新版本。客户端的接口不是很繁琐,对于各种应用易于部署、维护和修改。JSP能够适应市场上包括Apache WebServer、IIS4.0在内的85的服务器产品,这足以胜任绝大多数的商业事务处理。同时JSP代码经过服务器的解释执行后会直接嵌入到HTML语言中,这样就简化了页面的输出,也保留了脚本语言易于使用的优点。因此,在开发系统时本人选用当前流行的JSP作为主要实现手段。3.5.2、JavaScript概述Javascript是一种解释性的,基于对象的脚本语言(an interpreted, object-based scripting language)。HTML网页在互动性方面能力较弱,例如下拉菜单,就是用户点击某一菜单项时,自动会出现该菜单项的所有子菜单,用纯HTML网页无法实现;又如验证HTML表单(Form)提交信息的有效性,用户名不能为空,密码不能少于4位,邮政编码只能是数字之类,用纯HTML网页也无法实现。要实现这些功能,就需要用到Javascript。Javascript是一种脚本语言,比HTML要复杂。不过即便你先前不懂编程,也不用担心,因为Javascript写的程序都是以源代码的形式出现的,也就是说你在一个网页里看到一段比较好的Javascript代码,恰好你也用得上,就可以直接拷贝,然后放到你的网页中去。正因为可以借鉴、参考优秀网页的代码,所以让Javascript本身也变得非常受欢迎,从而被广泛应用。原来不懂编程的人,多参考Javascript示例代码,也能很快上手。Javascript主要是基于客户端运行的,用户点击带有Javascript的网页,网页里的Javascript就传到浏览器,由浏览器对此作处理。前面提到的下拉菜单、验证表单有效性等大量互动性功能,都是在客户端完成的,不需要和Web Server发生任何数据交换, 因此,不会增加Web Server的负担。几乎所有浏览器都支持Javascript,如Internet Explorer(IE),Firefox, Netscape, Mozilla, Opera等。JavaScript特点:JavaScript 使网页增加互动性。JavaScript 使有规律地重复的HTML文段简化,减少下载时间。JavaScript 能及时响应用户的操作,对提交表单做即时的检查,无需浪费时间交由 CGI 验证。JavaScript 的特点是无穷无尽的,只要你有创意。3.5.3、MVC概述MVC是一种目前广泛流行的软件设计模式,早在70年代,IBM就推出了Sanfronscisico项目计划,其实就是MVC设计模式的研究。近来,随着J2EE的成熟,它正在成为在J2EE平台上推荐的一种设计模型,也是广大Java开发者非常感兴趣的设计模型。MVC模式也逐渐在PHP和ColdFusion开发者中运用,并有增长趋势。随着网络应用的快速增加,MVC模式对于Web应用的开发无疑是一种非常先进的设计思想,无论你选择哪种语言,无论应用多复杂,它都能为你理解分析应用模型时提供最基本的分析方法,为你构造产品提供清晰的设计框架,为你的软件工程提供规范的依据。MVC英文即Model-View-Controller,即把一个应用的输入、处理、输出流程按照Model、View、Controller的方式进行分离,这样一个应用被分成三个层模型层、视图层、控制层,它们分别担负不同的任务。如图3.8所示图3.8、MVC设计模式1.Model(模型)采用JavaBean和EJB组件,设计和实现系统的业务逻辑。根据不同的请求从Action派生具体Action处理对象。完成“做什么”的人物来调用由Bean构成的业务组件。创建由ActionForm的派生类实现对客户端表单数据的封装。2.View(视图)视图提供模型的表示。它是应用程序的外观,是用户看到并与之交互的界面。视图可以访问模型的读方法,但不能访问写方法。此外,它对控制器一无所知。当更改模型时,通知视图,修改视图。3.Controller(控制器)控制器对用户的输入作出反应,它创建并设置模型,选择要显示的视图。4. MVC处理过程首先控制器接收用户的请求,并决定应该调用哪个模型来进行处理;然后模型根据用户请求进行相应的业务逻辑处理,并返回数据;最后控制器调用相应的视图来格式化模型返回的数据,并通过视图呈现给用户。在当今的网站开发标准中,给出了两种使用JSP的方式,它们分别为模式一和模式二。模式一是JSP+JavaBean的结合,模式二是JSP+JavaBean+Servlet的结合。模式一(JSP+JavaBean)在该模式下,JSP页面独自相应请求并将处理结果返回给客户。而所有的数据通过Bean来处理,JSP实现页面的表现。模式一技术实现了页面表现和商业逻辑的分离,但是在使用该模式时会导致在页面里嵌入大量的Java控制代码,因此在大型的项目中,使用该模式时会导致页面维护困难。模式二(JSP+JavaBean+Servlet)该模式是一种把JSP与servlets联合使用来实现动态内容服务的方法。它吸取了两种技术各自的突出优点,用JSP生成表达层的内容,让servlets完成深层次的处理任务。在这里,servlets充当控制者的角色,负责管理对请求的处理,创建JSP页需要使用的bean和对象,同时根据用户的动作决定把那个JSP页传给请求者。特别要注意,在JSP页内没有处理逻辑;它仅负责检索原先由servlets创建的对象或beans,从servlet中提取动态内容插入静态模板。在我看来,这是一种有代表性的方法,它清晰地分离了表达和内容,明确了角色的定义以及开发者与网页设计者的分工。在这个交易平台中我采用的是模式一,即JSP+JavaBean的模式对整个系统进行设计开发的。3.5.4、UML概述UML(统一建模语言)是一种定义良好、易于表达、功能强大且普遍适用的建模语言。它不仅统一了Booch、Rumbaugh和Jacobson的表示方法,而且对其作了进一步的发展,并最终统一为大众所接受的标准建模语言。UML融合了Booch、OMT和OOSE方法中的基本概念,而且这些基本概念与其他面向对象技术中的基本概念大多相同,因而,UML必然成为这些方法以及其他方法的使用者乐于采用的一种简单一致的建模语言;其次,UML不仅仅是上述方法的简单汇合,而是在这些方法的基础上广泛征求意见,集众家之长,几经修改而完成的,UML扩展了现有方法的应用范围;第三,UML是标准的建模语言,而不是标准的开发过程。尽管UML的应用必然以系统的开发过程为背景,但由于不同的组织和不同的应用领域,需要采取不同的开发过程。作为一种建模语言,UML的定义包括UML语