基于jsp的网上超市系统的设计与实现  毕业设计_第1页
基于jsp的网上超市系统的设计与实现  毕业设计_第2页
基于jsp的网上超市系统的设计与实现  毕业设计_第3页
基于jsp的网上超市系统的设计与实现  毕业设计_第4页
基于jsp的网上超市系统的设计与实现  毕业设计_第5页
已阅读5页,还剩48页未读 继续免费阅读

下载本文档

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

文档简介

JIUJIANGUNIVERSITY毕业论文题目基于JSP的网上超市系统的设计与实现英文题目DESIGNANDIMPLEMENTATIONOFBASEDONJSPONLINESUPERMARKETSYSTEM院系信息科学与技术学院专业计算机科学与技术姓名何俊杰班级学号10814010132指导教师邵君二一二年五月摘要随着INTERNET飞速发展,互联网成为人们快速获取、发布和传递信息的重要渠道。它在人们的政治、经济、生活等各个方面发挥着重要作用。特别是对当代中国的白领来说,去超市购物逐渐成为令人头痛的事情。交通堵塞、排队结账使面临工作压力的年轻上班族越来越不愿意去超市。网上超市带给顾客全新的生活方式只要点击几下鼠标,我们就可以将日常所需送到顾客的手中。网上超市是建立在网络上的一个虚拟的购物商场,避免了人们挑选商品的繁琐过程,使购物变得轻松、快捷、方便;同时又能有效的控制“商场”运营的成本,开辟了一个新的渠道。因此研究和开发网上超市系统对丰富人们生活,足不出户完成工作、学习、娱乐、购物等方面有着非常重要的意义。系统采用JSP技术和MYSQL数据库技术实现。首先,论文简要介绍了网上超市系统开发的背景、目的和意义和国内外发展的现状,概述了开发本系统所涉及的理论知识及相关技术。其次,论文详细地阐述了系统的需求分析和系统设计。通过采用面向对象的分析与设计方法,对网上超市系统进行需求分析。再次,论文着重介绍了基于JSP技术的网上超市系统的开发过程、设计方法、软件的实现过程和测试结果,以及基于JSP的主要关键技术的实现。系统使用了AJAX技术实现页面的无刷新提交。通过引入基于JSP技术以便使得系统的逻辑计算、页面层次、访问速度等方面得到改善。最后,对论文所做的工作进行了总结,并展望下一步的完善与改进工作。该网上超市系统综合了目前其它相关技术,外观设计简约,交流界面人性化,配合数据库管理,实用且易操作。关键词网上购物,电子商务,网上超市系统ABSTRACTWITHTHERAPIDDEVELOPMENTOFINTERNET,THEINTERNETBECOMEPEOPLETOQUICKLYGET,DISTRIBUTIONANDTRANSFERINFORMATIONIMPORTANTCHANNELITINPEOPLESPOLITICAL,ECONOMIC,ANDOTHERASPECTSOFLIFEPLAYSANIMPORTANTROLETHEINTERNETPUBLISHINGINFORMATIONMAINLYTHROUGHTHEWEBSITETOREALIZEASPEOPLELIFELEVELOF,NEVERLEAVEHOMETOCOMPLETETHEJOB,STUDY,ENTERTAINMENT,SHOPPINGHAVEBECOMEPEOPLETOTHEFASTPACEOFLIVINGTHEWAYADEMANDTHEPRELIMINARYDESIGNREALIZETHEONLINESHOPPINGTHEBASICOPERATIONOFTHEPROCESS,MEMBERSHIPBASEDSHOPPINGSYSTEM,PERFECTTHEFUNCTIONOFTHEWEBSITETHISPAPERDESCRIBESTHEDESIGNANDIMPLEMENTATIONOFECOMMERCESITESTHEPURPOSEOFONLINESALES,PROCESSANDTHEREALIZATIONOFVARIOUSFUNCTIONSGIVENTHESYSTEMATICANALYSISOFTHESITE,DESCRIBEDTHEWEBPAGEDESIGN,ANDINTRODUCESTHECONTENTSOFTHEDATABASEANDTHEMAINIMPLEMENTATIONTHISPAPERALSOSUMMEDUPTHEMAINCHARACTERISTICSANDFUNCTIONSOFWEBPAGEDESIGNSIMPLE,HUMANITYCOMMUNIONINTERFACE,WITHDATABASEMANAGEMENT,PRACTICALANDEASYTOOPERATETHESYSTEMUSEJSPTECHNOLOGYANDMYSQLDATABASETECHNOLOGYKEYWORDSONLINESHOPPING,ECOMMERCE,ONLINESUPERMARKET目录摘要IABSTRACTII1绪论11系统开发背景112系统实现的目标213系统的开发意义214本章小结32需求分析21系统非功能性需求422系统功能需求423系统数据流程分析524环境需求625本章小结83系统设计31系统结构设计932数据库设计1633本章小结224系统实现41系统功能简介2342功能模块实现2343数据库实现3344本章小结355系统测试51测试序号3652测试模块与运行366总结与展望致谢44参考文献451绪论11系统开发背景111网上购物的发展近年来,随着INTERNET的迅速崛起,互联网已日益成为收集提供信息的最佳渠道并逐步进入传统的流通领域。于是电子商务开始流行起来,越来越多的商家在网上建起在线商店,向消费者展示出一种新颖的购物理念。网上购物系统作为B2B,B2C(BUSINESSTOCUSTOMER,即企业对消费者),C2C(CUSTOMERTOCUSTOMER,即消费者对消费者电子商务的前端商务平台,在其商务活动全过程中起着举足轻重的作用。本文主要考虑的是如何建设B2C的网上购物系统。网上购物是一种具有交互功能的商业信息系统。它向用户提供静态和动态两类信息资源。所谓静态信息是指那些比经常变动或更新的资源,如公司简介、管理规范和公司制度等等;动态信息是指随时变化的信息,如商品报价,会议安排和培训信息等。网上购物系统具有强大的交互功能,可使商家和用户方便的传递信息,完成电子贸易或EDI交易。这种全新的交易方式实现了公司间文档与资金的无纸化交换。112网上购物系统的现状目前国内主流购物系统中采用ASP、PHP、JSP、JAVA语言开发占据80,在模式上随着近年国内电子商务情势的大好,各购物系统开发商的兴起如雨后春笋一般。随着国家政策的支持和电子商务行业的高速发展,以后的购物系统发展路线必然走向标准化、国际化、智能化的市场道路。2005年我国网民网上购物用户达2200万,比2004年增长386,交易额高达13505亿元。2007年通过B2B电子商务完成的交易额达到21239亿元,增长659,实现的运营商营业收入达39亿元,增长491。2008年6月底,网络购物用户人数达到6329万,半年内增加364,全年我国电子商务类站点的总体用户覆盖已经从9000万户提升至9800万户,网络交易规模接近2700亿。根据我国电子商务研究中心发布的2010年(上)电子商务市场数据检测报告显示,截至2010年6月份,国内个人网店的数量已经达到了1200万家,且增长迅猛,预计今年年底网店数量将达到1300万家,直接从业人员超过130万人,间接带动就业近1000万人,市场交易额达到225万亿元,预计全年交易额将超过43万亿元。由上面数据可以看出,中国的网上购物发展正蓬勃发展,充满活力,而基于JSP开发的电子商务网站更是国内外的主流,因此此系统的开发是符合社会的发展形式,是很有意义的。12系统实现的目标现在流行的网上购物系统不仅要有漂亮的网页,更要有严谨的规划,注重每一个细小的环节。这样才能使得在电子交易时避免不必要错误发生。我们将使用HTML、JSP等技术来编辑网页,并运用JDBC技术把数据库和动态网页相关联。传统的管理信息系统信息获取方法是由专业文字录入人员将信息输入到管理系统的数据库中,这种方法在数据量不大时有很多的应用场合。当数据量比较大,并且有较强的专业性时,录入的费用和出错的可能性都相应上升。本设计在实际应用中的解决方案是建立网站,以及自己的数据库,使得所需商品信息可以及时的保存、更新,可以更好的及时了解商品买卖的情况。13系统的开发意义INTERNET的发展,为改变传统的商业运作模式提供了一种技术上的可行性的方案利用INTERNET的技术和协议,建立各种企业内部网INTRANET,企业外部网EXTRANET,通过廉价的通讯手段,将买家与卖家、厂商和合作伙伴紧密结合在了一起,消除时间与空间带来的障碍,从而大大的节约了交易成本,扩大了交易范围。而在实际的生活中,这种方案已经被广泛的运用到了实际的商业活动中了,人们将这种交易模式称为电子商务。当今比较流行的网上购物系统有“淘宝(WWWTAOBAOCOM)”以及“当当WWWDANGDANGCOM”。它们都是相当优秀的电子商务网站,对其他的网站提供了良好的典范。设计中可以学习参考他们的思想,了解和熟悉整个网站的开发流程及完整的电子商务网站应有的功能和注意事项。设计和完成一个电子商务网站的,将会牵涉到许多技术上的问题,如动态网页制作技术的,后台数据库的设计和管理,通过实际的制作个网站,可以避免纸上谈兵,在实践中掌握上述技术的使用。14本章小结这一章节主要就是介绍了一下系统开发的目的以及意义,首先列出了网上超市的一些管理现状,只有很好的了解了当前网上超市的现状,那样才能对该系统进行设计前期的工作任务进行一个很好的规划,明确该系统的设计理念以及改系统要达到的目标,同时明确了本系统开发所涉及的核心技术。2需求分析21系统非功能性需求非功能性需求是指为满足用户业务需求必须具有但不是功能性需求的系统特性。虽然此需求与系统业务逻辑无直接关系,但也影响着系统的质量,不能忽视。本系统的非功能性需求主要包括以下几个方面(1)界面友好本系统在功能完善的情况下,界面尽量做到简洁友好、便于操作,并应有效地防止误操作的发生。(2)支持多用户并发访问本系统属于一个多用户的网上购物系统,因此需要做到支持多用户的并发访问,并尽量控制到用户可接受的访问速度。(3)安全性互联网中存在的威胁无处不在,由于本系统基于WEB开发,难免要受到安全性的挑战。因此,本系统应尽量避免威胁安全性的因素发生。22系统功能需求通过需求分析,确定本系统有以下一些基本功能登录注册管理注册时能够对用户名,密码的简单验证;能够对电子邮箱,EMAIL进行有效性验证;能够防止利用页面刷新重复注册,以及已经注册的用户不能重复注册。商品浏览分类显示商品;显示商品详情,提供购买链接。购物车管理欲购买商品可以增添到购物车;也可以从购物车退回商品,清空购物车;对于同一件商品的多次购买只能在原来的商品上增添数量,还可以修改购物车中某个商品的数量,统计商品总金额。订单管理只有登录的用户可下订单;用户可以查看自己的订单。管理员可以修改订单的状态。商品管理管理员可以增添商品分类;修改商品基本信息;增添商品时候可以上传图片。用户管理管理员对注册用户的维护。23系统数据流程分析231系统数据流图通过对系统的网上超市的数据流动分析,得出数据流程如图21所示。顾客加入购物车商品结账订单填写地址送货地址查看商品商品管理员订单管理商品信息查看处理订单管理用户信息用户有效订单图21系统数据流图232系统ER图通过对系统的网上超市的数据分析,得出ER图如图22所示。图22系统ER图1N111N1N24环境需求241开发平台此系统开发选用的平台是STRUTS2JAVASERVERPAGE简称JSPMYSQL数据库,它适应于WINDOWS操作系统并能很好的与其应用程序结合,而且MYSQL数据库也易操作,从而大大降低了编程难度。具体如下采用了INTERNET架构,BOWSER/SERVER模式。WEB服务器采用TOMCAT55服务器,数据库管理系统为MYSQL。采用了JDK16的环境开发工具使用DREAMWEAVER搭建系统页面框架,再利用STRUTS2自带的标签插入服务器端传过来的数据。在服务器端使用MYECLIPSE工具开发,利用STRUTS2框架处理业务。242系统开发工具本系统是基于STRUTS2JSPMYSQL数据库技术实现的,现对JSP技术和MYSQL数据库以及STRUTS2框架作简要的介绍。243开发语言JSPJSP页面由HTML代码和嵌入其中的JAVA代码所组成。JAVABEAN是JSP的技术基础,而且大型的WEB应用程序的开发需要JAVABEAN和JSP配合才能完成。JSP具备了JAVA技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网等特点。JSP的技术的优势一次编写,到处运行。在这一点上JAVA比PHP更出色,除了系统之外,代码不需要做任何更改。系统的多平台支持。基本上可以在所有平台上的任意环境中开发,在任意环境中进行系统部署,在任意环境中扩展。相比ASP/PHP的局限性是显而易见的。JSP技术是用JAVA语言作为脚本语言的。JAVA语言是成熟的、强大的、易扩充的编程语言。高效性与安全性。JSP在执行前先被编译成字节码,字节码由JAVA虚拟机解释执行,比源码解释效率高。可维护性。由于JSP技术是一种开放的、跨平台的结构,因此WEB服务器、平台及其他组件能很容易升级或切换,且不会影响JSP基本的应用程序。多样化和功能强大的开发工具支持。JAVA已经有了许多非常优秀的开发工具,而且许多可以免费得到,并且其中许多已经可以顺利的运行于多种平台之下。244数据库MYSQLMYSQL是ORACLE公司的一款数据库产品,因为其小巧亦操作,却十分稳定,成为一些中小型项目和我们学习中最常用的数据库,在这里便使用了这款成熟稳定的数据库。245框架STRUTS2在STRUTS2出现之前,STRUTS1就是一个非常有名的框架,它实现了MVC模式。之后出现的WEBWORK框架也是一个很优秀的框架,随着时间的发展,STRUTS1渐渐淘汰,有人用WEBWORK的核心并包装上STRUTS1,由此产生了更先进的技术STRUTS2。STRUTS2是经典的MVC结构框架,将显示,控制,逻辑很好的分离,可以使我们开发起来更具延展性。25本章小结这一小节主要是明确系统开发的需求分析,明确系统要实现的功能,确立系统的功能模块,按照系统开发的流程,先申述系统的管理概述,继而就确立系统要实现的功能模块,最后确立系统的用户角色需求的定位,本需求分析报告的目的是规范化本软件的编写,旨在于提高软件开发过程中的能见度,便于对软件开发过程中的控制与管理,同时提出了网上超市系统的软件开发过程,便于程序员与客操作者之间的交流、协作,并作为工作成果的原始依据,同时也表明了本软件的共性,以期能够获得更大范围的应用。3系统设计31系统结构设计本系统课分为前后台两个部分,共有用户登录注册、商品展示、购物车、结账、后台管理五大模块网上购物系统前台功能结构如图31所示网上购物系统前台会员管理商品展示购物车结账会员登陆注册会员资料管理会员订单查询分类展示销售排行掌柜推荐新品上架添加商品移除商品恢复移除的商品生成订单填写送货信息选择之前填写过的地址图31系统前台功能结构图网上购物系统后台功能结构如图32所示网上购物系统后台后台登录商品维护会员维护订单维护退出后台图32系统后台功能结构图系统处理业务流程如图33所示图33业务流程图主要可将本购物系统分为五个模块1登陆注册模块登陆验证个人首页正确不正确首页注册填写信息验证注册成功图34登陆注册流程图(1)首先进入主页面MAINJSP时,先载入一些静态元素和左边栏、右边栏两个只需显示文字的动态数据,而其他的几个DIV版块,如站长推荐,热销版,新上架等模块都是通过AJAX技术异步加载进MAINJSP页面。(2)登陆时加上了JAVASCRIPT验证表单。(3)注册时加上了JAVASCRIPT验证表单,在填写EMAIL即用户名的时候,通过失去焦点事件和AJAX技术向服务器发送异步请求查询用户名是否存在,并在注册页面局部刷新提示用户,验证码也是通过AJAX技术实现。(4)注册页面提交后,会出现一个验证邮箱提示,服务器向用户邮箱发送了一个验证码,用户需要填写验证码才能完成注册,如果不进行验证,下次登录是还会提示验证,不能使用用户功能。(5)输入邮箱验证码后,完成注册。2商品查看与展示(1)在首页主要构成是左边栏、右边栏、站长推荐、热卖商品、新品上架等。左边栏显示的是商品分类信息,一个大类,下面是小类,如图书(大类),世界名著、历史军事、小说文学(小类);右边栏是“新品热销版”,显示的是最近一个月上架的商品的销售排行NO1NO8;站长推荐,显示通过随机查询的商品,有商品图片,商品名,商品介绍等信息;“热卖版”是通过销量查询显示的商品;“新品上架”是通过添加时间查询最近添加的商品。(2)从左边栏点击分类进去查看商品信息,会进入商品列表页面,左边栏显示当前进入的这个大类别已经它所有的子类别,并显示各分类的商品数目及大分类的商品总数目,中间栏显示的是当前选中的类别的所有商品列表,显示了商品图片,商品名,价格,介绍等,每个商品下有“购买”选项,可以添加到购物车,实现了翻页功能,每页显示3件商品信息,可以选择排序方式,如按上架时间排序,按销量排序。(3)通过主页面其他地方或者商品列表点击可以进入单独的商品信息页面,有较为详细的商品信息,同样可以购买,实现了放大镜功能,通过鼠标放在图片上会显示大图片。(4)通过通过任意商品链接进入商品的详细信息信息页面,有较为详细的商品信息,显示了商品的图片、价格、库存、厂商等详细信息,在此页面同样也可以将商品加入购物车,还能选择商品的个数。(5)商品的所有显示都是从数据库中读取,其中图片存放在固定文件夹中,数据库中存放的是图片地址。3购物车模块查看商品添加到购物车登陆检查添加成功查看购物车删除商品修改数量结账恢复删除商品图35购物车流程图(1)不管有无登录,都可以使用购物车,首先查看商品,点击购买,如果商品已经购买,购物车只会添加一次。(2)添加完毕,点击“购物车”查看添加到购物车的商品,在购物车查看页面,可以看到添加的商品名,原价,本网站价格,以及数量,还有商品的总价,节约价格。(3)在购物车页面可以有一下操作修改数量、删除、恢复、结账。“修改数量”可以更新需要买的商品数量,默认为1,“删除”将商品从要购买的列表删除,出现在下面以删除的列表中,“恢复”即可以将删除列表的商品恢复到要购买的列表中,“结账”即将要生成订单,结账功能需要登录才能使用,未登录的会自动跳转登陆页面。(4)本购物车使用的是SESSIONCOOKIE技术,即购物车中得数据会在浏览器端进行备份,失效时间为1天,如果关闭浏览器,下次再登录还可以从浏览器中取得数据。4生成订单结账是否登陆生成订单填写地址登陆否是选择老地址填写新地址保存新地址订单提交图36订单流程图(1)首先根据购物车里的数据生成一个不能修改的表单,供用户确认,确认后可点击结账。(2)点击结账,系统会拦截没有登陆的客户,跳转到登陆界面,登陆后才能继续操作。(3)接着跳转到地址填写界面,如果是老客户,并且以前有过送货地址,可以通过下拉列表选择地址,如果想填写新地址则选择新地址,并且填写,填写后提交会生成新地址,下次可以通过选择地址,直接选择。(4)地址填写无误,提交,向服务器发送请求,插入数据库,生成订单成功。5会员信息用户登录查看个人信息修改部分信息查看订单查看收藏夹图37会员功能流程图(1)用户登录后可以查看一些个人信息,如用户名,性别,电话,最后登录时间,最后登录IP地址等信息。(2)用户登陆后可以修改部分个人信息,如用户名,电话。(3)用户可以查看所有的订单信息,以及订单当前状态。(4)用户可以查看之前添加的喜欢的商品。32数据库设计本系统数据库采用MYSQL5数据库,系统数据库名称为D_SHOP,共包含8张表。AD_USER表用户注册信息表用户信息表主要用来保存用户主要信息。表D_USER的结构如表31所示。表31D_USER表IDD_USER表的主键EMAIL用户注册邮箱NICKNAME用户昵称PASSWORD用户密码USER_INTEGRAL用户的积分IS_EMAIL_VERIFY用户是否验证邮箱EMAIL_VERIFY_CODE邮箱验证码字段名数据类型长度主键或外键IDINT12PKEMAILVARCHAR50NICKNAMEVARCHAR50PASSWORDVARCHAR50USER_INTEGRALINT12IS_EMAIL_VERIFYCHAR3EMAIL_VERIFY_CODEVARCHAR50LAST_LOGIN_TIMEBIGINTLAST_LOGIN_IPVARCHAR15LAST_LOGIN_TIME最后登录时间LAST_LOGIN_IP最后登录IP地址BD_RECEIVE_ADDRESS表用户收货地址表表32D_RECEIVE_ADDRESS表字段名数据类型长度主键或外键IDINT12PKUSER_IDINT12FKRECEIVE_NAMEVARCHAR20FULL_ADDRESSVARCHAR200POSTAL_CODEVARCHAR8MOBILEVARCHAR15PHONEVARCHAR20IDADDRESS表的主键USER_ID对应用户的ID号,外键,用于连接两表RECEIVE_NAME收货人姓名FULL_ADDRESS收货地址POSTAL_CODE邮编MOBILE移动电话PHONE固定电话CD_CATEGORY表产品类别表表33D_CATEGORY表字段名数据类型长度主键或外键IDINT12PKTURNINT10EN_NAMEVARCHAR200NAMEVARCHAR200DESCRIPTIONVARCHAR200PARENT_IDINT10IDD_CATEGORY表主键TURN产品顺序EN_NAME产品英语名NAME产品中文名DESCRIPTION产品类别描述PARENT_ID产品父类的类别IDDD_PRODUCT表各种类型产品的共有信息表表34D_PRODUCT表字段名数据类型长度主键或外键IDINT12PKPRODUCT_NAMEVARCHAR100DESCRIPTIONVARCHAR100ADD_TIMEBIGINT20FIXED_PRICEDOUBLEHERE_PRICEDOUBLEKEYWORDSVARCHAR200HAS_DELETEDINT1PRODUCT_PICVARCHAR200TOTAL_NUMINT11SELL_NUMINT11IDD_PRODUCT表的主键PRODUCT_NAME产品名DESCRIPTION产品描述ADD_TIME产品添加时间FIXED_PRICE产品原价HERE_PRICE本站价格KEYWORDS关键字HAS_DELETED是否被删除PRODUCT_PIC产品图片TOTAL_NUM产品进购总数量SELL_NUM销售数量ED_GOODS表产品的特有信息表表35D_GOODS表字段名数据类型长度主键或外键IDINT12PK、FKBRANDVARCHAR50AUTHORVARCHAR200PUBLISHINGVARCHAR200PUBLISH_TIMEBIGINT20GUARANTEE_PERIODINT2STANDARDINT4WORD_NUMBERVARCHAR15WHICH_EDITIONVARCHAR15TOTAL_PAGEVARCHAR15BARCODEVARCHAR25AUTHOR_SUMMARYTEXTPRINT_TIMEINT20ID主键BRAND品牌AUTHOR作者PUBLISHING厂商或出版社PUBLISH_TIME生产日期或出版时间GUARANTEE_PERIOD保质期STANDARD规格WORD_NUMBER字数WHICH_EDITION几次修订TOTAL_PAGE总页数BARCODE条形码AUTHOR_SUMMARY作者介绍PRINT_TIME出版次数FD_CATEGORY_PRODUCT表类别和产品关系表(用于连接CATEGORY表和PRODUCT表)表36D_CATEGORY_PRODUCT表字段名数据类型长度主键或外键IDINT12PKPRODUCT_IDINT10FKCAT_IDINT10FKID主键PRODUCT_ID产品IDCAT_ID类别IDGD_ORDER表订单信息表表37D_ORDER表字段名数据类型长度主键或外键IDINT10PKUSER_IDINT10STATUSINT10ORDER_TIMEBIGINT20ORDER_DESCVARCHAR100TOTAL_PRICEDOUBLERECEIVE_NAMEVARCHAR100FULL_ADDRESSVARCHAR200POSTAL_CODEVARCHAR8MOBILEVARCHAR20PHONEVARCHAR20IDD_ORDER表主键USER_ID订单所对应的用户IDSTATUS订单状态ORDER_TIME订单提交时间ORDER_DESC订单描述RECEIVE_NAME收货人姓名FULL_ADDRESS收货地址POSTAL_CODE邮编MOBILE移动电话PHONE固定电话HD_ITEM表订单明细表表38D_ITEM表字段名数据类型长度主键或外键IDINT12ORDER_IDINT10PRODUCT_IDINT10PRODUCT_NAMEVARCHAR100HERE_PRICEDOUBLEPRODUCT_NUMINT10AMOUNTDOUBLEIDD_ITEM表主键ORDER_ID对应的订单IDPRODUCT_ID订单中产品的ID号PRODUCT_NAME订单中产品名HERE_PRICE产品单价PRODUCT_NUM购买的数量AMOUNT此条产品的价格小计33本章小结此章节介绍的是数据库的一些详细信息,数据库是一个项目的心脏,所有的数据存储在数据库中,如何将各种不同数据之间的关系设计好是最重要的,哪些字段设置为主键,哪些字段设置为外键,以及不同数据表之间的关系,是一对一、一对多还是多对多的关系,都需要根据具体的系统业务来设计,经过此系统较为复杂的数据库的设计,大大提高了我对数据的理解。4系统实现系统实现是软件项目开发过程中的主要部分,在系统实现中要有简洁、美观、可读性好、整体统一等准则。41系统功能简介本系统分为前后台两个部分,共有用户登录注册、商品展示、购物车、结账四大模块。登录注册管理注册时能够对用户名,密码的简单验证;能够对电子邮箱,EMAIL进行有效性验证;能够防止利用页面刷新重复注册,以及已经注册的用户不能重复注册。商品浏览分类显示商品;显示商品详情,提供购买链接。购物车管理欲购买商品可以增添到购物车;也可以从购物车退回商品,清空购物车;对于同一件商品的多次购买只能在原来的商品上增添数量,还可以修改购物车中某个商品的数量,统计商品总金额。订单管理只有登录的用户可下订单;用户可以查看自己的订单。管理员可以修改订单的状态。商品管理管理员可以增添商品分类;修改商品基本信息;增添商品时候可以上传图片。42功能模块实现421用户登录注册实现首先是会员登录,登录后能够下订单,本系统的登录界面如下图41用户登录界面首先是会员登录,登录后能够下订单,本系统的注册界面如下图42用户注册界面本系统主要对实现网上超市出售商品以及管理员管理,下面是网上超市系统的注册的核心代码。PACKAGECOMDANGACTIONUSERIMPORTJAVATEXTDATEFORMATIMPORTJAVATEXTSIMPLEDATEFORPUBLICCLASSREGISTACTIONPRIVATEUSERUSERPUBLICUSERGETUSERRETURNUSERPUBLICVOIDSETUSERUSERUSERTHISUSERUSERPUBLICSTRINGEXECUTEUSERDAOUSERDAONEWUSERDAOIMPL/调用持久层操作数据库TRYSTRINGPHONEUSERGETPHONESYSTEMOUTPRINTLNPHONESTRINGPWD1USERGETPASSWORDSYSTEMOUTPRINTLNPWD1STRINGPWDDEGISTUTILPRODUCEDEGISTCODEUSERGETPASSWORDSYSTEMOUTPRINTLNPWDUSERSETPASSWORDPWDUSERSETUSERINTEGRAL0/获取上次登录时的时间和IP登录时间是当前系统时间IP通过REQUEST来取得/LONGTIMESYSTEMCURRENTTIMEMILLISSTRINGSTR“YYYY年MM月DD日HHMM“DATEFORMATDDNEWSIMPLEDATEFORMATSTRDATEDNEWDATETIMESTRINGTTDDFORMATD/将LONG型时间转换成DATEFORMAT型USERSETLASTLOGINTIMETTSTRINGIPSERVLETACTIONCONTEXTGETREQUESTGETREMOTEADDRUSERSETLASTLOGINIPIPUSERSETEMAILVERIFYFALSESTRINGVERIFYCODEVERIFYUTILCREATEVERIFYCODEUSERSETEMAILVERIFYCODEVERIFYCODEUSERDAOSAVEUSERMAPSESSIONACTIONCONTEXTGETCONTEXTGETSESSIONSESSIONPUT“USER“,USER/EMAILUTILSENDEMAILUSERGETEMAIL,“验证码“VERIFYCODERETURN“SUCCESS“CATCHEXCEPTIONE/TODOHANDLEEXCEPTIONRETURN“ERROR“USERDAO中的关键代码PUBLICVOIDSAVEUSERUSERTHROWSEXCEPTIONCONNECTIONCONNDBUTILGETCONNECTION/创建连接PREPAREDSTATEMENTSTMCONNPREPARESTATEMENTINSERTSTMSETSTRING1,USERGETEMAILSTMSETSTRING2,USERGETNICKNAMESTMSETSTRING3,USERGETPASSWORDSTMSETINT4,USERGETUSERINTEGRAL/给SQL变量设置值IFUSERISEMAILVERIFYSTMSETSTRING5,“T“ELSESTMSETSTRING5,“F“STRINGSTR“YYYY年MM月DD日HHMM“DATEFORMATDDNEWSIMPLEDATEFORMATSTRSTRINGTIMEUSERGETLASTLOGINTIMEDATEDDDPARSETIMELONGTTDGETTIMESTMSETSTRING6,USERGETEMAILVERIFYCODESTMSETLONG7,TTSTMSETSTRING8,USERGETLASTLOGINIPSTMSETSTRING9,USERGETPHONESTMEXECUTEUPDATE/执行SQL语句422商品展示实现其次是商品展示,展示商品的信息,本系统的登录界面如下图43主界面商品展示图44商品详细展示本系统主要对实现网上超市出售商品以及管理员管理,下面是网上超市系统商品展示的核心代码。PUBLICGOODSSHOWONEGOODSINTIDTHROWSSQLEXCEPTION/TODOAUTOGENERATEDMETHODSTUBCONNECTIONCONNDBUTILGETCONNECTIONPREPAREDSTATEMENTSTMCONNPREPARESTATEMENTFINDGOODSSTMSETINT1,IDRESULTSETRSSTMEXECUTEQUERYGOODSGOODSNULLIFRSNEXT/循环查询结果,给GOODS赋值/GOODSNEWGOODSGOODSSETIDRSGETINT“ID“GOODSSETPRODUCTNAMERSGETSTRING“PRODUCT_NAME“GOODSSETDESCRIPTIONRSGETSTRING“DESCRIPTION“GOODSSETDANGPRICERSGETDOUBLE“DANG_PRICE“IFRSGETINT“HAS_DELETED“0GOODSSETHASDELETEFALSEELSEGOODSSETHASDELETETRUEGOODSSETBRANDRSGETSTRING“BRAND“GOODSSETAUTHORRSGETSTRING“AUTHOR“GOODSSETPUBLISHINGRSGETSTRING“PUBLISHING“STRINGSTR“YYYY年MM月“DATEFORMATDDNEWSIMPLEDATEFORMATSTRLONGTRSGETLONG“PUBLISH_TIME“DATEDNEWDATETSTRINGTTDDFORMATDGOODSSETPUBLISHTIMETTGOODSSETGUARANTEEPERIODRSGETINT“GUARANTEE_PERIOD“GOODSSETAUTHORSUMMARYRSGETSTRING“AUTHOR_SUMMARY“GOODSSETTOTALNUMRSGETINT“TOTAL_NUM“GOODSSETSELLNUMRSGETINT“SELL_NUM“RETURNGOODS423购物车实现再是购物车实现,可以存入商品,本系统的购物车界面如下图45系统购物车界面本系统主要对实现网上超市出售商品以及管理员管理,下面是网上超市系统购物车的核心代码。PUBLICCLASSORDERDAOIMPLEXTENDSBASEDAOIMPLEMENTSORDERDAO/先定义好所有的SQL语句PRIVATESTATICFINALSTRINGINSERT_ITEM“INSERTINTOD_ITEM“ORDER_ID,PRODUCT_ID,PRODUCT_NAME,DANG_PRICE,PRODUCT_NUM“,AMOUNTVALUES,“PRIVATESTATICFINALSTRINGINSERT_ORDER“INSERTINTOD_ORDER“USER_ID,STATUS,ORDER_TIME,ORDER_DESC,TOTAL_PRICE,RECEIVE_NAME,“FULL_ADDRESS,POSTAL_CODE,MOBILE,PHONEVALUES“,“PRIVATESTATICFINALSTRINGINSERT_ADDRESS“INSERTINTOD_RECEIVE_ADDRESS“USER_ID,RECEIVE_NAME,FULL_ADDRESS,POSTAL_CODE,MOBILE,PHONEVALUES“,“PRIVATESTATICFINALSTRINGFIND_BY_UID“SELECTFROMD_ORDERWHEREUSER_IDANDORDER_TIME“PRIVATESTATICFINALSTRINGUPDATE_BY_PRICE“UPDATED_ORDERSETTOTAL_PRICEWHEREID“PUBLICVOIDADDITEMINTID,LONGTIMETHROWSSQLEXCEPTIONDOUBLETOTALPRICE0PREPAREDSTATEMENTSTMGETCONNECTIONPREPARESTATEMENTINSERT_ITEMMAPSESSIONACTIONCONTEXTGETCONTEXTGETSESSIONCARTCARTCARTSESSIONGET“CART“/放入到SESSION中LISTLISTCARTLISTORDERORDERNEWORDERORDERFINDBYUIDID,TIMEINTORDERIDORDERGETIDFORCARTITEMCLISTIFCISBUYTRUETOTALPRICECGETPROGETDANGPRICECGETQTYSTMSETINT1,ORDERIDSTMSETINT2,CGETPROGETIDSTMSETSTRING3,CGETPROGETPRODUCTNAMESTMSETDOUBLE4,CGETPROGETDANGPRICESTMSETINT5,CGETQTYSTMSETDOUBLE6,CGETQTYCGETPROGETDANGPRICESTMEXECUTEUPDATEUPDATETOTALPRICE,ORDERIDPRIVATEORDERFINDBYUIDINTUSERID,LONGTIMETHROWSSQLEXCEPTIONPREPAREDSTATEMENTSTMGETCONNECTIONPREPARESTATEMENTFIND_BY_UIDSTMSETINT1,USERIDSTMSETLONG2,TIMEORDERORDERNEWORDERSTRINGSTR“YYYY年MM月DD日HHMM“DATEFORMATDDNEWSIMPLEDATEFORMATSTRRESULTSETRSSTMEXECUTEQUERYIFRSNEXTORDERSETIDRSGETINT“ID“ORDERSETUSERIDUSERIDORDERSETSTATUSRSGETINT“STATUS“LONGTRSGETLONG“ORDER_TIME“DATEDNEWDATETSTRINGTTDDFORMATDORDERSETORDERTIMETTORDERSETORDERDESCRSGETSTRING“ORDER_DESC“ORDERSETTOTALPRICERSGETDOUBLE“TOTAL_PRICE“ORDERSETRECENAMERSGETSTRING“RECEIVE_NAME“ORDERSETFULLADDRRSGETSTRING“FULL_ADDRESS“ORDERSETPOSTALCODERSGETSTRING“POSTAL_CODE“ORDERSETMOBILERSGETSTRING“MOBILE“ORDERSETPHONERSGETSTRING“PHONE“RETURNORDER424订单结账实现最后是订单结账功能,本系统的界面如下图46系统订单结算界面图47系统填写送货地址界面本系统主要对实现网上超市出售商品以及管理员管理,下面是网上超市系统购订单的核心代码。PUBLICLONGADDORDERADDRESSADDRTHROWSSQLEXCEPTIONDATEDATENEWDATELONGTIMEDATEGETTIMEPREPAREDSTATEMENTSTMGETCONNECTIONPREPARESTATEMENTINSERT_ORDERSTMSETINT1,ADDRGETUSERIDSTMSETINT2,0STMSETLONG3,TIMESTMSETSTRING4,“这是一本好书“STMSETDOUBLE5,0STMSETSTRING6,ADDRGETRECENAMESTMSETSTRING7,ADDRGETFULLADDRSTMSETSTRING8,ADDRGETPOSTALCODESTMSETSTRING9,ADDRGETMOBILESTMSETSTRING10,ADDRGETPHONESTMEXECUTEUPDATERETURNTIMEPUBLICVOIDADDADDRADDRESSADDRTHROWSSQLEXCEPTIONPREPAREDSTATEMENTSTMGETCONNECTIONPREPARESTATEMENTINSERT_ADDRESSSTMSETINT1,ADDRGETUSERIDSTMSETSTRING2,ADDRGETRECENAMESTMSETSTRING3,ADDRGETFULLADDRSTMSETSTRING4,ADDRGETPOSTALCODESTMSETSTRING5,ADDRGETMOBILESTMSETSTRING6,ADDRGETPHONESTMEXECUTEUPDATE43数据库实现使用JDBC连接池技术连接MYSQL数据库JDBC连接池技术可以支持多个JDBC连接,即多用户同时调用JDBC,通过设定最大连接数,最小连接数,最大等待数,闲暇时最大连接数等参数对用户访问数进行控制。连接池代码PACKAGECOMDANGUTILIMPORTJAVASQLCONNECTIONIMPORTJAVASQLSQLEXCEPTIONIMPORTJAVAUTILPROPERTIESIMPORTJAVAXSQLDATASOURCEIMPORTORGAPACHECOMMONSDBCPBASICDATASOURCEFACTORYPUBLICCLASSDBUTILPRIVATESTATICDATASOURCEDATASOURCE/定义数据源PRIVATESTATICTHREADLOCALCONNLOCALNEWTHREADLOCAL/创建一个本地线程STATICTRYPROPERTIESPROPSNEWPROPERTIESPROPSLOADDBUTILCLASSGETCLASSLOADERGETRESOURCEASSTREAM“DBCPPROPERTIES“/读取配置文件中的连接池配置DATASOURCEBASICDATASOURCEFACTORYCREATEDATASOURCEPROPSCATCHEXCEPTIONE/TODOHANDLEEXCEPTIONEPRINTSTACKTRACEPUBLICSYNCHRONIZEDSTATICCONNECTIONGETCONNECTIONTHROWSSQLEXCEPTIONCONNECTIONCONNCONNLOCALGET/创建连接IFCONNNULLCONNDATASOURCEGETCONNECTIONCONNLOCALSETCONN/取得连接RETURNCONNPUBLICSYNCHRONIZEDSTATICVOIDCLOSECONNECTIONTHROWSSQLEXCEPTIONCONNECTIONCONNCONNLOCALGETCONNLOCALSETNULLIFCONNNULL/关闭连接配置文件代码DRIVERCLASSNAMECOMMYSQLJDBCDRIVER/数据库驱动URLJDBCMYSQL/LOCALHOST3306/8SHOPUSEUNICODETRUECHARACTERENCODINGUTF8/项目地址USERNAMEROOT/账号PASSWORD1234/密码INITIALSIZE3MAXACTIVE15MAXIDLE2MINIDLE1MAXWAIT3000044本章小结此系统是一个小型的网上超市系统,但是在开发的过程中发现要做一个完整的系统需要的技术是很多的,并不是3、4种技术就能做出来的,需要各种跟编程有关或无关的技术相互整合,才能开发一个良好的系统,也让我明白了为什么开发一个大型的系统需要许多人一个团队的协作才能完成。在开发的过程中许多需要的技术都不懂或者用的不熟练,只有不停地查资料问百度,在这个过程中学习到了很多新知识,让我受益

温馨提示

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

评论

0/150

提交评论