




已阅读5页,还剩61页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要电子商务指利用简单、快捷、低成本的电子通讯方式,买卖双方通过网络进行各种商贸活动的一种商业交易模式。随着互联网的发展,以及人们消费观念和生活方式的改变,这种新型的商业模式逐渐融入了人们的生活中。通过企业的门户网站,人们可以足不出户的寻找自己所需的物品,通过对不同虚拟商城的访问,“顾客”可以找出性价比最高的商品,自己有极大地选择空间,通过下订单,你可以很快得到自己想要的物品,这给顾客节省很多时间和精力,对于厂家来说,可以极大的降低库存风险,根据客户需要,按需生产和采购,大大的提高了效益。本次毕业设计的题目就是设计并且实现一个基于WEB技术的在线电子产品交易门户网站。本系统主要以J2EE作为开发基础,使用了STRUTSHIBERNATEMYSQL等多种协议或技术,以MACROMEDIA公司的DREAMWEAVER作为开发工具和界面美化工具。在功能方面也基本实现了电子门户网站应有的几个基本功能模块包括管理员的登录,管理和维护;用户注册、登录、注销,个人信息的查询、修改;商品管理,购物车管理,订单管理,用户反馈;该系统界面简单、操作容易,容易维护。关键词J2EE;STRUTS;HIBERNATE;DREAMWEAVER;MYSQL;TOMCAT;ABSTRACTECOMMERCEISANEWBUSINESSTRANSACTION,WHICHBOTHBUYERSANDSELLERSTHROUGHASIMPLE,FAST,LOWCOSTELECTRONICMEANSOFCOMMUNICATIONMETHODALONGWITHTHEDEVELOPMENTOFTHEINTERNET,ANDPEOPLESCONSUMPTIONANDTHEWAYOFLIFECHANGES,THISNEWBUSINESSMODELGRADUALLYINTEGRATEINTOPEOPLESLIVESTHROUGHTHEDIFFERENTVIRTUALMALLVISIT,PEOPLECANFINDTHEMOSTCOSTEFFECTIVEPRODUCTSWITHNOTGOOUT,ANDTHEYHAVEMUNCHSELFCHOICETHROUGHORDERS,PEOPLECANFINDTHETHINGSWHICHTHEYNEEDED,ANDQUICKLYGETTHEPRODUCTSWHICHTHEYORDEREDTHISNEWBUSINESSMODLECANSAVEALOTOFTIMEANDENERGYFORBOTHCUSTORMERSANDMANUFACTURERS,ANDGREATLYREDUCEINVENTORYRISKTHEMANUFACTURESCANPRODUCEANDPROCUREACCORDINGTOCUSTOMERNEEDS,THISWASCALLEDONDEMANDPRODUCTIONANDPROCUREMENTWHICHGREATLYIMPROVEDTHEEFFICIENCYTHISSUBJECTOFTHISGRADUATIONPROJECTISDESIGNINGAWEBBASEDTECHNOLOGYOFELECTRONICPRODUCTSONLINETRADINGPORTALTHISSYSTEMISMAINLYTOJ2EEASABASISFORTHEDEVELOPMENT,ANDALSOUSETHESTRUTSHIBERNATEMYSQLTECHNOLOGIESANDOTHERORDERSTHISPROJECTUSEMACROMEDIASDREAMWEAVERASTHEDEVELOPMENTTOOLSANDINTERFACESLANDSCAPINGTOOLSTHEBASICFUNCTIONOFTHEREALIZATIONELECTRONICPORTALSHOULDHAVEAFEWBASICMODULESINCLUDEADMINISTRATORLOGIN,MANAGEMENTANDMAINTENANCEUSERSTOREGISTER,LOGIN,WRITEOFFS,PERSONALINFORMATIONENQUIRIES,AMENDMENTSTOTHECOMMODITYMANAGEMENT,THEMANAGEMENTCART,ORDERMANAGEMENT,THEUSERFEEDBACKINTERFACEOFTHESYSTEMSIMPLE,EASYTOUSE,EASYTOMAINTAINKEYWORDSJ2EE;STRUTS;HIBERNATE;MYSQL;TOMCAT;摘要IABSTRACTII1绪论12开发环境及开发工具的介绍221关于WEB222关于J2EE2231J2EE的问世2232J2EE的优势3233J2EE的发展324关于STRUTS3241STRUTS简介3242STRUTS的主要功能3243STRUTS工作原理325MYSQL数据库5251MYSQL的定义5252MYSQL的安装和配置526TOMCAT服务器7261TOMCAT服务器简介7262TOMCAT的特点7263TOMCA的优势7263TOMCAT服务器的安装和配置827HTML语言简介10271HTML语言的定义10272HTML语言的特点113HIBERNATE数据库编程1231为什么引入HIBERNATE1232使用HIBERNATE的好处1233HIBERNATE的工作原理124电子产品交易系统需求分析1441系统界面要求1442电子产品交易系统的模块划分1443电子产品交易系统角色及其功能分1444电子产品交易系统功能分析145电子产品交易系统总体设计1651设计思想概述1652数据库部分1653数据库表的ER图1954系统的类设计2655系统的用例图2756系统的业务流程286电子产品交易系统的详细设计3061电子产品交易系统模块的划分3062电子产品交易系统部分主要模块流程及的具体实现30621购物车管理模块30622后台部分3763电子产品交易系统的测试44总结45致谢46参考文献47附录一英文资料原文48附录二英文资料译文581绪论在INTERNET飞速发展的今天,互联网成为人们快速获取、发布和传递信息的重要渠道,它在人们政治、经济、生活等各个方面发挥着重要的作用。INTERNET上发布信息主要是通过WEB系统来实现的,随着社会的发展,信息受到人们的重视和关注,人们对WEB系统的关注和要求也越来越多,互联网已完全融入到人们的生活中,深深地影响了人们的生活,改变了人们的生活方式,一个比较具有代表性的例子,人们不用为了买一个手机而跑遍全市所有的数码卖场,只有鼠标轻轻的点击,通过几分钟的网上冲浪,在轻松惬意之间一切就搞定,只需在家等着送货员把货送来就行了,十分方便,现在又无法统计的电子交易网站,它们的界面十分友好,流程清晰,你不必担心自己是个新手而不知如何购物,越来越多的人们有过网上购物的经历,但人们对于一个电子门会网站是如何构建的可能都十分陌生,通过这次毕业设计,我将细致的分析如何在基于J2EE协议,运用HIBERNATE,STRUTS,MYSQL等技术实现一个电子门户网站的。这次设计,成功地实现了一个电子门户网站所必需的几个功能,例如用户模块用户可以登陆一个网站,可以进行注册,修改个人信息,可以讲自己需要的东西放入购物车生成订单,系统可以保存用户的信息,保存订单,并且用户还可以在网站上留言,系统管理员可以管理用户的留言,可以处理用户的订单,并且可以管理用户,在管理员模块中,设有超级管理员和普通管理员,管理员的权限不同,超级管理员可以管理普通管理员的权限,在系统中,购物车是临时生成的,并不保存在数据库中,只有用户确认购买后才生成订单后才将订单保存。2开发环境及开发工具的介绍21关于WEBWEB是一组原则互联网作为平台,利用集体智慧,数据,没有软件发布周期,轻量级编程,软件超越单一设备,丰富的用户体验WEB的主要特点就是用户可以通过浏览器从WEB系统上获取信息,用户既是WEB系统的消费者(信息获取者),同时也是这个系统的内容制造者。WEB的主要特点就是用户可以通过浏览器从WEB系统上获取信息,而在WEB20中,用户的角色则被提高到了一个不同的位置,它更加重视用户的交互作用,用户既是WEB系统的消费者(信息获取者),同时也是这个系统的内容制造者。22关于J2EEJ2EEJAVA2PLATFORMENTERPRISEEDITION是使用JAVA技术开发企业级应用的一种事实上的工业标准SUN公司出于其自身利益的考虑,至今没有将JAVA及其相关技术纳入标准化组织的体系,它是JAVA技术不断适应和促进企业级应用过程的产物。目前,JAVA平台有三个版本适用于小型设备和智能卡的J2MEJAVA2PLATFORMMICROEDITION、适用于桌面系统的J2SE(JAVA2PLATFORMSTANDARDEDITION)和适用于企业级应用的J2EEJAVA2PLATFORMENTERPRISEEDITION。231J2EE的问世SUN推出J2EE的目的是为了克服传统CLIENT/SERVER模式的弊病,迎合BROWSER/SERVER架构的潮流,为应用JAVA技术开发服务器端应用提供一个平台独立的、可移植的、多用户的、安全的和基于标准的企业级平台,从而简化企业应用的开发、管理和部署。J2EE是一个标准,而不是一个现成的产品。各个平台开发商J2EE规范分别开发了不同的J2EE应用服务器,J2EE应用服务器是J2EE企业级应用的部署平台。由于它们都遵循了J2EE规范,因此,使用J2EE技术开发的企业级应用可以部署在各种J2EE应用服务器上。为了推广并规范化使用J2EE架构企业级应用的体系架构,SUN同时给出了一个建议性的J2EE应用设计模型J2EEBLUEPRINTS。J2EEBLUEPRINTS提供了实施J2EE企业级应用的体系架构、设计模式和相关的代码,通过应用J2EEBLUEPRINTS所描述的体系模型,能够部分简化架构企业级应用这项复杂的工作。J2EEBLUEPRINTS是开发人员设计和优化J2EE组件的基本原则,同时为围绕开发工作进行职能分工给出了指导性策略,以帮助应用开发设计人员合理地分配技术资源。232J2EE的优势主要有以下几点1高效的开发2持续性服务3支持异构环境4可伸缩性5稳定的可用性233J2EE的发展为了推广并规范化使用J2EE架构企业级应用的体系架构,SUN同时给出了一个建议性的J2EE应用设计模型J2EEBLUEPRINTS。J2EEBLUEPRINTS提供了实施J2EE企业级应用的体系架构、设计模式和相关的代码,通过应用J2EEBLUEPRINTS所描述的体系模型,能够部分简化架构企业级应用这项复杂的工作。24关于STRUTS241STRUTS简介STRUTS已逐步越来越多运用于商业软件,是一种非常优秀的J2EEMVC实现方式。STRUTS用JAVASERVLET/JAVASERVERPAGES技术,开发WEB应用程序的开放源码的FRAMEWORK。242STRUTS的主要功能1包含一个CONTROLLERSERVLET,能将用户的请求发送到相应的ACTION对象。2JSP自由TAG库,并且在CONTROLLERSERVLET中提供关联支持,帮助开发员创建交互式表单应用。3提供了一系列实用对象XML处理、通过JAVAREFLECTIONAPIS自动处理JAVABEANS属性、国际化的提示和消息。STRUTS项目的目标是为创建JAVAWEB应用提供一个开放源代FRAMEWORK。STRUTSFRAMEWORK的内核是基于例如JAVASERVLETS,JAVABEANS,RESOURCEBUNDLES,和XML,以及各种JAKARTACOMMONS包的标准技术的灵活的控制层。STRUTS提供了它自身的控制器组件,并整合了其他技术,以提供模型和视图。STRUTS已逐步越来越多运用于商业软件,是一种非常优秀的J2EEMVC实现方式。243STRUTS工作原理MVC即MODELVIEWCONTROLLER的缩写,是一种常用的设计模式。MVC减弱了业务逻辑接口和数据接口之间的耦合,以及让视图层更富于变化,MVC可以让整个逻辑很清晰,这种思想和思维和人的思维很接近,很容易被理解。MVC的工作原理如图21所示图21STRUTS是MVC的一种实现,它将SERVLET和JSP标记(属于J2EE规范)用作实现的一部分。STRUTS继承了MVC的各项特性,并根据J2EE的特点,做了相应的变化与扩展。STRUTS的工作原理,如图22所示图221CONTROLLER在XML文件STRUTSCONFIGXML中,与之相关联的是CONTROLLER,在STRUTS中,承担MVC中CONTROLLER角色的是一个SERVLET,叫ACTIONSERVLET。ACTIONSERVLET是一个通用的控制组件。这个控制组件提供了处理所有发送到STRUTS的HTTP请求的入口点。它截取和分发这些请求到相应的动作类(这些动作类都是ACTION类的子类)。另外控制组件也负责用相应的请求参数填充ACTIONFROM(通常称之为FROMBEAN),并传给动作类(通常称之为ACTIONBEAN)。动作类实现核心商业逻辑,它可以访问JAVABEAN或调用EJB。最后动作类把控制权传给后续的JSP文件,后者生成视图。所有这些控制逻辑利用STRUTSCONFIGXML文件来配置。2视图主要由JSP生成页面完成视图,STRUTS提供丰富的JSP标签库HTML,BEAN,LOGIC,TEMPLATE等,这有利于分开表现逻辑和程序逻辑。3模型模型以一个或多个JAVABEAN的形式存在。这些BEAN分为三类ACTIONFORM、ACTION、JAVABEANOREJB。ACTIONFORM通常称之为FORMBEAN,封装了来自于CLIENT的用户请求信息,如表单信息。ACTION通常称之为ACTIONBEAN,获取从ACTIONSEVLET传来的FORMBEAN,取出FORMBEAN中的相关信息,并做出相关的处理,一般是调用JAVABEAN或EJB等。25MYSQL数据库数据库(DATABASE)是一系列信息资源的集合。在一个数据库中,与一个项目有关的所有信息都可以叫做一条记录RECORD。每一条记录都是由一系列的字段FIELD组成的。一系列记录的集合就构成了数据表格TABLE。对于一个简单的“平面文件”的数据库来说,它仅包含了一个数据表格,而对一个“关系型”数据库来说,它却包含两个或两个以上的数据表格,表格的各字段之间存在这一种或多种关系(有时可以把这种关系叫做“链接”)。251MYSQL的定义MYSQL是一种开放源代码的关系型数据库管理系统(RDBMS),MYSQL数据库系统使用最常用的数据库管理语言结构化查询语言(SQL)进行数据库管理。由于MYSQL是开放源代码的,因此任何人都可以在GENERALPUBLICLICENSE的许可下下载并根据个性化的需要对其进行修改。MYSQL因为其速度、可靠性和适应性而备受关注。大多数人都认为在不需要事务化处理的情况下,MYSQL是管理内容最好的选择。它使用系统核心提供的多线程机制提供完全的多线程运行模式,提供了面向C、C、EIFFEL、JAVA、PERL、PHP、PYTHON以及TCL等编程语言的编程接口(APIS),支持多种字段类型并且提供了完整的操作符支持查询中的SELECT和WHERE操作。252MYSQL的安装和配置以下是部分截图图23安装时一般采用默认路径图24图25为了支持中文,在下面的列表框中学者JB2312切记图2626TOMCAT服务器261TOMCAT服务器简介TOMCAT是一个免费的开源的SERLVET容器,它是APACHE基金会的JAKARTA项目中的一个核心项目,由APACHE,SUN和其它一些公司及个人共同开发而成。由于有了SUN的参与和支持,最新的SERVLET和JSP规范总能在TOMCAT中得到体现。TOMCAT中采用了SERVLET容器CATALINA,完整的实现了SERVLET23和JSP12规范。TOMCAT提供了各种平台的版本供下载,可以从其官方网站上下载其源代码版或者二进制版。由于JAVA的跨平台特性,基于JAVA的TOMCAT也具有跨平台性。262TOMCAT的特点在TOMCAT中,应用程序的部署很简单,你只需将你的WAR放到TOMCAT的WEBAPP目录下,TOMCAT会自动检测到这个文件,并将其解压。你在浏览器中访问这个应用的JSP时,通常第一次会很慢,因为TOMCAT要将JSP转化为SERVLET文件,然后编译。编译以后,访问将会很快。另外TOMCAT也提供了一个应用MANAGER,访问这个应用需要用户名和密码,用户名和密码存储在一个XML文件中。通过这个应用,辅助于FTP,你可以在远程通过WEB部署和撤销应用。当然本地也可以。263TOMCA的优势TOMCAT不仅仅是一个SERVLET容器,它也具有传统的WEB服务器的功能处理HTML页面。但是与APACHE相比,它的处理静态HTML的能力就不如APACHE我们可以将TOMCAT和APACHE集成到一块,让APACHE处理静态HTML,而TOMCAT处理JSP和SERVLET这种集成只需要修改一下APACHE和TOMCAT的配置文件即可。263TOMCAT服务器的安装和配置在开始安装之前,先准备J2SDK和TOMCAT两个软件,如果已经安装了J2SDK,就只需TOMCAT即可。变量名CATALINA_HOME变量值DTOMCAT50另外可再增加一个环境变量变量名CLASSPATH变量值JAVA_HOMELIBDTJARJAVA_HOMELIBTOOLJARJAVA_HOMELIBTOOLSJARCATALINA_HOMECOMMONLIBSERVLETAPIJARCATALINA_HOMECOMMONLIBJSPAPIJAR安装J2SDK设置环境变量,方法如下右击“我的电脑”属性高级环境变量新建变量名JAVA_HOME变量值DJ2SDK142_04安装TOMCAT运行JAKARTATOMCAT5028EXE按照提示安装,图27图28图29安装完成后,打开TOMCAT服务器,启动浏览器,在地址栏上输入HTTP/LOCALHOST8080/若出现以下界面说明安装成功。图21027HTML语言简介271HTML语言的定义HTMLHYPERTEXTMARKUPLANGUAGE超文本标记语言是一种用来制作超文本文档的简单标记语言。用HTML编写的超文本文档称为HTML文档,它能独立于各种操作系统平台如UNIX,WINDOWS等)HTML语言是通过利用各种标记TAGS来标识文档的结构以及标识超链接HYPERLINK的信息。虽然HTML语言描述了文档的结构格式,但并不能精确地定义文档信息必须如何显示和排列,而只是建议WEB浏览器如MOSIAC,NETSCAPE等应该如何显示和排列这些信息,最终在用户面前的显示结果取决于WEB浏览器本身的显示风格及其对标记的解释能力。这就是为什么同一文档在不同的浏览器中展示的效果会不一样。HTML标记语法和文档结构272HTML语言的特点HTML的标记总是封装在由小于号()构成的一对尖括号之中。1单标记某些标记称为“单标记”,因为它只需单独使用就能完整地表达意思,这类标记的语法是;最常用的单标记是,它表示一个段落(PARAGRAPH)的结束,并在段落后面加一空行。2双标记另一类标记称为“双标记”,它由“始标记”和“尾标记”两部分构成,必须成对使用,其中始标记告诉WEB浏览器从此处开始执行该标记所表示的功能,而尾标记告诉WEB浏览器在这里结束该功能。始标记前加一个斜杠(/)即成为尾标记。这类标记的语法是内容;其中“内容”部分就是要被这对标记施加作用的部分。例如你想突出对某段文字的显示,就将此段文字放在一对标记中TEXTTOEMPHASIZE3标记属性许多单标记和双标记的始标记内可以包含一些属性,其语法是4文档结构除了一些个别的标记外,HTML文档的标记都可嵌套使用。通常由三对标记来构成一个HTML文档的骨架,它们是头部信息文档主体,正文部分其中在最外层,表示这对标记间的内容是HTML文档。之间包括文档的头部信息,如文档总标题等,若不需头部信息则可省略此标记。我们还会看到一些HOMEPAGE省略标记,因为HTML或HTM文件被WEB浏览器默认为是HTML文档。标记一般不省略,表示正文内容的开始。3HIBERNATE数据库编程31为什么引入HIBERNATE在B/S项目的开发中,和数据库的交互式不可避免的,J2EE的规范中提供了JDBC的接口来操作数据库,对于JDBC,开发人员可以获取数据库连接,然后向数据库发送SQL语句,并返回数据库操作的结果集,然后封装成对象返回给上层的应用程序。这就造成开发人员不但要求能够编写程序,熟悉业务逻辑,还要求开发人员同时能够担任DBA,对开发人员的要求很高;同时,当引入新的项目时,很多地方必须废弃,因为我们的代码中不光是业务逻辑,其中也嵌入了许多和底层有关的一些SQL代码;另外这些嵌入在代码中的SQL语句也影响了我们程序的可测试性,我们在对代码进行调试的时候,既要测试代码,同时我们还要测试SQL语句。为了解决这些问题,引入了HIBERNATE32使用HIBERNATE的好处1、HIBERNATE是JDBC的轻量级的对象封装,它是一个独立的对象持久层框架,和APPSERVER,和EJB没有什么必然的联系。HIBERNATE可以用在任何JDBC可以使用的场合,例如JAVA应用程序的数据库访问代码,DAO接口的实现类,甚至可以是BMP(BEANMANAGEDPERSISTENCE)里面的访问数据库的代码。2、HIBERNATE是一个和JDBC密切关联的框架,所以HIBERNATE的兼容性和JDBC驱动,和数据库都有一定的关系,但是和使用它的JAVA程序,和APPLICATIONSERVER没有任何关系,也不存在兼容性问题。3、HIBERNATE不能用来直接和ENTITYBEAN做对比,只有放在整个J2EE项目的框架中才能比较。并且即使是放在软件整体框架中来看,HIBERNATE也是做为JDBC的替代者出现的,而不是ENTITYBEAN的替代者出现的。4、由于是对JDBC的轻易级封闭,内存消耗少,最快的运行效率。5、开发效率高,ECLIPSE、JBUILDER等主流JAVA集成开发环境对HIBERNATE有很好的支持,在大的项目,特别是持久层关系映射很复杂的情况下,HIBERNATE效率高的惊人。6、分布式,安全检查,集群,负载均衡的支持。33HIBERNATE的工作原理HIBERNATE的工作就是为OBJECT和RALATIONAL之间提供一个映射,其工作流程如下面的图所示。图311启动HIBERNATE,如果在系统中添加HIBERNATE的支持,此处加载由系统自动完成。2读取HIBERNATECFGXML或者HIBERNATEPROPERTIES文件的配置信息,并将其加载为实例。3构建SESSIONFACTORY实例(包含二级缓存)。4从SESSIONFACTORY中取得SESSION对象,从而可以调用其方法,对数据库进行操作,实现ORM的功能。HIBERNATE可以通过一个XML的MAPPING文件把一个POJO(PLAINOLDJAVAOBJECT)和数据库中的表对应起来,在这个XML文件(一般命名为HBMXML)中,我们可以配置好OBJECT和数据库中标的映射关系,然后把这个MAPPING加入到HIBERNATECFGXML中,这样HIBERNATE在启动时就可以加载这些MAPPING,并可以根据配置文件对对象实现自动的加载,并且可以对这些OBJECT实习自动的维护。HIBERNATE还提供查询语句(HQL)供应用程序使用,HIBERNATE对数据访问实现封装,还可以对查询语句的发送实现管理,达到优化的目的,能够有效减少数据库的访问频率。4电子产品交易系统需求分析41系统界面要求系统的初始界面门户首页,列出当前商品列表,用户可以浏览和检索商品但不能做其他操作,当用户注册后从新登陆后就可以进行购物,用户登录流程如图所示42电子产品交易系统的模块划分本系统实现了一个电子门户网站所具有的基本功能,包括用户注册、用户登录、查找商品、提交订单购买商品,个人资料修改、提交留言,管理员的登录,管理员管理操作等。43电子产品交易系统角色及其功能分电子产品交易系统应具有4个角色1注册用户2超级管理员(3)普通管理员4普通的网站浏览者(即游客)44电子产品交易系统功能分析1、普通管理员应该具有的功能1产品管理包括网数据库中增加商品,修改商品的价格,数量,状态等属性2对用户的管理包括添加新用户、修改用户密码、删除用户(3)对用户订单的管理,进行发货,确认订单有效性(4)对用户留言的管理。2、超级管理员应具有的功能超级管理员可以管理普通管理员,其权限最高,除了具有普通管理员的用户管理,订单管理以外还有管理普通管理员的权限。3、普通用户网站的普通浏览者(即游客)只能浏览商品。4、注册应具有的功能普通浏览者只要注册为网站用户后,获得自己的帐号,设置自己的密码就具有以下功能登录,登出,向购物车中添加商品,生成并提交订单。添加或修改个人明细资料。5电子产品交易系统总体设计51设计思想概述本电子产品交易系统是基于B/S架构下的多层结构应用系统。在此系统中每个软件都有自身的特点,因此不可能提供一个适用于所有软件的结构体系。总的来说,采用分层结构的设计思想,可以让每个层由一组相关的类或组件构成,共同完成特定的功能。层与层之间存在自上而下的依赖关系,上层组件会依赖下层组件的API,而下层组件则不依赖于上层组件。例如表述层依赖于业务逻辑层,而业务逻辑层依赖于数据库层。并且每个层对对上层公开API,但具体的实现细节对外透明。当某一层发生变化,只要API不变,不会影响其他层的实现。如图下图图51/在数据库层,该系统使用开源的MYSQL数据库,持久层用到HIBERNATE技术,业务逻辑层用普通JAVABEAN实现,表述层运用基于STRUTS的MVC设计模式。52数据库部分1E_ORDER表用来保存客户的订单信息,设计出E_ORDER表如表52E_ORDER列名类型长度描述ORDERIDINT11订单IDTOTALPRICENUMBER16总价钱ORDERSTATENUMBER1订单状态PAYINFODATE付款方式CREATETIMEDATE创建日期USERIDVARCHAR220用户IDUSER_ITEM_IDNUMBER8用户明细ID图522E_ORDER_ITEM表用来保存客户订单中的订单项信息,设计出E_ORDER_ITEM表如表53E_ORDER_ITEM列名类型长度描述ORDER_ITEM_IDNUMBER16订单条目IDPRODUCTIDNUMBER16商品对象IDORDERIDVARCHAR220订单对象IDQUALITYNUMBER8数量NUMNUMBER8商品数量图533E_USER表用来保存用户个人信息,设计出E_USER表如表图54E_USER列名类型长度描述USER_IDINT11用户IDUSERNAMEVARCHAR30用户NAMEPASSWORDVARCHAR15用户密码图544E_USER_ITEM表用来保存用户个人明细,设计出E_USER_ITEM表如表图55E_USER_ITEM列名类型长度描述USER_ITEM_IDINT11用户IDITEM_NAMEVARCHAR30用户NAMEITEM_ADDRESSVARCHAR15用户密码ITEM_POSTCODEVARCHAR20邮编ITEM_OFFICEPHVARCHAR50办公室电话ITEM_MOBILEPHVARCHAR20手机ITEM_EMAILVARCHAR20电邮USERIDINT12用户ID图555E_PRODUCT表用来保存商品,设计出E_PRODUCT表如表图56E_PRODUCT列名类型长度描述PRODUCTIDINT11产品MODLEVARCHAR30产品型号NAMEVARCHAR15品牌名COMPANYVARCHAR20出品公司WEIGHTDOUBLE50产品重量PRICEDOUBLE20价格STATEVARCHAR20产品状态CREATETIMEDATE出厂日期CATALOGIDINT10产品类型DESCRIPTIONVARCHAR1000产品描述图566E_CATALOG表用来保存商品类型,设计出E_CATALOG表如表图57E_CATALOG列名类型长度描述CATALOGIDINT11类型IDCAATLOGNAMEVARCHAR30类型名DESCRIPTIONVARCHAR100描述图577E_MODULE表用来保存权限信息,设计出E_MODULE表如表图58E_MODULE列名类型长度描述MODULE_IDINT11权限IDMODULE_NAMEVARCHAR30权限名图588E_ADMIN表用来保存管理员,设计出E_ADMIN表如表图59E_ADMIN列名类型长度描述ADMIN_IDINT11类型IDADMIN_NAMEVARCHAR30类型名PASSWORDVARCHAR100描述TELVARCHAR20电话EMAILVARCHAR20电邮图599E_ADMIN_RIGHTS表用来保存管理员权限,设计出E_ADMIN_RIGHT表如表图510E_ADMIN列名类型长度描述ADMIN_IDINT11管理员IDMOD_IDINT30权限ID53数据库表的ER图USER表保存了用户的基本信息姓名NAME和密码PASSWORD,其子表由E_USER_ITEM用户明细,USER和USER_ITEM的关系是一对多,一个用户可以有多个明细,将用户的电话地址等信息放在明细表中。图511其建表语句如下CREATETABLEE_USERUSERIDINT11NOTNULLAUTO_INCREMENT,USERNAMEVARCHAR30NOTNULL,PASSWORDVARCHAR15DEFAULTNULL,PRIMARYKEYUSERIDDEFAULTCHARACTERSETUTF8下面是用户明细表的ER图,图512对应建表语句如下CREATETABLEE_USER_ITEMUSER_ITEM_IDINT11NOTNULLAUTO_INCREMENT,ITEM_NAMEVARCHAR30DEFAULTNULL,ITEM_ADDRESSVARCHAR100DEFAULTNULL,ITEM_POSTCODEVARCHAR10DEFAULTNULL,ITEM_OFFICEPHONEVARCHAR50DEFAULTNULL,ITEM_MOBILEPHONEVARCHAR20DEFAULTNULL,ITEM_EMAILVARCHAR50DEFAULTNULL,USERIDINT12NOTNULL,PRIMARYKEYUSER_ITEM_ID,KEYUSERIDUSERIDDEFAULTCHARACTERSETUTF8商品是由类型的,如数码产品由电脑,手机,MP3等,其作为PRODUCT类的父表,故设计E_CATALOG如下图513CREATETABLEE_CATALOGCATALOGIDINT11NOTNULLAUTO_INCREMENT,CATALOGNAMEVARCHAR100NOTNULL,DESCRIPTIONVARCHAR100DEFAULTNULL,PRIMARYKEYCATALOGIDDEFAULTCHARACTERSETUTF8E_ADMIN表用来保存管理员,管理员信息主要有姓名ADMINNAME,密码PASSWORD,电话TEL,邮箱EMAIL管理员的权限是通过一个中间表E_ADM_RIGHTS实现的,图514ADMIN的见表语句如下CREATETABLEE_ADMINADMIN_IDINTEGERAUTO_INCREMENT,ADMIN_NAMEVARCHAR32,PASSWORDVARCHAR32,TELVARCHAR32,EMAILVARCHAR32,PRIMARYKEYADMIN_IDDEFAULTCHARACTERSETUTF8权限表,用来保存权限,它不直接和管理员联系,而是通过中间表E_ADM_RIGHTS,这样最大限度地做到解耦合。图515其建表语句如下CREATETABLEE_MODULEMODULE_IDINTEGERAUTO_INCREMENT,MODULE_NAMEVARCHAR32,PRIMARYKEYMODULE_IDDEFAULTCHARACTERSETUTF8中间表E_ADMIN_RIGHTS表用来保存管理员的权限,图516建表语句CREATETABLEE_ADM_RIGHTSADM_IDINTEGERREFERENCESE_ADMINADMIN_ID,MOD_IDINTEGERREFERENCESE_MODULEMODULE_ID,PRIMARYKEYADM_ID,MOD_IDE_ORDER表用来保存用户的订单,主要属性有ORDERID订单ID,ORDERSTATE订单状态,PAYINFO付款方式,USER_ITEM_ID(订单所对应的用户明细的ID,USERID订单所对应的用户的ID。图517ORDER表的见表语句如下CREATETABLEE_ORDERORDERIDINT11NOTNULLAUTO_INCREMENT,TOTALPRICEDOUBLEDEFAULT0,ORDERSTATEINT11DEFAULT0,PAYINFOINT11DEFAULTNULL,CREATETIMEDATEDEFAULTNULL,USERIDINT11NOTNULL,USER_ITEM_IDINT11NOTNULL,PRIMARYKEYORDERID,KEYUSER_ITEM_IDUSER_ITEM_ID,KEYUSERIDUSERIDDEFAULTCHARACTERSETUTF8(以上代码创建表R_ORDER,该表主要用来保存一个订单,并且引用用户表主键,用户名细表主键为外键,与USER和USER_ITEM表为一对多的关系)在实际运用中一个ORDER对应多个ORDER_ITEMS,设计ORDER_ITEM如下图518其建表语句如下CREATETABLEE_ORDER_ITEMORDER_ITEM_IDINT11NOTNULLAUTO_INCREMENT,PRODUCTIDINT11NOTNULL,ORDERIDINT11NOTNULL,QUALITYINT11NOTNULL,PRIMARYKEYORDER_ITEM_ID,KEYPRODUCTIDPRODUCTID,KEYORDERIDORDERIDDEFAULTCHARACTERSETUTF8产品表保存了产品的详细信息,设计如下图519以下是其建表语句CREATETABLEE_PRODUCTPRODUCTIDINT10NOTNULLAUTO_INCREMENT,MODULEVARCHAR50NOTNULL,NAMEVARCHAR100DEFAULTNULL,COMPANYVARCHAR50DEFAULTNULL,PRICEDOUBLEDEFAULTNULL,WEIGHTINT4DEFAULTNULL,CATALOGIDINT10NOTNULL,DESCRIPTIONVARCHAR1500DEFAULTNULL,IMAGEPATHVARCHAR100DEFAULTNULL,CREATETIMEDATEDEFAULTNULL,STATEINT2DEFAULT0,PRIMARYKEYPRODUCTID,KEYCATALOGIDCATALOGIDDEFAULTCHARACTERSETUTF8最后介绍一下MESSAGE表,它保存了用户的留言信息。图520见表语句如下CREATETABLEE_MESSAGEMESSAGEIDINTEGERAUTO_INCREMENT,USERIDINT11TILEVARCHAR32,CONTENTVARCHAR32,CREATEDATEDATEDEFAULTNULL,PRIMARYKEYMESSAGEID54系统的类设计这是类的关系图从类关系图上可以看到一个用户可以有多个明细(主要保存了用户收货地址,用户电话,用户邮箱等)在生成订单时,选择其中一条用户明细保存到订单中去,订单有多个订单项组成,订单订单项与产品关联,订单项保存了产品,订购数量,该订单条目总价格。用户可以对应多个留言类。产品和产品类型类关联,一个产品只能有一种类型,类型类是产品类的父类。在这个类关系图中,管理员类没有列出来,管理员类和权限类通过中间类(即管理员权限类)衔接在一起。管理员可以管理用户,产品,留言,和普通管理员。图521上图是表与表之间的关系图,图中反映出类之间的依赖关系。55系统的用例图通过这张用户的用例图,我们可以看到用户所能做的业务,用户可以登录和退出系统,用户还可以注册为网站的会员成为注册用户,用户登陆以后可以修改个人信息,可以增加用户明细。关于产品操作方面,用户无论注册与否都可以浏览和检索产品,若用户登陆以后就可以将产品放入购入购物车中,进而生成订单。用户可以管理自己的购物车,可以在购物车中增加或删除商品,还可以修改放入购物车中的商品的数量等,当用户决定购买后,购物车中的商品被提交到订单项中,用户在确认订单之前还可以修改订单条目,比如返回购物车修改订购产品数量,增删所修改产品等,还可以选择或添加收货地址,可以选择付款方式,当用户确认无误后,这些信息将被提交到数据库中,订单即被生成。用户还可以在网站上留言。图522这张是管理员的用例图,通过这张图我们可以看到,管理员登陆系统后可以进行管理员管理,用户管理,产品管理,订单管理,留言管理等,这都是对超级管理员而言,管理员是有权限之分的,超级管理员可以添加普通管理员,可以修改普通管理员信息,比如修改普通管理员的权限密码等,特定全线的管理员只能至星期对应权限的操作,比如一个知具有用户管理权限的管理员就不能操作产品管理。对于一个超级管理员,他具有最大权限,在管理员管理中,它可以对普通管理员进行增删改查,在用户管理中,它可以修改用户的个人资料,可以将某个用户删除等,当然也可以查看用户列表,在订单管理中,管理员可以查看订单列表,处理用户提交的订单。留言管理模块,管理员可以讲用户的留言删除。图52356系统的业务流程图524图525图5266电子产品交易系统的详细设计61电子产品交易系统模块的划分在本次设计中,本人完成以下模块的设计购物车模块管理员模块产品管理62电子产品交易系统部分主要模块流程及的具体实现621购物车管理模块购物车管理模块主要功能有如下几个部分1、创建购物车当客户访问客户端,并且进入登录界面进行登录操作时,这时会系统会给客户创建一个购物车放入服务器的SESSION会话中。使客户在整个会话中都拥有一个相同的购物车。这里主要运用了HTTP协议中的会话机制,将购物车保存在客户的会话中,这样在整个客户游览不同页面商品的过程中,都会使用同一个购物车对象。具体执行步骤1从客户的请求对象中获取SESSION会话对象2从会话对象中获取购物车对象3判断是购物车对象是不是空的,如果是空是就创建一个/在监听到SESSION被创建之后,就立即向SESSION中添加一个购物车CAR;/PUBLICVOIDSESSIONCREATEDHTTPSESSIONEVENTARG0HTTPSESSIONSESSIONARG0GETSESSIONCARTCARTNEWCARTSESSIONSETATTRIBUTE“CART“,CART/从SESSION中获得购物车/CARTCARTCARTSESSIONGETATTRIBUTE“CART“IFCARTNULLCARTNEWCART2、向购物车中添加一个商品项图61客户在查看网页上的一个商品时,当向服务器发送一个“添加到购物车”的请求时,会执行这个功能。功能执行过程1从客户请求对象中获取商品的ID2调用业务层的方法根据商品ID去数据查询商品的信息,返回商品对象3从商品对象中获取商品名,商品价格,来构建一个商品项对象4从SESSION会话中获取购物车对象5调用业务层的方法来根据购物车对象和商品项对象来执行添加操作6将些商品项对象放入到购物车中功能流程图图62部分实现代码/从数据库中把商品取到;/PRODUCTSERVICEPRODUCTSERVICEPRODUCTSERVICESERVICEFACTORYGETINSTANCEGETSERVICEGLOBALSPRODUCT_SERVICEINTEGERIDINTEGERPARSEINTREQUESTGETPARAMETER“PRODUCTID“PRODUCTPRODUCTPRODUCTSERVICEGETPRODUCTBYIDID/在向购物车中添加商品的时候会判断商品是否已经存在,已存在的就不让在加入了;/IFCARTISEXISTIDMESSAGE“该商品已经存在请返回“REQUESTSETATTRIBUTE“MESSAGE“,MESSAGERETURNMAPPINGFINDFORWARD“ERROR“ELSE/向购物车添加一个商品;/CARTADDCARTPRODUCTSESSIONSETATTRIBUTE“CART“,CARTRETURNMAPPINGFINDFORWARD“ADDCARTSUCCESS“3、修改购物车中一个商品项图63在客户查看购物车时,想修改自己的购买商品时,会执行这个功能。由于商品的名称和价格都是系统管理人员设置的,所以客户都不可以修改,客户只能修改他/她所购买商品的数量。修改所选购的商品数量时,相应的商品项的小计和购物车的总计都会保持实时的更新。功能的执行步骤1将ACTIONFORM转换为ITEMFORM对象2从ITEMFORM对象中获取商品ID3从SESSION会话中获取购物车对象4根据商品ID去调用业务层的方法去修改商品项5修改小计6将些商品项对象放入到购物车中功能流程图图64部分实现代码PRODUCTIDINTEGERPARSEINTREQUESTGETPARAMETER“PRODUCTID“INTNUMINTEGERPARSEINTREQUESTGETPARAMETER“NUM“HTTPSESSIONSESSIONREQUESTGETSESSIONCARTCARTCARTSESSIONGETATTRIBUTE“CART“CARTMODIFYNUMPRODUCTID,NUM4、查看购物车图65客户选取了所有的商品后,来向服务器发送“购物车”请求时,会执行此功能,系统根据会话中的购物车中的商品项,来获取客户所选选商品的一个集合,在JSP页面上对这个集合中的商品项进行显示。功能的执行步骤1从客户的请求对象中获取购物车对象2从购物车对象中获取所有的商品项3将所有的商品项对象加载到请求对象中发送给客户端功
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 魔术师安全知识培训课件
- 高速防滑防冻安全知识培训课件
- 高速监控业务知识培训课件
- 电芯质量培训知识课件
- 高职课件教学课件
- 第4课《观沧海》课件-2025-2026学年统编版语文七年级上册
- 第8课《世说新语二则-咏雪》课件+2025-2026学年统编版语文七年级上册
- 电网专业知识培训课件
- 电线电缆维护知识培训课件
- 电站考核知识培训内容课件
- 2025年中国漂白水洗猪鬃市场调查研究报告
- 工艺报警值管理制度
- 社团外聘教师管理制度
- 征兵心理测试题及答案
- 高温中暑急救教学
- 模块十 轴测图的基本知识(课件)-中职高考《机械制图》一轮复习(高教版第5版)
- DB13-T 6050-2025 学校社会工作服务规范
- 红火蚂蚁咬伤急救
- 再回首二部合唱简谱金巍
- 广西南宁市三中2025届高三第二次模拟考试英语试卷含解析
- 五年级体育课教案全集
评论
0/150
提交评论