版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
毕业论文(设计)网上购物系统院系:信息科学与技术学院专业:计算机科学与技术班级:学号:姓名:导师:20年4月25日定稿网上购物系统摘要随着经济不断的发展,尤其是中国经济的快速发展。购物已经成为人们生活中不可缺少的一部分,网上购物也逐渐成为了现代人不可缺少的一部分,尤其是在年轻人中。人们依靠网络,实现在网上购物,足不出户就可以买到自己称心如意的商品,不但节约了大量的时间,而且比一般的商品店还便宜。本系统实现了在网上查看物品信息,购买物品,以及查询自己购买物品信息的功能。可以让顾客只要登录网站,就可以买到自己心仪的商品。本系统实现的功能是:客户打开网站,登录或者注册,浏览网站上的商品信息,选择自己心仪的物品,直接付款或者放入购物车。可以查看当天的购买和预定记录,或者以前购物记录。可以充值以及修改自身的信息。管理员登录该网站进入管理网站界面。可以对自身或者用户的信息进行修改,查看当天的销售记录,上架或者下架物品,查看物品信息以及物品上架信息。本系统是用myelipse8.5,tomcont6.0以及SQLServer2021数据库为主要环境来做的。通过对数据库数据的提取,修改,增加,删除功能以及对JSP页面的处理来实现本系统的界面。通过测试,本系统可以让用户很好的在网站购物以及管理员对网站的操作。关键词:购物,管理网站,销售记录ONLINESHOPPINGSYSTEMABSTRACTWiththedevelopmentofeconomy,especiallytherapiddevelopmentofChina'seconomy.Shoppinghasbecomeanindispensablepartofpeople'slife,onlineshoppinghasgraduallybecomeanindispensablepartofmodernpeople,especiallyamongyoungpeople.Peoplerelyonthenetwork,therealizationofonlineshopping,neverleavehomecanbuyyoursatisfactorygoods,notonlysavealotoftime,andshoparecheaperthannormalgoods.ThissystemhasrealizedtochecktheiteminformationontheInternet,purchaseitems,andcheckyourpurchaseiteminformationfunction.Canletthecustomeraslongasloginwebsite,canbuythedesiredproducts.Thefunctionofthissystemis:thecustomeropenthewebsite,loginorregister,browsecommodityinformationonthesite,choosetherightgoods,directpayment,orintheshoppingcart.Cancheckonthedayofthepurchaseandreservationrecord,orshoppingrecordbefore.Youcantop-upandmodifytheirowninformation.Administratorloginthewebintothemanagementwebinterface.Canmodifyitselfortheuserinformationandcheckthesalesrecord,onorofftheshelvesitems,checkthegoodsinformationandgoodsshelves.Thissystemistousemyelipse8.5,tomcont6.0andSQLServer2021databaseasthemainenvironmenttodo.Throughtothedatabasedatatoextract,modify,add,deletefunctionandthehandlingoftheJSPpagetorealizetheinterfaceofthissystem.Throughtest,thissystemallowsuserstoverygoodshoppingandthewebadministratortotheoperationofthesite.Keywords:Shopping,sitemanagement,salesrecords.目录15324第一章概述 5203121.1项目开发的背景 6111031.2项目开发的目的 7126791.3项目开发的意义 8305361.4网上购物系统现状 8267601.5系统设计的目标及基本思路 9111791.6本章小结 1016974第二章需求分析 10123362.1系统需求 1069962.2B/S系统开发介绍 1274212.3可行性 13272572.3本章小结 1430609第三章开发环境 14268343.1SQLServer2021 1481613.2myEclipse8.5 1574103.3本章小结 1714070第四章数据库设计 1834414.1关系图 18214664.2用户基本信息表UserInfo 18155534.3密码修改表UserAlterPassword 19165394.4商品基本信息表GoodsBaseInfo 20247174.5商品修改信息表GoodsAlter 2122144.6用户充值信息表UserAlterMoney 2264584.7用户订购表UserOrder 23109614.8当天用户订购表UserOrderNow 25210574.8本章小结 265316第五章网上购物系统功能模块 27313495.1主页面模块 27313965.2登录模块 28316135.3注册模块 31300045.4重新设置密码模块 33209915.5用户主页面模块 33250205.6商品购买模块 34297845.7查看当天购物记录模块 4267825.8查看历年购物记录模块 42255515.9查看用户基本信息模块 4349935.10修改用户自身基本信息模块 44257675.11充值模块 4617815.12查看充值模块 47316125.13重置密码提示问题答案模块 49300835.14当天销售状况模块 497185.15总体销售状况模块 5287655.16用户信息模块 534295.17修改用户信息模块 53120565.18物品信息模块 54299105.19物品上架模块 55261235.20物品下架模块 5514885.21查看物品上架信息模块 56236235.22查看用户充值模块 56183685.23其它模块 57184765.24本章小结 604111第六章数据库测试 60265966.1测试过程中对数据库的修改 60289536.2数据库表的测试 6114816.3本章小结 6620351第七章系统测试 66207337.1模块测试 6637917.2测试分析总结及说明 68132897.3系统的性能分析 68308757.4本章小结 6924437第八章结论 69228518.1设计过程 69146478.2可扩展性 69266108.3开发体会与收获 6930558.4本章小结 7031647参考文献 705382致谢 71第一章概述1.1项目开发的背景近年来,随着Internet的迅速发展,人们对网联网的认识逐渐增强,网上购物系统已经走进了人们的日常生活。对于企业来说,这种新型的商业运营模式给他们的发展创造了良好的机遇。对于个人来说,网上购物系统带来了方便和效率。在软件技术趋于成熟的今天,构建一个稳定的、可靠的电子商务系统已经成为许多企业关注的焦点。网上商城是在为个人用户和企业用户提供人性化的全方位服务,努力为用户创造亲切、轻松和愉悦的购物环境;不断丰富产品结构,最大化地满足消费者日趋多样的购物需求。并凭借更具竞争力的价格和逐渐完善的物流配送体系等各项势,赢得市场占有率多年稳居行业首位的骄人成绩,也是时代发展的趋势。Jsp、Java网上商城系统是比较高端的网上商城系统,其适合开发大型的网上商城业务,能承载大数据量,大访问量,并且系统具备非常高的安全性,目前电信、移动、一些大型的企业基本上都采用此类网上商城系统。一个优秀的应用系统,必须有一个正确的设计思想,通过合理地选择数据结构、操作系统以及开发环境,构成一个完善的体系结构,才能充分发挥计算机应用的优势。根据购买者的实际需求,本系统的设计按照下述原则进行。实用性:系统以用户需求为目标,以方便用户为原则,同时融入先进的设计思想。根据用户实际的需求情况,制作一个功能齐全、操作简单、实用性强,充分满足购物者的需求,真正成为为用户提供快捷、方便的工具。先进性:本系统将充分应用现有成熟的计算机技术、软件开发技术,为用户提供高性能的系统,可以方便的实现用户的需要。高可靠性:一个实用的系统同时必须是可靠的,本系统通过合理而先进的结构设计以及软、硬件的优化选型,可保证系统的可靠性与容错性。可维护性:系统的设计要求方便维护(浏览、查找等)。可扩展性及灵活性:系统的设计以方便未来业务的扩展和系统扩充为目标,系统要求能够方便的浏览,充分保护系统的投资。购买者可以根据自己的需要,灵活的浏览页面,查找所需的物品。智能性:智能化是这个系统软件的一大特色。系统在设计时,充分考虑后台的管理,方便的将产品添加到前台,将各种情况考虑清楚。1.2项目开发的目的一般说,筹办一家网上的商店投入很小,不用去办营业执照,不用去租门面,不用囤积货品,所需资金不过1500元左右;网上商店比同等规模的地面商店“租金”要低得多,同时租金不会因为营业面积的增加而增加,投资者也不用为延长营业时间而增加额外的费用。
基本不需要占压资金。传统商店的进货资金少则几千元,多则数万元,而网上商店则不需要压资金。
24小时营业时间。网上商店延长了商店的营业时间,一天24小时、一年365天不停地运作,无须专人值班看店,都可照常营业。传统店铺的营业时间一般为8-12小时,遇上坏天气或者老板、店员有急事也不得不暂时休息。
销售规模不受地盘限制。传统商店有多大就只能摆放多少商品,生意大小常常被小店面积限制。而在网上,即便在地面上只有一个小商店,或者干脆就没有门面,开店的生意却可以照样做得很大。
不受店面空间的限制。哪怕只是街边小店,在网上却可以拥有百货大楼那么大的店面,只要投资者愿意,可以摆上成千上万种商品。目前国内最大的专业拍卖网站同时在线的商品要超过10万件——已超过一些大超市。
不受地理位置影响。不管客户离店有多远,也不管顾客是国内还是国外,在网上,客户一样可以很方便地找到并购买商品。这令消费群体突破了地域的限制,变得无限广阔了。1.3项目开发的意义Internet的发展,为改变传统的商业运作模式提供了一种技术上的可行性的方案:利用Internet的技术和协议,建立各种企业内部网Intranet,企业外部网Extranet,通过廉价的通讯手段,将买家与卖家、厂商和合作伙伴紧密结合在了一起,消除时间与空间带来的障碍,从而大大的节约了交易成本,扩大了交易范围。而在实际的生活中,这种方案已经被广泛的运用到了实际的商业活动中了,人们将这种交易模式称为:电子商务。当今比较流行的网上购物系统国外有“淘宝()”,国内有“当当()”。它们都是相当优秀的电子商务网站,对其他的网站提供了良好的典范。设计中可以学习参考他们的思想,了解和熟悉整个网站的开发流程及完整的电子商务网站应有的功能和注意事项。设计和完成一个电子商务网站的,将会牵涉到许多技术上的问题,如:动态网页制作技术的,后台数据库的设计和管理,通过实际的制作个网站,可以避免纸上谈兵,在实践中掌握上述技术的使用。1.4网上购物系统现状目前在国内PHP与ASP应用最为广泛。而JSP由于是一种较新的技术,国内采用的较少。但在国外,JSP已经是比较流行的一种技术,尤其是电子商务类的网站,多采用JSP。采用PHP的网站如新浪网(sina)、中国人(Chinaren)等,但由于PHP本身存在的一些缺点,使得它不适合应用于大型电子商务站点,而更适合一些小型的商业站点。首先,PHP缺乏规模支持。其次,缺乏多层结构支持。对于大负荷站点,解决方法只有一个:分布计算。数据库、应用逻辑层、表示逻辑层彼此分开,而且同层也可以根据流量分开,组成二维阵列。而PHP则缺乏这种支持。还有上面提到过的一点,PHP提供的数据库接口支持不统一,这就使得它不适合运用在电子商务中。ASP和JSP则没有以上缺陷,ASP可以通过MicrosoftWindowsd的COM/DCOM获得ActiveX规模支持,通过DCOM和TranscationServer获得结构支持;JSP可以通过SUNJava的JavaClass和EJB获得规模支持,通过EJB/CORBA以及众多厂商的ApplicationServer获得结构支持。三者中,JSP应该是未来发展的趋势。世界上一些大的电子商务解决方案提供商都采用JSP/Servlet。比较出名的如IBM的E-business,它的核心是采用JSP/Servlet的WebSphere;西方另外一个非常著名的电子商务软件提供商,Intershop。它原来的产品Intershop12,3,4占据了主要的电子商务软件份额。它们都是通过CGI来提供支持的。但去年10月后它推出了Enfinity,一个采用JSP/Servlet的电子商务ApplicationServer,而且声言不再开发传统软件。总的来说,ASP,PHP,JSP三者都有相当数量的支持者,而这三者也各有所长,在开发过程中,我们应该根据实际的需要来使用最合适的技术,本系统则采用较新的jsp技术,一方面jsp的安全性和跨平台性比较好,另一方面,我也希望能从开发该系统的过程中,深入学习一下这门编程语言。但是再好的购物网站,即使技术再好,如果不好好的利用这些技术也是白搭,尤其是在安全上面,技术不可能完全覆盖到。再次就是在维护上面,使用者要经常去发现它的优缺点,趋利避害,与维护人员保持良好的沟通。工作人员也要时常在线,那样才能发挥网站的作用。1.5系统设计的目标及基本思路设计目标:现在流行的网上购物系统不仅要有漂亮的网页,更要有严谨的规划,注重每一个细小的环节。这样才能使得在电子交易时避免不必要错误发生。我们将使用HTML、JSP等技术来编辑网页,并运用JDBC技术把数据库和动态网页相关联。传统的管理信息系统信息获取方法是由专业文字录入人员将信息输入到管理系统的数据库中,这种方法在数据量不大时有很多的应用场合。当数据量比较大,并且有较强的专业性时,录入的费用和出错的可能性都相应上升。本设计在实际应用中的解决方案是建立网站,以及自己的数据库,使得所需商品信息可以及时的保存、更新,可以更好的及时了解商品买卖的情况。基本思路:输入网站打开网页,登陆自己的用户名,错误的话进入登陆错误页面,用户的话,忘记自己密码,可以进入忘记密码页面根据提示问题修改自己的密码,登陆成功后,进入用户主界面。用户可以修改自己的个人信息,查看以往的购买记录或者今天的购买记录,进入购买页面进行购买物品或者预定物品。打开自己的购物车查看是否购买物品。余额不足的话可以进入充值页面进行充值。管理员登录网站的话,将自动进入管理员界面,可以查看当天的销售记录,查看以往的销售记录,修改用户和管理员的信息,上架和下架,修改物品价格等基本信息,可以查看自己的上架,下架,修改价格等信息,以及用户的充值信息。1.6本章小结本章主要介绍了网上购物系统的背景、目的还有意义。介绍了网站的设计目的和基本思路,以及购物网站目前的现状。让读者简单了解网站功能以及用途。第二章需求分析2.1系统需求本系统的主要功能如下:登录登录管理员界面退出系统管理员登录修改用户信息查看物品信息查看销售记录退出系统修改物品价格查看充值记录下架物品上架物品用户充值查看购物车修改基本信息购买物品用户注册用户登录用户界面管理员管理员界面退出系统管理员登录修改用户信息查看物品信息查看销售记录退出系统修改物品价格查看充值记录下架物品上架物品用户充值查看购物车修改基本信息购买物品用户注册用户登录用户界面图2-1系统主要功能开发任意一个应用程序的第一步是和用户交流,了解他们希望应用程序中所具有的功能。这对于定义应用程序的功能非常重要。本设计开发出的网上购物系统亦是如此。本系统共二种用户,管理员和用户。二种用户有着不同的权限,如下:登录页面:会根据是管理员或用户进入不同的页面,然而操作不同的功能和行驶自己的权限。注册页面:用户有注册的权限,管理员则没有,要么在后台设定现有用户为管理员或者在数据库里面输入管理员信息,并且管理员之间的权限是相互平等的,可以对其修改权限。购买页面:用户可以购买自己的心仪商品,管理员无法进入购买界面,但可以查询当天的销售记录或者以前的销售状况,也可永久删除掉用户的购买记录,用户可以查询当天的销售记录,也可查询当天的预定记录,查看以前的购买历史,但不可以修改,删除自己的购买记录,但却能退掉自己预定的商品,管理员可清楚当天所有用户的销售记录,并且必须清理。基本信息页面:用户只能修改自己的信息,不能修改他人的信息。管理员不仅可以修改自己的信息,还可以修改用户的信息。由于管理员之间的权限是相等的,所以管理员也可以修改管理员的信息。5)物品信息页面:用户只可以购买物品,但不可以修改物品。管理员可以对物品上架,下架,修改价格。但却没有购买的权限。2.2B/S系统开发介绍由于现如今网络几乎已经遍布世界的每一个角落,同时又为了方便用户随时随地使用本系统,本系统采用B/S结构。B/S结构即浏览器和服务器结构。它是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。在这种结构下,用户工作界面是通过WWW浏览器来实现,极少部分事务逻辑在前端(Browser)实现,但是主要事务逻辑在服务器端(Server)实现,形成所谓三层3-tier结构。这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本(TCO)。以目前的技术看,局域网建立B/S结构的网络应用,并通过Internet/Intranet模式下数据库应用,相对易于把握、成本也是较低的。它是一次性到位的开发,能实现不同的人员,从不同的地点,以不同的接入方式(比如LAN,WAN,Internet/Intranet等)访问和操作共同的数据库;它能有效地保护数据平台和管理访问权限,服务器数据库也很安全。在JAVA这样的跨平台语言出现之后,B/S架构管理软件更是方便、快捷、高效。B/S架构软件的优势与劣势体现在以下几个方面:(1)维护和升级方式简单(2)成本降低,选择更多(3)应用服务器运行数据负荷较重下面来对比比较一下B/S、C/S结构软件技术上的区别(1)数据安全性比较(2)数据一致性比较(3)数据实时性比较(4)数据溯源性比较(5)服务响应及时性比较(6)网络应用限制比较下面我们再来看看B/S、C/S这两种结构在商业运用上的比较:(1)投入成本比较(2)硬件投资保护比较(3)企业快速扩张支持上的比较从以上的分析可以看出,B/S结构的管理软件有着C/S结构软件无法比拟的优势。目前,国外大型企业管理软件要么已经是B/S结构的,要么正在经历从C/S到B/S结构的转变。从国内诸多软件厂商积极投入开发B/S结构软件的趋势来看,B/S结构的大型管理软件势必在将来的几年内占据管理软件领域的主导地位。图2-2B/S结构图2.3可行性技术可行性:在技术上,使用上面所说的B/S架构,使代码和显示页面分离开。使用myelipse8.5环境开发,用tomcat6.0来启动。用SQL2021数据库,在一般的电脑上,这些都不是很难的问题,配置都能达到,并且该环境兼容各种操作系统。经济可行性:在经济上,只需要一台电脑(配置也没什么要求,几乎电脑就可以),以上环境都可以在网上下载,顶多在加点电费和网费。对开发网站的人来说,这些都是最基础的东西,花不了多少钱。操作可行性:操作上,该环境简单,易懂。安装不费劲,不耗时。网上都有安装流程,配置起来也很简单。环境搭配好,系统自带的servlet和JSP,HTML等环境操作方便,语法都可以在网上可查询。该网站建立起来,也不会很复杂,会有一种让人一看就懂的操作界面。法律可行性:在法律上,开发一个购物系统,只要不涉及触犯法律的东西就可以不受法律的制裁,遵照网上的一些协议就OK了。不会产生法律纠纷。2.3本章小结本章节主要讲述了网上购物系统的系统需求和可行性以及B/S开发结构,从而让读者更深一步的认识到本系统的一些流程和主要模块,在可操作性和经济上全面分析了本系统的可行性。开发环境3.1SQLServer2021目前市场上数据库的主流厂商及产品有IBMDB2、MicrosoftSQLSERVER2021、ORACLE9i、Sybase。IBM是通过DB2与WebSphere、Tivoli和Lotus四大品牌共同提供电子商务基础架构,而自己并不开发应用软件,目前一些ERP厂商、CRM厂商以及电子商务软件厂商都与IBM建立了合作关系,将IBM公司的数据库作为其应用软件的开发平台。Oracle则截然不同,它在自己的数据库平台上为用户开发了电子商务套件,其中包括ERP、CRM和SCM等企业应用软件。它认为这样可以使用户直接获得一整套解决方案,而不必考虑集成问题,而且,通过一家厂商就可以获得全部的服务和支持,避免在集成上的昂贵开销。Sybase公司作为客户机/服务器的倡导者,其开发工具PowerBuilder拥有众多的开发者。还有一部分不可忽视的是免费的数据库,比如MYSQL等。SQLServer作为微软在Windows系列平台上开发的数据库,一经推出就以其易用性得到了很多用户的青睐,相信大多数将自己的业务建立在Windows平台上的用户都会对它有相当的亲切感。今天,我们就来谈谈您所关注的数据库解决方案之微软篇。区别于FoxPro、Access小型数据库,SQLServer是一个功能完备的数据库管理系统。它包括支持开发的引擎、标准的SQL语言、扩展的特性(如复制、OLAP、分析)等功能。而像存储过程、触发器等特性,也是大型数据库才拥有的。SQLSERVER2021往往成为首选的理由上手容易话分两头,如果您的企业至今还未购置数据库,其中一个主要的原因可能就是认为它不好上手,那么,从SQLServer开始吧。毕竟,大多数的中小企业日常的数据应用是建立在Windows平台上的。由于SQLServer与Windows界面风格完全一致,且有许多"向导(Wizard)"帮助,因此易于安装和学习,有关SQLServer的资料、培训随处可得,并且目前国内具有MCDBA认证的工程师不在少数。从另一个角度来讲,学习SQLServer是掌握其他平台及大型数据,如Oracle,Sybase,DB/2的基础。因为这些大型数据库对于设备、平台、人员知识的要求往往较高,而并不是每个人都具备这样的条件,且有机会去接触它们。但有了SQLServer的基础,再去学习和使用它们就容易多了。IT行业的实践经验充分证明了这一点。兼容性良好
由于今天Windows操作系统占领着主导地的位,选择SQLServer一定会在兼容性方面取得一些优势。另外,SQLServer2021除了具有扩展性,可靠性以外,还具有可以迅速开发新的因特网系统的功能。尤其是它可以直接存贮XML数据,可以将搜索结果以XML格式输出等特点,有利于构建了异构系统的互操作性,奠定了面向互联网的企业应用和服务的基石。这些特点在.NET战略中发挥着重要的作用。3.2myEclipse8.5MyEclipse企业级工作平台(MyEclipseEnterpriseWorkbench,简称MyEclipse)是对EclipseIDE的扩展,利用它我们可以在数据库和JavaEE的开发、发布以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的JavaEE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML,Struts,JSP,CSS,Javascript,SQL,Hibernate。在结构上,MyEclipse的特征可以被分为7类:1.JavaEE模型2.WEB开发工具3.EJB开发工具4.应用程序服务器的连接器5.JavaEE项目部署服务6.数据库服务7.MyEclipse整合帮助对于以上每一种功能上的类别,在Eclipse中都有相应的功能部件,并通过一系列的插件来实现它们。MyEclipse结构上的这种模块化,可以让我们在不影响其他模块的情况下,对任一模块进行单独的扩展和升级。简单而言,MyEclipse是Eclipse的插件,也是一款功能强大的JavaEE集成开发环境,支持代码编写、配置、测试以及除错,MyEclipse6.0以前版本需先安装Eclipse。MyEclipse6.0以后版本安装时不需安装Eclipse。经过了MyEclipse8.5M1和MyEclipse8.5M2两个版本,MyEclipseEnterpriseWorkbench8.5forEclipse3.5.2终于在2021年3月28号正式发布了!在官方网站上MyEclipse8.5可以下载了,该版本集成了Eclipse3.5.2,提升了团队协作开发、开发周期管理以及Spring和Hibernate的更好支持。MyEclipse8.6M1下载地址发布了,关注MyEclipse8.6的朋友可以去MyEclipse官方获取最新的MyEclipse8.6M1下载地址下载试用的说(需要特殊手段)。随着MyEclipse8.5的发布,很多MyEclipse都已经开始转型成MyEclipse8.5工作了,MyEclipse8.5不但集成最新版本的Eclipse3.5.2同时包含了大量当前最新版的开源框架的插件支持。今天笔者浏览MyEclipse官方网站的时候,发现MyEclipse8.6的第一个M版本-MyEclipse8.6M1下载地址已经发布了,作为目前最新版本的MyEclipse8.6来说包含了不少吸引人的新特性,尤其是在对主流Java框架的支持都更新了不少,由于目前MyEclipse8.6还只是M1版本,因此作为开发版本使用估计不太可能(当然如果喜欢尝鲜,装个玩玩应该是没问题),相信在MyEclipse8.6正式版下载地址发布的时候会有更新的开源框架版本的支持吧。MyEclipse8.6的主要改进是在团队写作和集中工作环境的集中配置管理方面。同时MyEclipse8.6还包含了上百个功能的改进和新特性,这些新功能和特性将让MyEclipse8.6用户在开发代码,测试,以及部署应用方面都得到极大的便利。相信MyEclipse8.6下载地址发布的时候会让MyEclipse开发者们再次兴奋一下的。MyEclipse8.6M1主要改进包括:1.MyEclipse8.6M1引入了一个全新的JavaScript编辑器,该编辑器提供了更好的JavaScript/HTML高亮标记和代码支持,同时提供了更为精确的语法校验功能2.MyEclipse8.6M1新增了Struts2图形编辑器(貌似之前笔者见过Struts1.x的图形编辑器,也是MyEclipse对Struts支持的一个卖点)3.MyEclipse8.6M1引入了MyEclipse配置中心功能(该功能是MyEclipse8.6中的重大卖点)4.该功能包括,允许用户更方便的安装/卸载MyEclipse模块5.快速检索和安装目前最流行的Eclipse插件(貌似与IDEA一样直接检索到之后可以通过checkbox选择安装,十分方便)6.浏览,编辑和安装所有的软件更新(同时支持自定义升级站点)7.轻松的在团队中共享MyEclipse8.6工作平台配置8.通过授权获取用户的工作台变更信息,同时让用户共享这些工作台的配置9.通过MyEclipse配置中心持久化(保存)工作台的个性化设置10.允许独立共享工作台配置信息,也可以通过授权让特定的用户更改工作台配置信息11.MyEclipse8.6M1新增了大量的应用程序服务器联接器,让MyEclipse8.6支持更多的应用程序服务器。Glassfish3JBoss6Resin4Jetty7JOnAS5SpringSourcetcServerJavaSystemWebServer712.MyEclipse8.6M1在开源框架的支持方面也进行了不少改进包括:Spring3.0Hibernate3.3SpringSecurity2.0SpringSecurity3.013.MyEclipse8.6M1新增了截屏功能14.MyEclipse8.6M1改进了对UML2.0的支持15.MyEclipse8.6M1改进了对JavaServerFaces,Facelets,ICEfaces的支持3.3本章小结本章节介绍了配置环境SQLServer2021与myEclipse8.5的相关知识,可以清晰的让读者了解到这种开发的简单话,程序化,有序化。数据库设计4.1关系图图4-1关系图4.2用户基本信息表UserInfo表4-1用户信息表列名数据类型长度主键是否唯一允许为空useridint4是是否usernamenvarchar20否是否passwordnvarchar20否否否isadminnvarchar2否否否sexnvarchar2否否否phonenvarchar20否否否emaillnvarchar20否否否moneybigint8否否否数据库:InternetShopping表:UserInfo用来存储用户的基本信息字段:userid唯一标识用户信息,主键,自动增加Username用户名不给重复,用户的姓名Password密码,主键,用户的密码Isadmin是否为管理员,用户的权限Sex性别PhoneEmaill邮箱Money余额,用户的余额,不为0或以下此表是用来判断该用户是否存在(登录界面),注册用户所存储的信息(注册信息),用户/管理员修改个人信息存储的表(基本信息表),判断用户和管理员的依据(isadmin),充值、消费金钱所改变的依据。图4.2UserInfo表数据4.3密码修改表UserAlterPassword表4-3用户密码修改表列名数据类型长度主键是否唯一允许为空alterpsidint4是是否usernamenvarchar20否是否passwordnvarchar20否否否remarknvarchar20否否否表:UserAlterPassword用来存储用户名,密码和提示问题答案的表。字段:alterpsidint修改密码id唯一识别该表的字段,主键,自动增加Usernamenvarchar20用户存储用户名Passwordnvarchar20用户密码存储用户密码Remarknvarchar20密码提示存储修改密码提示答案(不为空)此表是用来存储用户修改密码信息,根据提示问题答案是否正确,来确定用户是否有权利来修改密码(未登录到本网站内部),也可在网站内部重置密码提示问题。数据:图4.3UserAlterPassword表数据4.4商品基本信息表GoodsBaseInfo表4-4商品基本信息表列名数据类型长度主键是否唯一是否为空goodsidint4是是否goodsnamenvarchar20否是否priceint4否否否numint4否否否picturenvarchar20否否否pstionnvarchar1否否否表GoodsBaseInfo用来存储商品名,价格,数量,图片,位置的表字段:goodidint4商品id唯一识别该商品的标识,自动增加Goodsnamenvarchar20商品名商品的名称Priceint4价格该商品的价格Numint4数量该商品的数量Picturenvarchar20图片该商品的图片名字Pstionnvarchar1位置标识该商品所在的位置此表主要是用来存储商品的基本信息,是用户购买商品数量,价格的依据,也是管理员上架物品,下架物品,修改价格的依据。通过不同的位置选择来判断所显示的页面的商品,展示出它的价格,数量,商品名等信息。数据:图4-4GoodsBaseInfo表数据4.5商品修改信息表GoodsAlter表4-5商品修改信息表列名数据类型长度主键是否唯一是否为空goodsalteridint4是是否goodsnamenvarchar20否是否getnumint 4否否否downnumint4否否否beforenumint4否否否nownumint4否否否beforepriceint4否否否alterpriceint4否否否goounddatanvarchar20否否否表:GoodsAlter商品修改信息表,用来存储当前商品的商品名,上架数量,下架数量,之前的数量,修改后数量,修改前价格,修改后价格,修改日期字段goodsalteridint4商品修改id,唯一标识符,主键goodsnamechar20商品名被修改的商品的名称getnumint4上架数量商品的上架数量downnumint4下架数量商品的下架数量beforenumint4之前数量商品修改之前的数量nownumint4修改后数量商品修改后数量beforepriceint4修改前的价格商品修改前的价格aterpriceint4修改价格商品修改的价格goounddatanvarchar20修改日期修改商品的日期此表主要是用来存储管理员对商品的基本信息的修改数据的存储,该表只允许管理员去查询和删除,不能对其进行修改。数据:图4.5GoodsAlter表数据4.6用户充值信息表UserAlterMoney表4-6用户充值信息表列名数据类型长度主键是否唯一是否为空usermoneyidint4是是否usernamenvarchar20否是否moneyint4否否否datanvarchar20否否否表名:UserAlterMoney该表用来存储用户名,充值多少钱,充值日期信息字段:usermoneyidint4充值id主键唯一标识该表信息Usernamenvarchar20用户名用户的名字Moneyint4数目充值钱的数目Datanvarchar20充值日期记录用户充值的日期该表是用来存储用户的充值信息,该表用户可以查询,不可以执行删除,修改等操作,但管理员具有删除权限。数据:图4-6UserAlterMoney表数据4.7用户订购表UserOrder表4-7用户订购表列名数据类型长度主键是否唯一是否为空userorderidint4是是否usernamenvarchar20否是否goodsnamenvarchar20否否否numint4否否否priceint4否否否totalpricebigint8否否否orderdatanvarchar20否否否UserOrder表:该表主要是用来存储用户名,商品名,购买数量,价格,总价格,购买日期信息。字段:userorderidint4用户订购id主键唯一标识该表信息自动增加Usernamenvarchar20用户名购买商品的用户的名字Goodsnamenvarchar20商品名用户购买的商品的名字Numint4数量用户购买该商品的数量Priceint4价格用户购买该商品的价格Totalpricebigint8总价格用户购买该商品的总价格Orderdatanvarchar20日期用户购买该商品的日期该表主要是记录用户购买的详细信息,可供用户查看历年的购买记录,也可以删除该记录,管理员也可以执行该功能,但不可修改。数据:图4-7UserOrder表数据4.8当天用户订购表UserOrderNow表4-8用户订购表列名数据类型长度主键是否唯一是否为空userorderidint4是是否usernamenvarchar20否是否goodsnamenvarchar20否否否numint4否否否priceint4否否否totalpricebigint8否否否orderdatanvarchar20否否否ispurchasenvarchar2否否否UserOrderNow表:记录当天购买的用户名,商品名,数量,价格,总价格,是否订购,订购日期信息。字段:userordernowidint4订购id主键唯一标识符自动增加Usernamenvarchar20用户名购买物品的用户的姓名Goodsnamenvarchar20商品名购买的商品名字Numint4数量用户购买的数量Priceint4价格商品的价格Totalpriceint4同一个用户购买商品的总价格Ispurchasenvarchar2是否购买判断用户是购买物品还是订购物品Orderdatanvarchar50当天购买的日期此表详细记录了当天用户购买物品的状况,是订购还是购买。也可以预览该信息,可以退掉订购的,但不可以退掉购买的。管理员可以查看当天的购买记录却看不见订购记录,可以清理当天记录(而且必须清理)。数据:图4.8UserOrderNow表数据4.8本章小结本章主要介绍了网上购物系统的数据库设计以及作用,可以让读者充分认识到该系统的实现过程,了解到数据库该放入那些字段以及各字段的作用和必要性。网上购物系统功能模块5.1主页面模块图5-1主页面该页面是进入本网站的第一个页面。可以跳转到进行注册,登录和修改密码网址::8080/InternetShopping/mainpage.jsp5.2登录模块图5-2登录界面该页面是用来为用户提供登录的,输入正确的用户名和密码,即可进入用户主页;输入正确的管理员帐号和密码,即可进入管理员主页面,进行相应的操作了。以下是登录提交数据后进行的后台处理代码:login.Java代码:packagecom.user;//所属包importjava.io.IOException;importjava.io.PrintWriter;importjavax.servlet.ServletException;importjavax.servlet.http.Cookie;importjavax.servlet.http.HttpServlet;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletResponse;importjavax.servlet.http.HttpSession;importcom.function.IUserFunction;importcom.function.UserFunction;//头文件publicclassloginextendsHttpServlet{ PublicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse) throwsServletException,IOException{ doPost(request,response); } publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse) throwsServletException,IOException{ request.setCharacterEncoding("utf-8"); response.setContentType("text/html;charset=utf-8");//使jsp页面输出中文格式 StringloginName=request.getParameter("loginName");//获取用户名 StringloginPass=request.getParameter("loginPass");//获取用户名密码 Stringlogginged="";//申明是否进行登录 IUserFunctionudb=newIUserFunction();//函数实例化 booleanflag=udb.validate(loginName,loginPass);//登录成功返回true否则返回false if(flag==true)//判断是否登录成功 { logginged="true";//登录成功设置为true HttpSessionsession=request.getSession(); session.setAttribute("username",loginName);//用户名放入session session.setAttribute("password",loginPass);//密码放入session intmoney=udb.get_UserInfo_money(loginName);//通过用户名取出该用户的余额 session.setAttribute("money",money);//余额放入session中 intpreview=0;//当前消费的总费用(包括购买和订购) session.setAttribute("preview",preview);//当前消费放入session session.setAttribute("logginged",logginged);//判断是否登陆值放入logginged Stringisadmin=udb.get_UserInfo_isadmin(loginName);//通过用户名取出权限字段 if(isadmin.equals("是"))//判断是否管理员 { request.getRequestDispatcher("getUserOrderNow").forward(request,response); //管理员跳转到getUserOrderNow.java(servlet) } else { request.getRequestDispatcher("homepage.jsp").forward(request,response); //用户跳转到homepage.jsp用户主页面 } } else { request.getRequestDispatcher("error.jsp").forward(request,response); //登录失败跳转到error.jsp } }}5.3注册模块图5-3注册页面该页面是用户注册页面,将所得的注册信息,提交到后台,存储在数据库里面,供用户登录使用,以下是注册页面的后台代码:request.setCharacterEncoding("utf-8"); Stringlogginged="";//声明是否注册 response.setContentType("text/html;charset=utf-8"); //JSP页面中文显示 //获取用户表单数据 Stringusername=request.getParameter("loginName");//获取用户名 Stringpassword=request.getParameter("loginPass");//获取密码 Stringemaill=request.getParameter("email");//获取邮箱 Stringsex=request.getParameter("gender");//获取性别 Stringphone=request.getParameter("phonenumber");//获取 IUserFunctionudb=newIUserFunction();//实例化 udb.InsertUserInfoandUserpassword(username,password,sex,phone,emaill); //将所得的信息存储到数据库 HttpSessionsession=request.getSession(); session.setAttribute("username",username);//用户名放入session session.setAttribute("password",password);//密码放入session intmoney=1000;//初次申请,送1000元 session.setAttribute("money",money);//余额放入session intpreview=0;//当前消费为0 session.setAttribute("preview",preview);//当前消费放入session session.setAttribute("logginged",logginged);//是否注册放入session request.getRequestDispatcher("Userpasswordprompt.jsp").forward(request,response); //跳转到Userpasswordprompt.jsp5.4重新设置密码模块图5-4重设密码模块当你打开网站,替然发现自己的密码忘记了,这个时候,你就可以点击忘记密码?按钮,进行重置自己的密码了,该页面是为了那些忘记了自己的密码所准备的页面,也是系统的附带功能。5.5用户主页面模块图5-5用户主页面模块该页面是用户登录进来的第一个页面,是所有功能的枢纽,可以跳转到所有功能页面,也是系统进入到尾页面跳转过来的页面5.6商品购买模块日常用品:图5.6日常用品界面床上用品:图5.7床上用品界面电器专卖:图5.8电器专卖界面消费用品:图5.9消费品用品界面以上4个页面是本网站出售商品的页面,用户可以选择自己洗衣的物品进行购买或者预定,同时当你不想购买的时候,也可以返回主页离开该面去选择别的页面去购买或者订购。以下是如何显示该4个页面的代码:response.setContentType("text/html"); response.setContentType("text/html;charset=utf-8");//中文输出 HttpSessionsession=request.getSession(); Stringusername=session.getAttribute("username").toString();//用户名从session中取出 IUserFunctionudb=newIUserFunction();//实例化 intmoney=udb.get_UserInfo_money(username);//通过用户名取出当前余额 SimpleDateFormatsdf=newSimpleDateFormat("yyyy-M-dhh:mm:ss");//格式转化 Stringorderdata=sdf.format(newDate());//得到转化后的当前日期 Stringgoodsname=session.getAttribute("goodsname").toString();//1号商品的名字 Stringgoodsname2=session.getAttribute("goodsname2").toString();//2号商品的名字 Stringgoodsname3=session.getAttribute("goodsname3").toString();//3号商品的名字 Stringgoodsname4=session.getAttribute("goodsname4").toString();//4号商品的名字 intprice=Integer.parseInt(session.getAttribute("price").toString());//1号商品的价格 intprice2=Integer.parseInt(session.getAttribute("price2").toString());//2号商品的价格 intprice3=Integer.parseInt(session.getAttribute("price3").toString());//3号商品的价格 intprice4=Integer.parseInt(session.getAttribute("price4").toString());//4号商品的价格 Stringloginbuton5=request.getParameter("radio5");//获取1号商品是否购买信息 Stringloginbuton6=request.getParameter("radio6");//获取2号商品是否购买信息 Stringloginbuton7=request.getParameter("radio7");//获取3号商品是否购买信息 Stringloginbuton8=request.getParameter("radio8");//获取4号商品是否购买信息 intgoodsnamenum=Integer.parseInt(request.getParameter("goodsnamenum").toString()); //1号商品购买(订购)数量 intgoodsnamenum2=Integer.parseInt(request.getParameter("goodsnamenum2").toString()); //2号商品购买(订购)数量 intgoodsnamenum3=Integer.parseInt(request.getParameter("goodsnamenum3").toString()); //3号商品购买(订购)数量 intgoodsnamenum4=Integer.parseInt(request.getParameter("goodsnamenum4").toString()); //4号商品购买(订购)数量 intnum=Integer.parseInt(session.getAttribute("num").toString());//1号商品的数量 intnum2=Integer.parseInt(session.getAttribute("num2").toString());//2号商品的数量 intnum3=Integer.parseInt(session.getAttribute("num3").toString());//3号商品的数量 intnum4=Integer.parseInt(session.getAttribute("num4").toString());//4号商品的数量 intpreview=Integer.parseInt(session.getAttribute("preview").toString()); //当前消费的总费用(未购买该类商品之前) inttotalprice=0;//单一商品购买的总价格 if(goodsnamenum!=0)//判断1号商品是否购买 { if(loginbuton5.equals("radio5"))//判断1号商品是否购买 { totalprice=goodsnamenum*price;//购买1号商品总价格 udb.Insert_UserOrderNow(username,goodsname,goodsnamenum,price,totalprice,"是",orderdata); //购买1号商品的信息存储到UserOrderNow udb.Insert_UserOrder(username,goodsname,goodsnamenum,price,totalprice,orderdata); //购买1号商品的信息存储到UserOrder money=money-totalprice;//求出余额 udb.update_GoodsBaseInfo_num(goodsname,num-goodsnamenum); //修改商品基本信息 } else { totalprice=goodsnamenum*price;//订购1号商品的总价格 udb.Insert_UserOrderNow(username,goodsname,goodsnamenum,price,totalprice,"否",orderdata); //订购信息存储到UserOrderNow preview=preview+goodsnamenum*price;//计算当前订购消费 }} if(goodsnamenum2!=0)//判断2号商品是否购买 { if(loginbuton6.equals("radio6"))//判断2号商品是否为购买 { totalprice=goodsnamenum2*price2;//购买2号商品总价格 udb.Insert_UserOrderNow(username,goodsname2,goodsnamenum2,price2,totalprice,"是",orderdata); //购买2号商品信息存储到UserOrderNow udb.Insert_UserOrder(username,goodsname2,goodsnamenum2,price2,totalprice,orderdata); //订购2号商品信息存储到UserOrder money=money-totalprice;//算出当前余额 udb.update_GoodsBaseInfo_num(goodsname2,num2-goodsnamenum2); //修改2号商品基本信息 } else { totalprice=goodsnamenum2*price2;//预定2号商品总价格 udb.Insert_UserOrderNow(username,goodsname2,goodsnam
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 池河中心小学试卷及答案
- 2026四年级数学下册 图形运动的易错纠正
- 2026六年级数学下册 比例思维方法
- 供应商评价制度
- 粮食专业知识试题及答案
- 人才体系搭建人才发展制度
- 施工分包安全奖惩制度
- 学校宿舍管理奖惩制度
- 工程计划管理奖惩制度
- 患者服务部奖惩制度范本
- 绿色旅行模板
- 乡镇安全生产教学课件
- 电镀企业复工安全培训课件
- 2025水利安全员C证考试题库(含答案)
- 高一下学期第一次月考数学试卷(基础篇)(原卷版)
- 污水处理厂水质在线监测系统方案
- 油料保障基本知识培训课件
- 《水力学》课件(共十一章)
- 诊断学便血讲解
- 2025至2030海洋生态行业项目调研及市场前景预测评估报告
- 食堂工作人员打菜要求
评论
0/150
提交评论