jsp526网上商城ssh论文_第1页
jsp526网上商城ssh论文_第2页
jsp526网上商城ssh论文_第3页
jsp526网上商城ssh论文_第4页
jsp526网上商城ssh论文_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

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

文档简介

中北大学信息商务学院2015届毕业设计说明书毕业设计说明书网上商城系统的设计与实现题目用一号黑体字,一行排不下可排两行,居中。11060641X0811060641X08康云丽康云丽信息商务学院信息商务学院学生姓名:11060641X0811060641X08康云丽康云丽信息商务学院信息商务学院电子与计算机科学技术系电子与计算机科学技术系学院:电子与计算机科学技术系电子与计算机科学技术系网络工程计算机科学与技术系名:网络工程计算机科学与技术甄磊杨喜旺甄磊专甄磊杨喜旺甄磊指导教师:2015年5月网上商城系统的设计与实现摘要一直以来我国的经济、科技都在不断的发展,人们的生活水平也都不断的提高。人们的生活消费方式也在不断的变化着。拿购物来说,现代的人们也都追赶时髦开始了网购。网络商家的竞争也是如火如荼的进行着。本设计根据现有的网上购物现状而设计开发的网上商城系统的设计与实现。通过这个系统不但可以扩大商家的规模和市场影响力,同时可以减少企业的经营成本,提高工作效率,也方便了消费者购物。现代化的网购形式和以往传统的购物方式相比具有极其强大的优势。由于电脑的普及,家家户户都有了电脑可以上网,这就使得网上购物在人们的生活中传播的更快了,越来越多的人喜欢甚至习惯了网上购物所带来的方便性、快捷性,在节省时间的同时也可以货比三家,比比质量、比比价格,买到更放心更便宜的商品。网上购物不仅方便了广大用户,同时也可以大大提高了商家商品的交易效率,为商家节省了不必要的人员开支,节省了时间,同时还可以通过网站留言和买家用户沟通,达到更好的服务效果。所以,此系统开发后必将会受到越来越多用户及商家的好评,将会有越来越多的商家应用此系统,系统必将获得迅速的发展,具有实际意义。本文以网上商城为例,阐述网上商城系统的开发与设计。系统采用java为开发语言,Jsp作为前台的页面显示,以mysql作为数据库,MyEclipse为开发工具。系统页面友好,简洁大方,通俗易懂,无论是用户还是商家都比较容易上手操作。关键词:网上商城系统的设计与实现,java,MyEclipse中北大学信息商务学院2015届毕业设计说明书DesignandimplementationofonlineshoppingsystemAbstractSinceChina'seconomy,scienceandtechnologyintheunceasingdevelopment,people'slivingstandardisimprovingconstantly.People'sconsumptionpatternsareconstantlychanging.Takeshopping;modernpeoplearecatchingupwiththeJonesesstartedonlineshopping.Thenetworkbusinesscompetitionislikearagingfireof.ThisdesignaccordingtothepresentsituationofonlineshoppingandonlinestoresystembasedonJAVAdevelopment.Throughthissystemcannotonlyexpandthebusinessscaleandmarketinfluence,andcanreducetheoperatingcostsofenterprises,improveworkefficiency,butalsoconvenientforshopping.Themodernformofonlineshoppingandtraditionalshoppingwayhasextremelystrongadvantage.Asthepopularityofcomputer,eachandeveryfamilyhasacomputer,cantheInternet,fasterwhichmakesonlineshoppingspreadinpeople'slife,moreandmorepeoplelikeevenusedconvenient,fastonlineshoppingbrings,savingintimealsocangoodsthanthree,thanquality,thanprice,buymoreatthecheapergoods.Onlineshoppingisnotonlyconvenientforusers,butalsocangreatlyimprovetheefficiencyofbusinesstransactions,saveunnecessarypersonnelcostsforbusinesses,savingtime,alsocanbethroughthewebsitemessageandbuyerstousercommunication,toachievebetterserviceeffect.Therefore,thissystemwillbemoreandmoreusersandmerchantsofpraise,therewillbemoreandmoreapplicationbusinessofthissystem,andsystemwillgetrapiddevelopment,practicalsignificance.SinceChina'sentryintotheWTO,moreandmoretraditionalenterprisestofurtherrecognizetheinevitabletrendofeconomicdevelopmentoftheenterpriseisbasedonnetwork,globalizationasthemaincharacteristic.Ande-commerceenterpriseshavebecomeanecessaryconditionforenterprisedevelopmentinlinewithinternationalstandards.Overtheyears,thestateattachesgreatimportancetotheinformationconstructionofenterprises,andhasdonealotofwork,butatpresenttheenterprisebegantoimplementtheinformationshareislessthan20%.Sothecosmeticssalessystemisaveryurgentdemand.Inthispaper,onlinestoresalesforexample,describethedevelopmentanddesignofonlineshopsalessystem.SystemusesJavaasthedevelopmentlanguage,Jspasafrontpagedisplay,toMySQLasadatabaseandMyEclipseasthedevelopmenttool.Thesystempagefriendly,simpleandgenerous,easytounderstand,eithertheuserorthebusinessesarerelativelyeasytouseinoperation.Keywords:Designandimplementationofonlineshoppingsystem,java,MyEclipse 第Ⅰ页共Ⅱ页目录1绪论 11.1课题背景 11.2目的与意义 11.3课题研究主要内容 21.3.1管理员功能 21.3.2用户功能 21.4国内外现状 22需求分析 32.1业务流程分析 32.2功能需求分析 32.3数据需求分析 42.4数据字典分析 52.5系统E-R图 72.6关键技术介绍 112.6.1java技术介绍 112.6.2tomcat介绍 132.6.3mysql简介 133系统设计 153.1系统概要设计 153.1.1系统结构图 153.1.2功能层次图 153.2功能模块设计 153.2.1购物车功能模块设计 153.2.2管理员添加商品模块设计 163.3页面设计 173.3.1后台页面设计 173.3.2前台页面设计 18第Ⅱ页共Ⅱ页4系统实现 194.1数据库连接的实现 194.2功能模块实现 194.2.1用户注册功能模块实现 194.2.2商品查看模块实现 214.3页面实现 234.3.1用户登录页面实现 234.3.2购物车页面实现 244.3.3查看订单页面实现 264.3.4留言板页面实现 284.3.5修改个人信息页面实现 304.3.6商品管理页面实现 314.3.7后台订单处理实现 335系统测试 365.1测试原理 365.2测试结果分析 366结论 37参考文献 38致谢 39第36页共39页1绪论1.1课题背景目前,网络正以一种前所未有的冲击力在影响着人类的活动,包括人类的生产和日常生活。网络的诞生和发展,颠覆了传统的信息传播方式,冲破了存在于传统交流方式中时间和空间的种种壁垒,极大地改变了人类从物质到精神、从形式到内容、从生产到生活的各种活动,并且给人类带来了新的机遇和挑战。互联网已日益成为收集提供信息的最佳渠道并逐步进入传统的流通领域。于是电子商务开始流行起来,越来越多的商家在网上建起在线商店,向消费者展示出一种新颖的购物理念。网络的快速发展为网上商城的迅速发展提供了强大的推动力,同时,由于国家的重视,网上购物的环境也已经逐步得到了改善,相对于安全,以及市场运作的规范和相应政策法规的完善。网上购物对网民的吸引力将会越来越大,人们足不出户就可以买到自己心仪的商品,而且网上的价格都是比实际价格便宜的,很受网民的喜爱。随着我国网购事业的发展,人们对购物网站的看法也变得越来越接受了。人们从怀疑到信任,不了解到十分了解,从否定到肯定,从拒绝到欣然接受,使得网上购物的观念将更加深入人心。本系统是网上商城系统的设计与实现,开发前我调查研究了很多网上商城的网站,总结了很多优点与缺点,在充分研究的基础上开发的本系统。希望本系统开发后会带给人们更多的方便,得到更多的人的认可。1.2目的与意义网络购物是未来购物发展的必然。针对此种情况,我们需要设计开发出功能强大,费用低廉,通用性强,适合我国国情的购物网站系统是很有必要的,这是本系统开发的目的。有了这个系统可以为企业提供营销的解决方案,是为企业量身定制购物管理系统,提供第三方的销售平台,帮助企业进行信息处理和软硬件的日常维护。这类服务商在行业上与享用服务者没有竞争关系和业务冲突。除了免去了开发研究所耗费的时间和支出,在短时间内即可享受电子商务给企业发展带来的收益以外,零售企业不必再为大笔的人力、财力、物力投入而伤脑筋,也不必为日后的软硬件维护、升级而担忧。租用这种第三方平台无需高额的前期投入,在使用过程中,也只需定期交纳一定的服务费用。这样开展电子商务,仅需企业很少的投入,就可以给企业带来很大的收益,也是十分符合目前我国零售企业特点的。具有现实意义。1.3课题研究主要内容本课题研究网上商城系统的设计与实现,网上商城系统从功能上划分为会员和管理员两种用户。在系统实现上最重要的就是信息的交互,这点是由需求分析和可行性分析直接决定的,必须做好商品销售的及时性,准确性及真实性,并由管理员亲自监督和管理,及时对不按规则录入的信息进行及时的审查和删除。1.3.1管理员功能网站的管理人员可以随时的添加商品,及时添加商品的种类,可以随意的修改商品价格,设置特价等,减少了不必要的人力投入、节约了开支,提高了经济效益。后台管理员主要实现对注册用户的管理、订单的管理、商品的管理、留言管理、网站信息等管理。1.3.2用户功能会员功能主要提供给系统的会员使用,包括会员的注册、登录,添加购物车,查看订单、留言等。1.4国内外现状与强劲的网络购物需求相比,我国受到计算机软硬件基础比较薄弱,技术水平比较低下,系统开发人员十分紧缺等不利因素的影响,现有购物网站系统普遍存在着功能比较单一,维护比较复杂,通用性又不强等问题,有的购物网站甚至直接采用静态网页发布商品信息。所有这些,已经严重制约了我国电子商务的发展。在开发过程中,我们应该根据实际的需要来使用最合适的技术,本系统则采用较新的Jsp技术,一方面Jsp的安全性和跨平台性比较好,另一方面,我也希望能从开发该系统的过程中,深入学习一下这门编程语言。电子商务的出现和发展,商品流通领域将面临全方位的深刻变革,美国等经济发达国家正在抓紧推进的电子商务革命,将对中国商品流通领域和整个经济发展带来种种影响,确实值得我们认真研究。2需求分析在开发系统前需求分析是十分重要的,只有详细的进行需求分析才能更好的了解所需开发的内容,才能更好的为客户服务。需求分析的好坏直接影响着系统开发的成败,所以需求分析至关重要。2.1业务流程分析系统的活动图是可以明确的表达出系统工作的流程。系统的业务用例工作流程说明了业务为向所服务的业务主角提供其所需的价值而必须完成的工作,如图2.1所示:图2.1系统的活动图2.2功能需求分析系统中详细的用例图如图2.2,图2.3所示:图2.2用户(会员)用例图图2.3管理员用例图2.3数据需求分析在系统软件开发与设计过程中,概念设计作为整个数据库设计的关键,主要任务是通过系统软件需求分析所得到的资源,构建一个不依赖于具体机器的概念模型。数据库概念设计是对现实世界的概括与抽象,反映现实世界中事物与事物之间的联系,并通过E-R关系图进行呈现。数据概念结构模型-实体关系图(E-R图):描述数据对象及数据对象之间的关系,如图2.4所示:图2.4网上商城系统的设计与实现的ER图2.4数据字典分析数据字典是对所有与系统相关的数据元素的一个有组织的列表和精确的、严格的定义,根据前面对网站各个权限用户模块的功能分析和对数据库中实体关系的设计,可以看到网站中所用到的数据信息基本包括:管理员、会员、商品、订单等。本系统的主要数据字典如表2.1,表2.2,表2.3,表2.4,表2.5,表2.6,表2.7,表2.8,表2.9所示:表2.1数据字典管理员示例名称数据类型长度备注IDint4主键AdminTypeint4管理员类型AdminNamechar12真实姓名LoginNamechar12帐号LoginPwdchar12密码表2.2数据字典购物车示例名称数据类型长度备注IDint4主键Memberint4会员idMoneydecimal9金额CartStatusint4购物车状态表2.3数据字典购物车记录示例名称数据类型长度备注IDint4主键Cartint4购物车Merchandiseint4商品idNumberint4数量Pricedecimal8价格Moneydecimal9会员价表2.4数据字典商品类别示例名称数据类型长度备注IDint4主键CateNamechar40商品类别CateDesctext0商品描述表2.5数据字典留言示例名称数据类型长度备注IDint4主键Memberint4会员Titlechar60留言标题Contenttext0留言内容LeaveDatedatetime0留言时间AnswerContenttext0回复内容AnswerDatedatetime0回复日期表2.6数据字典会员示例名称数据类型长度备注IDint4主键Memberlevelint4会员级别LoginNamechar12登录账号LoginPwdchar12密码MemberNamechar20真实姓名Phonechar15联系电话Addressvarchar100联系地址Zipchar10邮政编码RegDatedatetime0注册日期LastDatedatetime0最后登录日期LoginTimesint4登录次数EMailvarchar100电子邮箱表2.7数据字典会员等级示例名称数据类型长度备注IDint4主键LevelNamechar20会员级别Favourableint4折扣额度表2.8数据字典商品示例名称数据类型长度备注IDint4主键Categoryint4类别idMerNamechar40商品名称Pricedecimal8市场价SPricedecimal8特价MerModelchar40商品型号Picturevarchar100商品图片MerDesctext0商品描述Manufacturerchar60生产厂家LeaveFactoryDatedatetime0出厂日期Specialint4有无特价表2.9数据字典订单示例名称数据类型长度备注IDint4主键Memberint4会员Cartint4购物车OrderNOchar20订单编号OrderDatedatetime0下单日期OrderStatusint4订单状态2.5系统E-R图针对本系统特点,数据库设计采用的各个组成部分的数据项和数据结构。(1)admin管理员实体图,如图2.5所示:图2.5管理员实体图(2)cart购物车实体图,如图2.6所示:图2.6购物车实体图(3)cartselectedme购物车记录实体图,所图2.7所示:图2.7购物车记录实体图(4)category商品类别实体图,如图2.8所示:图2.8商品类别实体图(5)leaveword留言实体图,如图2.9所示:图2.9留言实体图(6)member会员实体图,如图2.10所示:图2.10会员实体图(7)memberlevel会员等级实体图,如图2.11所示:图2.11会员等级实体图(8)merchandise商品实体图,如图2.12所示:图2.12商品实体图(9)orders订单实体图,如图2.13所示:图2.13订单实体图关键技术介绍2.6.1java技术介绍Java是一种简单的,面向对象的,分布式的,解释性的,健壮的,安全的,结构的中立的,可移植的,性能优异的,多线程的,动态的语言。它有以下特点[3]:1.平台无关性平台无关性是指Java能运行于不同的平台。Java引进虚拟机概念,Java虚拟机(JavaVirtualMachine)是建立在硬件和操的作系统软件之上,用于实现Java二进制代码的解释执行功能,为不同平台提供统一的Java接口,这使得Java应用程序可以跨平台运行,非常适合网络应用。2.安全性Java的编程类似C++,学习过C++的读者将很快掌握Java的精髓。Java舍弃了C++的指针对存储器地址的直接操作,程序运行时,内存由操作系统软件分配,这样可以避的免病毒通过指针侵入系统软件。Java对程序提供了安全管理器,防止程序的非法访问。3.面向对象Java吸取了C++面向对象的概念,将数据封装于类中,利用类的优点,实现了程序的简洁性和便于维护性。类的封装性、继承性等有关对象的优点,使程序代码只需一次编译,然后通过上述优点反复利用。程序员只需把主要精力用在类和接口的设计和应用上。Java提供了众多的对象类,通过继承即可使用父类的方法。在Java中,类的继承关系是单一的、非多重的,一个子类只有一个父类,子类的父类又有一个父类。Java提供的Object类及其子类的继承关系如同一棵倒立的树形,根类为Object类,Object类功能强大,经常会使用到它及其它派生的子类。4.分布式Java建立在扩展TCP/IP网络平台上。库函数提供了用HTTP和FTP协议传送和接受资源的方法。这使得程序员使用网络上的文件和使用本机文件一样容易。5.键壮性Java致力于检查程序在编译和运行时的错误。类型检查帮助检查出许多开发早期出现的错误。Java自己操纵内存减少了内存出错的可能性。Java还实现了真数组,避免了覆盖数据的可能。这些功能特征大大提高了开发Java应用程序的周期。Java提供:Null指针检测、数组边界检测、异常出口、Bytecode校验。2.6.2tomcat介绍Tomcat是一个轻量级应用服务器,随着java的流行,其在web上的应用也越来越广,tomcat作为一个开源的Servlet容器,应用前景越来越广。Tomcat很受广大程序员的喜欢,因为它运行时占用的系统软件资源小,使用Tomcat可以体验JSP和Servlet的最新规范。经过多年的发展,使得Tomcat不仅是JSP和Servlet规范的标准实现,而且具备了很多商业JavaServlet容器的优点;而且它还在不断的改进和完善中,任何一个感兴趣的程序员都可以更改它或在其中加入新的功能。J2EE技术的基础地方就是核心Java平台或J2EE平台的标准版,J2EE不仅巩固了标准版中的许多优点,例如“编写一次、随处运行”的优点、方便存取数据库的JDBCAPI、CORBA技术以及能够在Internet应用中保护数据的安全模式等等,同时还提供了对EJB(EnterpriseJavaBeans)、JavaServletAPI、JSP(JavaServerPages)以及XML技术的全面支持。其最终目的就是成为一个能够使企业及个体开发者大幅缩短投放挨个市场时间的体系结构。J2EE体系结构提供中间层集成框架用来满足无需太多费用而又需要高可用性、高可靠性以及可扩展性的应用需求。通过提供统一的开发平台,J2EE降低了开发多层应用的费用和复杂性,同时提供对现有应用程序集成强有力支持,完全支持EnterpriseJavaBeans,有良好的向导支持和部署应用,添加目录支持,增强了安全机制,提高了性能。Tomcat最初是由Sun的软件构架师詹姆斯·邓肯·戴维森开发的。后来他帮助将其变为开源项目,并由Sun贡献给Apache软件基金会。由于大部分开源项目O'Reilly都会出一本相关的书,并且将其封面设计成某个动物的素描,因此他希望将此项目以一个动物的名字命名。因为他希望这种动物放哪都能够自己照顾自己,最终,他将其命名为Tomcat(英语公猫或其他雄性猫科动物)。2.6.3mysql简介MySQL是一个关系型数据库管理系统软件,由瑞典MySQLAB企业开发,目前属于Oracle企业。MySQL是一种关联数据库管理系统,关联数据库就是将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。MySQL的SQL语言是用于访问数据库的最常用标准化语言。MySQL软件采用是了双授权政策,它分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其就是开放源码这一特点,一般网站的开发都选择MySQL作为网站数据库。由于其社区版的性能卓越,搭配PHP和Apache可组成良好的开发环境。与其他的大型数据库例如Oracle、DB2、SQLServer等相比,MySQL自有它的不足之处,如规模小、功能有限(MySQLCluster的功能和效率都相对比较差)等,但是这丝毫也没有减少它受欢迎的程度。对于一般的个体使用者和企业及个体来说,MySQL提供的功能已经绰绰有余,而且由于MySQL是开放源码软件,因此可以大大降低总体拥有成本。JDBC技术:本平台系统软件采用JDBC技术才实现数据库的连接,执行数据库操作,并结合JNDI的数据源对数据库的连接进行优化。JDBC是JAVA提供的数据库编程的API,方便Java程序操作的数据库所提供的Java标准接口和类,通过此API,Java程序可以访问不同类型的数据库,并执行建立数据库连接、执行数据库的操作等。JDBC中,具有主要功能的类包括:1)DriverManager,用来产生Driver对象;2)Driver,对应某一特定的数据库驱动的程序对象,通过DriverManager.GetDriver(StringURL)获得;3)Connection,数据库的连接对象,通过DriverManager.GetConnection(StringURL)获得;4)Statement,执行的数据库的操作SQL语句对象,主要包含Statement、PreparedStatement、CallableStatement,通过Connection实例获得;5)Result,数据库的操作返回的结果集合对象,通过对应的Statement实例执行execute()获得。JDBC执行步骤如下:1.加载数据库驱动程序;2.通过DriverManager创建数据库连接Connection;3.通过Connection执行SQL语句;4.获得执行结果集ResultSet;5.对结果集进行逻辑处理;6.关闭相应的数据源及数据库连接。3系统设计3.1系统概要设计系统软件设计阶段的主要任务是在需求分析的基础上,确定系统软件的模块层次结构、数据库结构和模块的控制流程等,明确系统软件该“如何做”。该阶段要遵循易用性、业务完整性、业务规范化和扩展性等设计原则[8]。3.1.1系统结构图系统的体系结构图是根据上述的分析如何共享系统数据、怎样布局、如何交互等设计的,分层体系结构图如图3.1所示:图3.1某网站分层体系结构图3.1.2功能层次图在一个系统中一定要有合理的功能模块的划分,这样才能够极大限度地减少不必要的重复劳动、提高开发人员的工作效率,同时在后期的使用中也可以增大系统的可维护性。系统的功能层次图,如图3.2所示:系统功能系统功能系统功能系统功能用户用户管理员管理员我的购物车留言板查看订单修改个人信息用户注册用户登录网站简介商品搜索特价商品管理特价商品管理会员管理会员订单管理会员订单管理管理员管理管理员登录商品类别管理商品类别管理商品管理退出3.2功能模块设计3.2.1购物车功能模块设计会员登录系统后看到自己喜欢的商品可以添加购物车,添加后也可以从购物车删除商品,然后继续挑选商品;可以在购物车中直接修改数量,还可以修改购物车中某个商品的数量,统计商品总金额。如图3.3所示:购物车功能模块购物车功能模块购物车功能模块继续购物继续购物确认订单信息确认订单信息删除商品删除商品清空购物车清空购物车修改订购数量修改订购数量提交订单提交订单图3.3购物车功能模块图图3.3购物车功能模块图添加购物车添加购物车3.2.2管理员添加商品模块设计管理员可以在后台添加商品,添加后可以修改或是删除,添加商品流程图如下图3.4所示:添加商品添加商品添加商品提示:sorry,请输入内容提示:sorry,请输入内容添加添加成功成功失败失败提示:添加成功提示:添加成功图3.4添加商品流程图顺序图可以显示多个对象之间的动态协作,如图3.5所示。图3.5网上商城系统的设计与实现顺序图3.3页面设计3.3.1后台页面设计管理员在后台管理商品信息、商品类别、特价商品管理、会员订单管理、会员管理等,其具体的模块结构图如下图3.6所示:后台管理后台管理后台管理接收后台管理要求接收后台管理要求根据后台管理要求根据后台管理要求类别管理管理类别管理管理商品管理商品管理留言管理留言管理会员订单管理会员订单管理会员管理会员管理管理员管理管理员管理图3.6后台总结构图3.3.2前台页面设计在系统前台中用户可以注册、登录、浏览搜索商品信息、查看商品类别、网站简介、添加购物车、查看订单、修改个人资料等,具体的前台模块结构图如图3.7所示:前台管理前台管理前台管理接收前台管理要求接收前台管理要求根据前台管理要求根据前台管理要求用户注册用户注册用户登录用户登录商品搜索商品搜索购物车购物车查看订单管理查看订单管理修改信息修改信息留言板留言板商品类别商品类别图3.7前台总体结构图4系统实现4.1数据库连接的实现本系统软件的开发所使用的数据库为MySQL。MySQL是一种关联数据库管理系统软件,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就提高了速度并提高了灵活性。MySQL的SQL语言是用于访问数据库的最常用标准化语言。功能模块实现4.2.1用户注册功能模块实现用户必须先注册成为本站的会员才可以在系统中预定商品、留言等操作,注册时只要填写真实姓名、用户名、密码、联系电话、地址、邮编等信息即可完成注册,具体实现页面如图4.1所示:图4.1用户注册页面其用户注册流程图如下图4.2所示:开开始开始否否是是是是结束结束接收注册信息接收注册信息数据是否为空数据是否为空两次密码是否一致两次密码是否一致查询数据库查询数据库用户名是否被占用用户名是否被占用是是否否否否注册成功注册成功注册失败注册失败图4.2用户注册流程图代码如下: //用户注册操作 /**新增注册会员*/ publicbooleanaddMember(Membermember)throwsException{ Sessionsession=MySessionFactory.getSession(); Transactiontx=null; booleanresult=false; try{ tx=session.beginTransaction(); session.save(member); mit(); result=true; }catch(Exceptionex){ if(tx!=null)tx.rollback(); ("在执行MemServiceImpl类中的addMember方法时出错:\n"); ex.printStackTrace(); }finally{ MySessionFactory.closeSession(); } returnresult; }4.2.2商品查看模块实现用户登录后可以搜索并查看网站内的所有商品的详情,如商品名称、图片、市场价、是否特价,并可以购买等,具体如图4.3所示:图4.3查看商品页面流程图如图4.4所示:开开始开始结束结束接收查看信息接收查看信息数据是否为空数据是否为空是是数据插入数据库数据插入数据库否否查看是否成功查看是否成功是是否否查看商品失败查看商品失败查看成功查看成功图4.4查看商品流程图代码如下://商品信息列表 /**浏览商品*/ publicListbrowseMer(Stringhql)throwsException{ Sessionsession=MySessionFactory.getSession(); Transactiontx=null; Listlist=null; try{ Queryquery=session.createQuery(hql); tx=session.beginTransaction(); list=query.list(); mit(); if(!Hibernate.isInitialized(list))Hibernate.initialize(list); }catch(Exceptionex){ if(tx!=null)tx.rollback(); ("在执行MerServiceImpl类中的browseMer方法时出错:\n"); ex.printStackTrace(); }finally{ MySessionFactory.closeSession(); } returnlist; };页面实现4.3.1用户登录页面实现用户登录后才可以在系统中预定商品,留言信息,页面如下图4.5所示:图4.5用户登录界面代码如下: //用户登录操作 /** *Methodexecute *@parammapping *@paramform *@paramrequest *@paramresponse *@returnActionForward */publicActionForwardlogin(ActionMappingmapping,ActionFormform, HttpServletRequestrequest,HttpServletResponseresponse){ MemLoginFormmemLoginForm=(MemLoginForm)form; MemServiceservice=newMemServiceImpl(); ActionForwardforward=null; ActionMessagesmsgs=newActionMessages(); try{ Membermem=service.memLogin(memLoginForm.getLoginName(),memLoginForm.getLoginPwd()); if(mem!=null){ request.getSession().setAttribute("member",mem); forward=newActionForward("/mer.do?method=browseIndexMer"); }else{ forward=mapping.getInputForward(); msgs.add("loginError",newActionMessage(Constants.ADMIN_LOGINERROR_KEY)); saveErrors(request,msgs); }}catch(Exceptionex){ ("在执行LoginAction类中的login方法时出错:\n"); ex.printStackTrace();} returnforward; }4.3.2购物车页面实现用户看到自己喜欢的商品可以添加购物车,可以在购物车中修改预定数量、继续挑选商品或是删除预定、生成订单,具体如图4.6所示:图4.6购物车页面代码如下://购物车列表publicActionForwardbrowseCart(ActionMappingmapping,ActionFormform,HttpServletRequestrequest,HttpServletResponseresponse){ActionForwardforward=null;CartServicecartService=newCartServiceImpl();MerServicemerService=newMerServiceImpl(); Maprow=null;Listresult=null;doublemoney=0;try{ DecimalFormatdf=newDecimalFormat(".##"); //判断会员是否已成功登录 Membermem=(Member)request.getSession().getAttribute("member"); if(mem==null){ forward=mapping.findForward("memSorry"); }else{ Listtmp=cartService.browseCart(mem); if(tmp!=null&&tmp.size()>0){ result=newArrayList(); Iteratorit=tmp.iterator(); Cartselectedmersel=null; Merchandisemer=null; while(it.hasNext()){ row=newHashMap(); sel=(Cartselectedmer)it.next(); mer=merService.loadMer(sel.getMerchandise()); row.put("merId",mer.getId()); row.put("selId",sel.getId()); row.put("merName",mer.getMerName().trim()); row.put("memprice",Double.valueOf(df.format(sel.getPrice()))); row.put("price",Double.valueOf(df.format(mer.getPrice()))); row.put("number",sel.getNumber()); row.put("money",sel.getMoney()); money=money+sel.getMoney().doubleValue(); result.add(row);}request.setAttribute("result",result); request.setAttribute("totalMoney",Double.valueOf(df.format(money))); }forward=mapping.findForward("browseCart");} }catch(Exceptionex){ ("在执行CartAction类中的browseCart方法时出错:\n");ex.printStackTrace();}returnforward;}4.3.3查看订单页面实现用户添加购物车后如果没有想要购买的商品后可以选择结账生成订单,然后可以在查看订单中查看预定详情,订单状态等,如图4.7所示:图4.7订单页面代码如下: //我的订单信息列表 /** *Methodexecute *@parammapping *@paramform *@paramrequest *@paramresponse *@returnActionForward */ publicActionForwardbrowseOrder(ActionMappingmapping,ActionFormform,HttpServletRequestrequest,HttpServletResponseresponse){ ActionForwardforward=null; OrderServiceservice=newOrderServiceImpl(); Listresult=null; try{ //判断会员是否已成功登录 Membermem=(Member)request.getSession().getAttribute("member"); if(mem==null){ forward=mapping.findForward("memSorry"); }else{ result=service.browseOrder(mem); if(result!=null&&result.size()>0)request.setAttribute("result",result); forward=mapping.findForward("browseOrder"); } }catch(Exceptionex){ ("在执行OrderAction类中的browseOrder方法时出错:\n"); ex.printStackTrace(); } returnforward; }4.3.4留言板页面实现用户预定后可以填写对所购买商品的留言信息,如图4.8所示:图4.8留言页面代码如下://我的留言信息列表/**分页浏览所有留言*/publicListbrowseWord(intpageSize,intpageNo)throwsException{Sessionsession=MySessionFactory.getSession();Transactiontx=null;Listlist=null;try{Queryquery=session.createQuery("fromLeavewordasaorderbya.iddesc"); query.setMaxResults(pageSize); query.setFirstResult((pageNo-1)*pageSize);tx=session.beginTransaction(); list=query.list(); mit(); if(!Hibernate.isInitialized(list))Hibernate.initialize(list);}catch(Exceptionex){ if(tx!=null)tx.rollback(); ("在执行WordServiceImpl类中的browseWord方法时出错:\n"); ex.printStackTrace(); }finally{ MySessionFactory.closeSession(); } returnlist; }4.3.5修改个人信息页面实现用户登录后可以修改个人信息,如图4.9所示:图4.9修改个人信息页面代码如下: /**修改注册会员*/ publicbooleanupdateMember(Membermember)throwsException{ Sessionsession=MySessionFactory.getSession(); Transactiontx=null; booleanresult=false; try{ tx=session.beginTransaction(); session.update(member); mit(); result=true; }catch(Exceptionex){ if(tx!=null)tx.rollback(); ("在执行MemServiceImpl类中的updateMember方法时出错:\n"); ex.printStackTrace(); }finally{ MySessionFactory.closeSession(); } returnresult; }4.3.6商品管理页面实现管理员可以添加商品信息,如商品名称、价格、上传图片,修改或是删除,同时可以导出表格等操作,如图4.10所示: 图4.10商品管理页面代码如下://商品信息列表 /**分页浏览商品*/ publicListbrowseMer(intpageSize,intpageNo,intcateId,booleanisSpecial)throwsException{ Sessionsession=MySessionFactory.getSession(); Transactiontx=null; Listlist=null; try{ Stringhql="fromMerchandiseasa"; if(isSpecial){ //特价商品 hql=hql+"wherea.special=1"; }else{//普通商品 hql=hql+"wherea.special=0"; } if(cateId!=0){//指定类别 hql=hql+"anda.category.id="+cateId; } hql=hql+"orderbya.iddesc"; Queryquery=session.createQuery(hql); query.setMaxResults(pageSize); query.setFirstResult((pageNo-1)*pageSize); tx=session.beginTransaction(); list=query.list(); mit(); if(!Hibernate.isInitialized(list))Hibernate.initialize(list); }catch(Exceptionex){ if(tx!=null)tx.rollback(); ("在执行MerServiceImpl类中的browseMer方法时出错:\n"); ex.printStackTrace(); }finally{ MySessionFactory.closeSession(); } returnlist; }4.3.7后台订单处理实现管理员在后台可以查看商品的销售情况,在此处可以查看订单、处理订单或是删除订单,如图4.11所示:图4.11会员订单管理页面代码如下: publicActionForwardviewOrder(ActionMappingmapping,ActionFormform,HttpServletRequestrequest,HttpServletResponseresponse){ OrderServiceservice=newOrderServiceImpl(); MerServicemerService=newMerServiceImpl(); Maprow=null; Listresult=null; Ordersorder=null; Integerid=newInteger(0); if(request.getParameter("id")!=null)id=newInteger(request.getParameter("id")); try{ order=service.loadOrder(id); if(order!=null){ Listtmp=service.browseOrderMer(order.getCart()); if(tmp!=null&&tmp.size()>0){ result=newArrayList(); Iteratorit=tmp.iterator(); Cartselectedmersel=null; Merchandisemer=null; while(it.hasNext()){ row=newHashMap(); sel=(Cartselectedmer)it.next(); mer=merService.loadMer(sel.getMerchandise()); row.put("merName",mer.getMerName().trim()); row.put("memprice",sel.getPrice()); row.put("price",mer.getPrice()); row.put("number",sel.getNumber()); row.put("money",sel.getMoney()); result.add(row); } request.setAttribute("result",result); } request.setAttribute("order",order); } }catch(Exceptionex){ ("在执行AdminOrderAction类中的viewOrder方法时出错:\n"); ex.printStackTrace(); } returnmapping.findForward("viewOrder"); }以上是系统中主要页面的介绍。5系统测试5.1测试原理主要技术指标是基于测量系统软件任务、软件功能和性能的综合测评的发展。该原则的基本理论测试,软件测试,测试方法和实际应用试验是测试原理方法得到的[9]。基于相似性的应遵循一般原则和软件测试的方法。同时,针对软件的优点,必须找到合适的测试方法。测试用例进行测试和评估软件的合理性起着关键的作用,但如何使设计,合理,有效的用例通常都是不容易的。所以应该用软件以及最终开发的、有针对性的实际操作环境和描述研究,形成一套是合理的测试案例。另一方面,在软件运行环境的复杂性中起着软件评估的重要作用,因此,应以便利的现实背景研究尽可能运行。5.2测试结果分析程序员要尽量避免自己编写的程序出现错误;测试用例的设计必须包括预期的输出结果;测试应包括有效的输入条件和期望、无效的和不得人心的输入条件;所有的试验应追溯到用户的需求,所有测试活动都要有计划,该计划可以保证程序顺利。检查程序只完成了一半这个测试应该做的,而另一半做检查程序是否是不应该做的;在错误概率的一个程序中的错误的数量,该计划已被发现是成正比的;测试上必须有明确的目标;

温馨提示

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

评论

0/150

提交评论