首页 网上购物系统设计与实现

网上购物系统设计与实现

举报
开通vip

网上购物系统设计与实现摘要伴随着Internet的蓬勃发展,网络购物中心作为电子商务的一种形式正以其高效、低成本的优势,逐步成为新兴的经营模式和理念,人们已经不再满足用途信息的浏览和发布,而是渴望着能够充分享受网络所带来的更加多的便利。网络购物正适应了当今社会快节奏地生活,使顾客足不出户便可以方便快捷轻松地选购自己喜欢的商品。本系统便是尝试用JSP在网络上架构一个动态的电子商务网站,它是在WindowsXP下,以Oracle为数据库开发平台,Tomcat网络信息服务作为应用服务器,采用JSP(JavaServerPages)技术开发的网...

网上购物系统设计与实现
摘要伴随着Internet的蓬勃发展,网络购物中心作为电子商务的一种形式正以其高效、低成本的优势,逐步成为新兴的经营模式和理念,人们已经不再满足用途信息的浏览和发布,而是渴望着能够充分享受网络所带来的更加多的便利。网络购物正适应了当今社会快节奏地生活,使顾客足不出户便可以方便快捷轻松地选购自己喜欢的商品。本系统便是尝试用JSP在网络上架构一个动态的电子商务网站,它是在WindowsXP下,以Oracle为数据库开发平台,Tomcat网络信息服务作为应用服务器,采用JSP(JavaServerPages)技术开发的网上购物系统。他分前台部分和后台部分,前台部分由用户使用,主要包括用户注册,购物车管理,订单管理,个人资料管理,留言板管理等功能;后台部分由管理员使用,主要包括商品管理,处理订单,用户信息管理,链接信息管理等功能。建立后的网站系统是一个动态、交互式、具有商品提供、系统管理、用户留言等功能的电子商务网站。【关键字】JSPOracleTomcat网上购物系统DesignedintheOnlineshoppingsystembasedonJSPAlongwiththevigorousdevelopmentoftheInternet,e-commercenetworksasashoppingcenterisaformofitshighlyefficient,low-costadvantages,graduallyemergingasabusinessmodelandphilosophy,thereisnolongermeetuseanddisseminationofinformationbrowsing,butadesiretobringthefullenjoymentnetworkmoreconvenient.Internetshoppingisbeingadaptedtothefastpaceoftoday'ssocietytolive,sothatcustomerscanenjoytheconvenienceoffastandeasywaytopurchasetheirownlikecommodities.ThesystemistryingtouseJSPinadynamicnetworkofe-commercewebsitesstructure,whichisinWindowsXP,SQLServer2000fordatabasedevelopmentinplatform,Tomcatapplicationserverasanetworkinformationservices,useJSP(JavaServerPages)technologydevelopmentonlineshoppingsystem.Prospectsandthebackgroundofsomeofhishours,theprospectsofusers,includingusersregistered,ashoppingcartmanagement,ordermanagement,personalinformationmanagement,messageboardmanagementfunctions;Backgroundinpartbymanagers,includingcommoditymanagement,processingorders,customerinformationmanagement,informationmanagement,andotherfunctionslinks.Aftertheestablishmentofthewebsiteisadynamic,interactive,withcommodities,systemsmanagement,voicemail,andotherfunctionsofthee-commercewebsiteusers.KeywordsJSP;Oracle;Tomcat;Onlineshoppingsystem第一章前言1.1系统的开发背景及意义1.1.1系统的开发背景一、需求的产生随着市场经济的逐渐形成,全球化经济已在国内迅速发展起来。以往的销售模式正在受到空前的挑战:人们已经对去固定的场所、购买(出售)固定的物品的交易方式所带来的不便越来越感到不满,交易时间长、效率低。高额的运费、销售场地的凭租费等繁多的额外开支也给商家带来沉重的成本支出。为了适应市场、适应经济前进的步伐,买家和商家都在努力积极地寻找一种能够带来高效率、低成本销售模式。计算机及世界互联网的飞速发展使得这种新的销售模式成为可能。近来网上商城已慢慢被人们所熟悉,网上购物这种生活方式已悄然形成。网上商城使得商家可以把商店开到互联网上来、而买家也可以到互联网上选择购买自己喜欢的东西。网上商城不需要商店的凭租费;新商品可以用最短的时间吸引顾客的眼球,因为它不需要那么长的运输时间。网上商城为商家节省了大笔的运输费用、场地凭租费等额外成本,同时也为买家带来了无穷的方便性。因为它不需要你花上半天活一天的时间去商场在玲郎满目的众多商品中选择你需要的东西。网上商城使得“买东西、不出门”成为现实。随着计算机技术、通信技术的日益发展,互联网的逐步深入与应用,网上商城越来越多的出现在我们的身边,它直接作为一种先进的交易方式,被越来越多的人所接受。网上购物最大程度地方便了用户,你可以通过WWW浏览器实现WEB购物。网上购物不仅改变了公司进行运作的模式,使网上商城成为传统商务的补充和发展,也使人们改变了消费的观念和消费习惯。自从几十年前电子计算机的出现,就为网上购物的发展创造了客观条件。但是它的发展还要借助于网络,所以其快速发展是在因特网的广泛应用上。可以预见,网上购物将成为商业普及、贸易的主流,必将影响着千家万户的生活和消费行为,并日益成为社会商业贸易活动的重要形式廉价的网络资源使得网上商城成本低廉,世界性的互联网络带来无比宽阔的市场,给商家/买家带来的众多利益带来无限需求。二、国内外形势国外网上购物形势:(1)美国市场研究公司Forrester预测,美国“企业对企业(BtoB)"销售将从1997年的190亿美元,迅速窜升到2000年的2510亿美元,进而升至2004年的1.4亿万美元,每年翻番。同期在GDP中所占的比重从0.2%上升到9.7%。美国投资银行GoldmanSachs同样乐观,预测美国电子商务销售将从今年的1140亿美元增长到2004年的1.5亿万美元。据美国MerrillLynch投资银行的研究表明,最受电子商务影响的行业是计算机技术和电子业,2003年它们在因特网上的交易将达3950亿美元,随后依次是公用事业、航运、仓储、石化、汽车等。美国今年3月6日公布了第一个官方的全国网络销售统计数据,1999年,美国“企业对企业"的交易额达到了1450亿美元,大大高于200亿美元的“企业对消费者(BtoC)"的网上交易额。电子商务的迅速崛起,使越来越多的美国公司感到缺了它不行,并产生了一种紧迫感。据调查,约有60%的公司认为电子商务重要,而42%的公司甚至说,如果不搞电子商务,公司生存将面临威胁。据报道,美国英特尔公司(Intel)每年有150亿美元的销售是在线完成的;全球最大的网络设备供应商思科公司(Cisco)40%的销售收入是靠网络实现的。(2)欧盟正在为新经济的到来做好准备。欧盟 计划 项目进度计划表范例计划下载计划下载计划下载课程教学计划下载 拿出更多的钱用于教育,所有的学校要在2001年以前上网,所有的教师应在2002年之前接受使用因特网的训练,所有的公民在2005年之前应具有在这方面接受训练的可能性。(3)据日本投资机构所罗门集团最新公布的一项调查报告显示,Internet可以给日本固步自封的传统经济带来变革,从而有可能使日本发展成世界最大的电子商务市场。世界电子工业巨头日本索尼公司今年2月1日宣布,该公司将从即日起通过Internet销售该公司的电子产品。其它公司也闻风而动,一场网络销售的变革有望在日本发生。日本企业对企业间的电子商务的贸易总值两年前只有9万亿日元,行家预计,到2003年之前这一数值有望扩大到67万亿日元。(4)WTO短期内不会向电子商务征税,1999年年底在西雅图举行的世贸组织多边会谈达成一项决议,对Internet网上交易将延缓征税。WTO部长们普遍认为,政府不应该对新生的电子交易干涉过多。美国商务部秘书WilliamDaley说,预计这项政策将持续到两年左右。他还说:“这项征税禁令并非永久性的,它只会持续18个月到2年。"美国在线、微软和AT&T等电信业和网络公司在此之前已经向美国贸易官员极力游说不要向Internet商贸征税。微软的一位发言人说:“这项决议对于世界经济的发展大有裨益。”分析家们预计,电子商务的交易额在未来六年内将达到2万亿至5万亿美元,其中美国境内的交易额将占到一半以上。国内电子商务形势分析:一项由信息产业部与赛迪网共同举办的调查显示,截止到2000年3月底,我国已有消费类电子商务网站1100多家,其中购物类网站近800家,拍卖类网战有100家左右,服务类网站中远程教育网站180家,远程医疗网站20家。1999年,电子商务销售5500万元,有人甚至预言今年将达人民币3.5亿元。8848、Eachnet、Yabuy等新兴的网络公司开起了网上销售业务。联想、方正、海尔等开始尝试BtoB业务。互联网研究与发展中心(CII,www.cii.net.cn)8月8日在京发布的《CII中国电子商务指数报告》显示,2000年CII中国电子商务总指数为51.91,目前中国电子商务尚处于起步阶段。其中,CII电子商务安全指数最高,为58.84;而电子商务效益指数最低,为37.76;技术与应用发展不平衡:(1)从交易额看,中国电子商务交易金额少,在社会商品零售额中尚未形成规模,不是交易的主流;(2)开展电子商务基础设施仍较差;(3)从交易内容看,交易主要限于书籍、光盘、计算机及相关产品、信息咨询服务等,传统产品少、实物性商品交易比重较低;(4)从付款方式看,主要是货到付款方式,即以网下付款为主;(5)从用户满意度看,对基础设施、交易品种、结算方式、货物佩松、信誉程度等方面,总体 评价 LEC评价法下载LEC评价法下载评价量规免费下载学院评价表文档下载学院评价表文档下载 还是不很满意;(6)从政策环境看,对于我国电信资费、投资融资、安全保障、法律法规等方面的满意程度不是很高。测算结果还显示,电子商务比传统交易方式节省11.61%的费用和19.34时间。三、网上购物系统的现状目前在国内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应该是未来发展的趋势。世界上一些大的电子商务解决 方案 气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载 提供商都采用JSP/Servlet。比较出名的如IBM的E-business,它的核心是采用JSP/Servlet的WebSphere;西方另外一个非常著名的电子商务软件提供商,Intershop。它原来的产品Intershop12,3,4占据了主要的电子商务软件份额。它们都是通过CGI来提供支持的。但去年10月后它推出了Enfinity,一个采用JSP/Servlet的电子商务ApplicationServer,而且声言不再开发传统软件。总的来说,ASP,PHP,JSP三者都有相当数量的支持者,而这三者也各有所长,在开发过程中,我们应该根据实际的需要来使用最合适的技术,本系统则采用较新的jsp技术,一方面jsp的安全性和跨平台性比较好,另一方面,我也希望能从开发该系统的过程中,深入学习一下这门编程语言。1.1.2系统开发的意义Internet的发展,为改变传统的商业运作模式提供了一种技术上的可行性的方案:利用Internet的技术和协议,建立各种企业内部网Intranet,企业外部网Extranet,通过廉价的通讯手段,将买家与卖家、厂商和合作伙伴紧密结合在了一起,消除时间与空间带来的障碍,从而大大的节约了交易成本,扩大了交易范围。而在实际的生活中,这种方案已经被广泛的运用到了实际的商业活动中了,人们将这种交易模式称为电子商务。当今比较流行的网上购物系统国外有“淘宝(www.taobao.com)”,国内有“当当(www.dangdang.com)”。它们都是相当优秀的电子商务网站,对其他的网站提供了良好的典范。设计中可以学习参考他们的思想,了解和熟悉整个网站的开发流程及完整的电子商务网站应有的功能和注意事项。设计和完成一个电子商务网站的,将会牵涉到许多技术上的问题,如:动态网页制作技术的,后台数据库的设计和管理,通过实际的制作个网站,可以避免纸上谈兵,在实践中掌握上述技术的使用。1.2系统概述系统分析是平台开发的一个不可缺少的环节,为了能够使本系统更好、更完善地被设计出来,就必须先进行调查研究。在系统调查的基础上,对新系统的功能进行细致的分析,从而才能够开发出完整的系统设计一、网站的设计目标本平台利用现在比较广泛的JSP+Oracle数据库的架构实现的,此系统分为前台管理和后台管理。前台管理是友好的操作界面,供用户浏览、查询使用。包括:浏览商品、查询商品、订购商品、购物车、用户维护等功能;后台管理是提供给管理员的,其中包括:商品管理、用户管理等。使管理员从繁琐的手工操作中解脱出来,并提高了办公效率。二、网站的可行性分析随着计算机技术的发展和网络人口的增加,网络世界也越来越广博,越来越丰富,电子商务已经成为网上的一股潮流。我们相信要不了太长有时间,顾客就可以在网络世界上获得他们在现实世界上可以获得的所有商品和服务。可行性研究是为了弄清楚系统开发的项目是不是可以实现和值得进行研究的过程,实际上是一次大大简化系统分析和系统设计的过程,所以,进行可执行性的分析是非常必要的,也是很重要的,经过最初的设计目标和进行的市场调查得出以下四点的可行性分析:(1)经济可行性:该平台设计只是作为本人的毕业设计,又因为本人的设计能力有限,其功能还不能完善,所以没有什么经济效益可谈。(2)技术可行性:JSP+Servlet的技术已经较为成熟。(3)运行可行性:该系统需要搭建JVM即JAVA虚拟机和Tomcat环境,在此环境下系统,并且在正确连接数据库后可以正常运行。(4)法律可行性:该平台是作为毕业设计与商业无关,又因为是自主开发设计,因此不会构成侵权,在法律上是可行的。通过以上的可行性分析,我将采用JSP+Servlet相结合的技术,运用Access数据库对网站进行建设。三、网站的深入调查经过以上的初步调查和研究,并且确定了该平台的可行性,并决定开发本平台,为了能够对现行的平台内容进行充分了解,使所要开发的平台更具有实用性和适应性,通过两个月的实习调查和指导老师的耐心介绍,设计出该平台功能如下:1.能够完成用户基本信息录入的注册和用户基本信息的个人前台与后台管理。2.能够完成管理员对网站的商品资料(商品添加、商品审查)会员管理(会员审查)、网站信息管理(新闻添加、修改删除、公告设置),以及常规设置(广告添加,友情链接)的功能。3.能过电子商品的名称,电子商品的分类进行搜索。4.能够通过查看购物车对所选商品进行确定、挑选,通过定单查询对支付费用进行确定。经过前一阶段的调查与研究分析,我已确定了该平台设计的主要功能,对每个功能模块也作了具体描述,下面就来具体分析该平台的设计特点与具体思想。四、网站设计的特点我所设计和开发的网上购物平台是经过很长时间的调查和分析才开始具体实施的,它的主要特点是改变了以往的购物只能过现实的商场才能达到的结果,采用Web技术,借助于Internet互联网广泛应用技术,达到资源共享,提高以往购物的局限性,缩短人们的时间和提高工作效率,具有较好的交互性,从而实现信息化, 规范 编程规范下载gsp规范下载钢格栅规范下载警徽规范下载建设厅规范下载 化,系统化,网络化的平台,使整个购物活动过程简单、方便、易行。五、网站开发的设计思想网上购物平台主要是对后台管理和前台操作。后台管理是管理员对本网站的维护,通过商品资料(商品添加、商品修改)会员管理(会员审查)网站信息管理(新闻添加、修改删除、公告设置),以及常规设置(广告添加,友情链接)等功能达到对网站的管理。前台操作是用户登录到本网站,可以进行用户注册,通过网站的精品推荐或商品搜索功能,找到自己想要买的商品,装入购物车,提交定单进行购买。网上购物平台的特点是客户和电子商品信息量很大,管理员需要整理的信息很多,为让管理员轻松、方便、快捷的管理,该平台采用符合购买电子商品基本的原则,满足广大客户的日益增长的数量,并达到操作过程中的直观、方便、实用、安全等要求。六、系统设计的总体规则无论哪个网站都要有它自己的设计规则。该平台也一样,它的主要设计规则有:简单性:在实现平台的功能的同时,尽量让平台操作简单易懂,这对于一个网站来说是非常重要的。针对性:该平台设计是网上购物系统及后台管理的定向开发设计,所以具有专业突出和很强的针对性。实用性:该平台能完成电子商品展示和管理员管理的基本信息,具有良好的实用性。七、系统的主要架构及开发模式系统的建设关键在于其所使用的架构,而网上购物这种基于web的系统,传统的c/s架构已经不能满足大量用户的访问和操作,b/s基于浏览器的架构则是目前网络系统应用的主流,它将大量的数据处理工作交给服务器端来处理,客户端只用通过普通的IE浏览器即可访问系统,方便快捷而且利于系统的更新和维护,java语言在该方面更是得天独厚,j2ee规范的出现则使系统的开发更加规范,层次更加清楚,更利于对复杂事务的处理,而且在安全性方面也做的更好。基于mvc的开发流程则使开发过程更加清晰明了,利于做一些复杂的逻辑实现,从而节省了开发周期和开发成本。八、基于B/S的体系结构:在B/S体系结构系统中,用户通过浏览器向分布在网络上的许多服务器发出请求,服务器对浏览器的请求进行处理,将用户所需信息返回到浏览器。B/S结构简化了客户机的工作,客户机上只需配置少量的客户端软件。服务器将担负更多的工作,对数据库的访问和应用程序的执行将在服务器上完成。浏览器发出请求,而其余如数据请求、加工、结果返回以及动态网页生成等工作全部由WebServer完成。实际上B/S体系结构是把二层C/S结构的事务处理逻辑模块从客户机的任务中分离出来,由Web服务器单独组成一层来负担其任务,这样客户机的压力减轻了,把负荷分配给了Web服务器。这种三层体系结构如图3.1所示。Browse浏览器Web服务器数据库图1-1B/S三层架构示意图这种结构不仅把客户机从沉重的负担和不断对其提高的性能的要求中解放出来,也把技术维护人员从繁重的维护升级工作中解脱出来。由于客户机把事务处理逻辑部分分给了功能服务器,使客户机一下子"苗条"了许多,不再负责处理复杂计算和数据访问等关键事务,只负责显示部分,所以维护人员不再为程序的维护工作奔波于每个客户机之间,而把主要精力放在功能服务器上程序的更新工作。这种三层结构在层与层之间相互独立,任何一层的改变不会影响其它层的功能。1.3系统开发工具及相关技术简介1.3.1系统开发环境操作系统是windows2000、windowsxp或linux开发环境是JDK1.6+TOMCAT+ORACLE。开发工具是ECLIPSE(MYECLIPSE)1.3.1JSP技术简介在传统的网页HTML文件(*.htm,*.html)中加入Java程序片段(Scriptlet)和JSP标记(tag),就构成了JSP网页(*.jsp)。JSP页面看上去象 标准 excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载 的HTML和XML页面,并附带有JSP引擎能够处理和抽取的额外元件。Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序片段,然后将执行结果以HTML格式返回给用户。程序片段可以操作数据库、重新定向网页以及发送E-mail等,这就是建立动态网站所需要的功能。所有程序都在服务器端执行,网络上传送给客户端的仅是得到的结果,对客户浏览器的要求最低。它基于强大的Java语言,具有良好的伸缩性,在网络数据库应用开发领域具有得天独厚的优势。JSP技术在多个方面加速了动态Web页面的开发:(1)将内容的生成和显示进行分离使用JSP技术,Web页面开发人员可以使用HTML或者XML标识来设计和格式化最终页面。使用JSP标识或者小脚本来生成页面上的动态内容(内容是根据请求来变化的,例如请求帐户信息或者特定的一瓶酒的价格)。生成内容的逻辑被封装在标识和JavaBeans组件中,并且捆绑在小脚本中,所有的脚本在服务器端运行。如果核心逻辑被封装在标识和Beans中,那么其他人,如Web管理人员和页面设计者,能够编辑和使用JSP页面,而不影响内容的生成。在服务器端,JSP引擎解释JSP标识和小脚本,生成所请求的内容(例如,通过访问JavaBeans组件,使用JDBCTM技术访问数据库,或者包含文件),并且将结果以HTML(或者XML)页面的形式发送回浏览器。这有助于作者保护自己的代码,而又保证任何基于HTML的Web浏览器的完全可用性。(2)强调可重用的组件绝大多数JSP页面依赖于可重用的,跨平台的组件(JavaBeans或者EnterpriseJavaBeansTM组件)来执行应用程序所要求的更为复杂的处理。开发人员能够共享和交换执行普通操作的组件,或者使得这些组件为更多的使用者或者客户团体所使用。基于组件的方法加速了总体开发过程,并且使得各种组织在他们现有的技能和优化结果的开发努力中得到平衡。(3)采用标识简化页面开发Web页面开发人员不会都是熟悉脚本语言的编程人员。JavaServerPage技术封装了许多功能,这些功能是在易用的、与JSP相关的XML标识中进行动态内容生成所需要的。标准的JSP标识能够访问和实例化JavaBeans组件,设置或者检索组件属性,下载Applet,以及执行用其他方法更难于编码和耗时的功能。通过开发定制化标识库,JSP技术是可以扩展的。今后,第三方开发人员和其他人员可以为常用功能创建自己的标识库。这使得Web页面开发人员能够使用熟悉的工具和如同标识一样的执行特定功能的构件来工作。(4)JSP能提供所有Servlets功能与Servlets相比,JSP能提供所有Servlets功能,它比用Println书写和修改HTML更方便。可以更明确地进行分工,Web页面设计人员编写HTML,只需留出空间让Servlets程序员插入动态部分即可。JSP技术能够支持高度复杂的基于Web的应用。(5)健壮的存储管理和安全性由于JSP页面的内置脚本语言是基于Java编程语言的,而且所有的JSP页面都被编译成为JavaServlet,JSP页面就具有Java技术的所有好处,包括健壮的存储管理和安全性。(6)一次编写,各处运行作为Java平台的一部分,JSP拥有Java编程语言“一次编写,各处运行”的特点。随着越来越多的供应商将JSP支持添加到他们的产品中,您可以使用自己所选择的服务器和工具,更改工具或服务器并不影响当前的应用1.3.2JDBC技术简介一、JDBC概述jdbc是一种可用于执行SQL语句的JAVAAPI,由一些JAVA编写的类和界面组成。JDBC为数据库应用人员和数据库前台工具开发人员开发了一种标准的接口,使开发人员可以用存JAVA语言编写完整的数据库应用程序.二、JDBCDRIVER的四种驱动1、jdbcodbc桥(bridge)过程:Java->jdbc-odbc桥->odbc->厂商的db源码->数据库server特点:a、可以实现java和odbc的交互b、必须通过jdbc-odbc桥和odbc衔接后才可以和数据库建立通信,。。效率低c、必须在客户端安装odbcjriver,由于无法在网络中要求所有用户安装odbc驱动,因此不适合在internet中应用。d、适合实验。不适合项目。2、部分java实现的本地API驱动过程:java->本地API驱动->数据库server特点:不需要有复杂的中间过程就可以和数据库建立通信,在效率上相对与第一驱动功能有显著的提高。必须要求客户端下载本地API驱动程序才能保证和数据库的通信,通用性不好,也不合适在internet上应用。3、纯java实现的网络驱动:type3数据库频繁切换时用过程:java->网络协议驱动->中间件服务器(可以和多种数据库进行交互,功能庞大)->数据库server特点:a、由于大部的功能都是由中间件服务器来实现,因此网络协议驱动下的下载及安装十分的方便,从而相对前两种驱动提了效率b、由于中间件服务器提供多种数据库的交互支持,因此适合要求和多种数据库连接的应用程序使用。c、设计思想来源于分层的开发,任务分明,保持良好的低耦合度。d、有中间服务器的转换过程,因此效率不是最高的一种驱动。4、纯java实现的本地协议驱动:type4过程:java--》本地驱动————》数据库server特点:a、由于几乎没有和中间件交互过程,效率很高。b、驱动和应用程序容为一体,只需要下载就可以使用方便c、适合应用程序始终谅解一种数据库的要求。三、JDBC编程涉及到API举例1、Driver:驱动"oracle.jdbc.driver.OracleDriver"2、DriverManager:驱动管理器,产生连接对象(Connetion)3、Connection连接对象类实例对应一个数据库源4、Statement:专门用于和数据库的交互5、PreparedStatement:效率上有提高的statement,可以设置参数6、CallableStatement用于操作数据库端的“存储过程”7、ResultSet:结果集8、DatabaseMetadata:数据库的元数据9、ResultSetMetada:结果集的原数据可以通过Metadata实例获取数据库和结果己的相关信息10、Types类型四、JDBC编程基本步骤1)、注册驱动Class.forName("oracle.jdbc.driver.OracleDriver");2)、建立连接Connectionconn=DriverManager.getConnection(url,pro);3)、创建专门和数据库交互的statment对象Statementstmt=conn.createStatement();4)、执行sql语句Stringsql="select*fromusers";ResultSetrs=stmt.executeQuery(sql);5)、处理查询结果while(rs.next()){System.out.print(rs.getInt(1)+"");System.out.print(rs.getString(2)+"");System.out.println(rs.getInt(3));}6)、关闭数据库及相关的对象rs.close();stmt.close();conn.close();五、JDBC中的异常处理框架try{conn.setAutoCommit();......conn.commint();}catch(Excptione){conn.rollback();}finally{close(conn,stm)}1.3.3ORACLE简介由于数据库能够方便的存储和读取数据,所以是存放数据的最好场所,而oracle是目前世界上最好用的使用最广的数据库。一、关系型数据库1)1970年提出2)最早提出关系型数据库理论的公司是IBM3)最早作出型数据库产品的公司是Oracle4)关系型数据库理论:a)数据库由一系列的对象组成,最常见的一种是表(table),其它对象还包括索引、视图、同义词、序列等b)通过一定的操作作用于这些对象通过SQL语言对对象进行CRUD操作c)为保证数据的完整性与一致性,数据要有一定的规则(约束)二、SQL、SQL*Plus和PL/SQL1)SQL:结构化的查询语言,是由ANSI负责维护的2)SQL*Plus:命令行形式的Oracle客户端软件,可以去执行SQL语言也是一个简单的报表编辑器它维护着一个buffer,缓存着最后一次执行的SQL语句3)PL/SQL:是oracle公司在标准的SQL的基础上增加了一些新的内容形成的一种语言,仅仅能操作oracle操作三、SQL语言的分类1)Dataretrieval(数据获取语言):SELECT2)Datamanipulationlanguage(数据操作语言):INSERT、UPDATE、DELETE3)Datadefinitionlanguage(数据定义语言):CREATE,ALTER,DROP,RENAME,TRUNCATE4)Transactioncontrol(事务控制语言):COMMIT,ROLLBACK,SAVEPOINT5)Datacontrollanguage(数据控制语言):GRANT,REVOKE四、登录到数据库1)sqlplus2)sqlplususername3)sqlplususername/password:不安全五、语法1、SELECT[DISTINCT]{*,column[alias],....}FROMtable;*:表示所有的列DISTINCT:表示去掉重复的行,只显示一次1)出现的位置:a、紧跟在select后面b、组函数中2)如果distinct后面跟多个列表示多个列联合唯一2、给列指定别名:只需要在列名后面加上别名,中间用空格隔开如:selectfirst_nameasnamefroms_emp;3、如何将两个列的内容连在一起只需要在两个列中间加上||如:selectfirst_name||last_namefroms_emp;4、什么是空(null)以及如何处理在oracle中没有分配值就是null,一个表达式中只要有一个列为空,整个表达式就为空,可以使用空值转换函数(NVL)处理空值,这个函数有两个参数,一个是可能出现空值的列,另外一个参数是如果出现空值要替换的值,两个参数的类型要一致默认右对齐,默认大写,时间、字符串用单引号5、如何查看表结构使用desc[ribe]关键字如:desc[ribe]s_emp;6、oracle中常用的数据类型number:存放任何数字number(p,s)number(p)==number(p,0)char[(5)]:定长,默认值是1,char与char(1)相同varchar(20):不定长varchar2(20):不定长,(oracle特有,与varchar是一样的)date日期:一共有七个时间分量(世纪/年/月/日/时/分秒)七、sql*plus的常用命令(1)A[PPEND]text:在当前行后面追加(2)/:表示执行sqlplusbuffer中的内容(3)C[HANGE]/old/new更改当前行的内容(4)CL[EAR]BUFF[ER]清空buffer(5)DEL删除当前行(6)I[NPUT]text:表示在当前行后面新增加一行(7)L[IST]n:显示buffer中的内容(8)ntext:整行替换(9)!:表示暂时退出SQLPLUS,执行unix的命令SAVEfilename:将所执行的SQL命令保存成一个文件GETfilename:将文件中的SQL命令加载到buffer中STARTfilename:将文件中的SQL命令加载到buffer中并执行@filename:和start是一样的EDITfilename:编辑保存SQL命令文件SPOOLfilename:录屏EXIT:退出sqlplus八、常见的单行函数1、理字符串LOWER:变成小写UPPER:变成大写INITCAP:把首字母变成大写,其它小写CONCAT:连接字符串SUBSTR:截取字符串LENGTH:字符串的长度;2、理空值NVL:替换空值3、理数字a、ROUND:四舍五入b、TRUNC:直接舍去c、MOD:求余数4、理日期MONTHS_BETWEENS:计算两个日期之间相关的月ADD_MONTHS:给一个日期加上几个月NEXT_DAY:计算一个日期的下一个星期几LAST_DAY:计算一个月的最后一天ROUND:走过一半加上,没有过一半舍去TRUNC:直接舍去八、事务(transaction)事务是组合在一起不可分割的几个操作,多个操作要么同时失败,要么同时成功事务的特点(ACID):1)原子性(atomicity):多个操作不可分割,要么同时失败,要么同时成功2)一致性(consistency):事务操作前后,数据要保持一致如:转帐前两个帐户的余额总和为1000,那么转帐后两个帐户的余额总和也应该是10003)隔离性(isolation):一个事务在执行过程中,其他事务是不可见的,就好像同一时刻只有一个事务在执行4)持久性(durability):事务结束以后要将事物持久的保存在物理设备上,保证下次依然能够看到数据九、表结构的操作1、新增加列ALTERTABLEtable_nameADD(columndatatype[defaultexpr][notnull][,columndatatype]...);a、新增加列的同时可以增加一个默认值b、新增加列的同时只能加notnull约束2、修改列ALTERTABLEtable_nameMODIFY(columndatatype[defaultexpr][notnull][,columndatatype]...);a、将列的宽度变窄,当且仅当表中没有记录或者是该列为空b、将列的类型改变,当且仅当表中没有记录或者是该列为空c、如果给某个列增加默认值,只对后插入的记录有影响d、如果表中已经有记录,不能给某个列加上非空约束3、删除列ALTERtabletable_namedropcolumncol_name不管要删除的列中有没有记录,都可以删除4、重命名列(10g之后的版本)ALTERtabletable_nameremamecolumnold_nametonew_name;十、约束的修改1、新增加一个约束altertabletable_nameadd[constraintconstrait]type(column);2、使约束失效altertabletable_namedisableconstraintcon_name;3、使约束生效altertabletable_nameenableconstraintcon_name;一个约束生效以后要验证表中的全部记录,而不是只验证失效之后插入的记录4、删除约束altertabletable_namedropconstraintcon_name;第二章系统需求分析2.1系统功能需求分析一、功能块划分网上商城共分两个部分,一部分是面向用户的部分,包括:顾客在线注册、购物、提交订单、付款等操作;另外一部分是商城管理部分,这部分的内容包括:产品的添加、删除、查询、订单的管理、操作员的管理、注册用户的管理等。二、功能块描述1、面向用户部分功能:(1)注册功能。顾客首先要注册为网上商城的用户。注册时只要填写登录用户名、密码、联系电子信箱3项信息即可。注册后,用户可继续如实填写详细个人信息及收货人信息,同时可修改密码、查询及修改订单。(2)选择产品功能。顾客浏览网上商城,将自己需求的产品放入到购物车中(可在网上商城首页、专柜首页、产品小类、专卖店首页、搜索结果页面、产品详细信息页面进行该操作),可连续添加商品。(3)管理购物车。顾客选择完商品后可进入购物车页面,查看自己要购买的商品,可修改某一商品数量、取消购买某商品和清空整个购物车。(4)订单功能。顾客确定购物车中的商品后提交订单,如顾客已填写收货人信息,则页面显示该信息并由顾客确认。如尚未填写则显示相应表单请其填写,系统记录顾客提交的收货人信息以便其下次购物时使用。顾客提交订单后可在网上商城查询该订单,并可对尚未处理的订单进行取消、修改等操作。(5)付款功能。顾客在订单被销售方确认后,要选择付款方式,并付款给销售方,然后才可以收到货。2、后台管理部分功能:(1)管理人员部分。该部分的用户有一个超级管理员以及若干个普通管理员,超级管理员拥有最高权限,可访问所有订单,可浏览、查询、修改订单,可进行界面管理,可浏览、修改普通管理员和会员的资料,普通管理员分两种,一种是订单管理员:主要负责订单管理,可浏览、修改订单状态,可浏览会员信息;另一种是界面管理员:主要负责界面管理,可增、删商品和广告等操作。(2)管理订单功能。顾客可通过Web方式取消、修改自己提交的订单(在管理员确认前),查询自己提交的订单(随时)。如订单的状态在一定时限(如12个小时)后仍没有发生变化(“订单关闭”状态除外),系统自动提醒管理员(如该订单变色,弹出提醒窗口等方式。订单状态发生变化,系统自动发E-mail给顾客,“无效订单”、“订单关闭”状态除外)。(3)管理商品功能。管理员可以添加、修改、删除商品。2.2系统性能需求分析1、数据精确度价格单位保留到分。2、适应性购物流程要简单明了,产品图片要清楚,产品信息描述准确。2.3平台功能模块的设计分析在平台功能的分析基础上,得到本平台的功能模块图如下:网上购物平台index.jsp。商品修改用户管理管理进入新闻管理用户注册商品管理商品添加会员管理广告链接新闻修改新闻添加广告设置链接管理商品名称用户修改会员删除商品搜索网站布局图2-1平台购物模块图2.4系统流程分析前台购物流程浏览商品选择商品订购商品去购物车去收银台提交订单未注册用户已登录注册用户未登录注册用户注册登录图2-2前台购物流程图注册功能流程注册入口必选项为空用户名有效?2次输入密码是否一致?密码长度符合要求?E-mai地址有效效?其他信息有效注册成功图2-3注册功能流程图注册的具体实现为:点击主页面的用户注册选项后,会弹出一个注册信息页面,用户需要如实填写用户名,密码,E_mail,地址,电话,真实,姓名等各项信息,提交后,系统进行检测判断该用户名是否已经注册过,如果已经存在则弹出新页面,提示用户该用户名已经注册过,如果没有则进行下一步判断,用户输入的两次密码是否一致,然后依次往后判断用户所填写的各项信息是否符合要求,直到所有信息均正确无误,系统将该用户注册信息写入会员表即member并提示用户注册成功,用户登陆后,就可以进行有效的购物了。商品搜索流程图2-4商品搜索流程图开始搜索输入条件搜索结果查看商品购物车下订单续搜索是否商品的搜索功能使用户更加方便的进行自己所需要的商品的查询,节省时间,提高效率。用户搜索时只要输入商品的关键字就能搜索到所有相关的商品。并且能列出通过搜索得到的商品的详细信息。用户登录流程用户登录,首先要有一个提供用户登录的表单。用户登录的表单应该嵌入整体的结构当中。在实际的应用中,可以这样设计,如果用户没有登录,则在页面中显示用户登录的选项,用户登录后,则可隐藏用户登录的选项而代之以用户的基本信息。首先,用户要有一个用户名和密码。商务网站需要很高的稳定性和安全性,因此对用户名不允许使用恶意的代码作为用户名。同时对密码也要求保密,将密码加密后再存入数据库。另外,一个电子商务网站。用户的真实姓名是必不可少的。除此之外还需要用户的性别、E-MAIL、电话号码等。登录入口取得用户名和密码将UserID存入session中查询用户是否存在核对密码是否正确登录成功是是否否图2-5用户登录流程图,计算机范文网www.jsjfw.net,商品管理流程图2-6商品管理流程图在该功能里管理员可以进行不需要的商品的删除,在这里管理员当然也可以浏览到商品的详细信息。并且比普通用户在浏览商品界面里所看到的商品信息多一个该商品在数据库中的ID。商品管理查询商品修改删除满意否返回添加商品是否购物车流程购物车具体的实现可采用这种形式:定义一个购物车的类(Class)。1.列出商品的列表,使用户能够自由选择所需要的商品。2.当用户在点击“添加到购物车”的链接时,执行如下功能:检查用户购物车类是否存在。如不存在,则建立,并注册这Session变量;在有用户购物车类存在的情况下,检查该类中是否有该商品。如存在,则商品数量相应加1;如没有该商品,则将该商品添加到该类中图2-7购物车流程图购物车查看商品满意吗下订单调整商品是否第三章系统数据库设计3.1系统数据库表的基本设计在建设网站系统之前,我们必须对系统所用到的数据进行大致的分类和具体的结构设计,既要做到清晰明了,又要能适应系统各项功能的调用,而不至于产生结构上的逻辑混乱,保证关键数据在意外情况下不会被破坏,可以说数据库是系统的重中之重。数据库设计要遵循一些规则,一个好的数据库满足一些严格的约束和要求。尽量分离各实体对应的表,一个实体对应一个表,搞清楚该实体有哪些属性,对应有些什么字段,以及各实体之间有何种联系。实体、属性与联系是进行概念设计时要考虑的三个元素,也是一个好的数据库设计的核心。从实际出发,经过仔细地设计,得到各表的设计如表3.1——3.9所示。字段字段名类型宽度小数位索引可否为空Hw_id商自是否品编号动编号Hw_name商品名称文本型50否Hw_cash商品价格数值型182Hw_content商品信息备注型255Hw_pic商品图片文本型255Hw_buys商品数量数值型18Hw_date商品日期日期型表3-1商品信息表hw[说明]对于商品信息表,因为经验不足,我将其关键字段hw_id商品编号采用的是Oracle数据库中的自动编号,虽然也确定了商品信息的唯一性,但不具备直观的特点,在实际应用中最好是将其设置一个命名规则,管理人员在添加商品的时候能够自动产生一个有一定规则和一定意义的命名规则,方便管理人员对其进行管理和维护,例如对于手机类商品可将其编号设置为mobile+型号+添加日期,这样更容易对商品进行管理。Hw_pic字段代表图片,但在这里存放的只是它的路径所以应该使用文本类型。字段字段名类型宽度小数位索引可否为空User_id会员编号自动编号是User_name会员帐号文本型50否User_pass会员密码文本型50否User_adds会员地址文本型255User_mail会员E_Mail文本型50User_tel会员电话文本型50User_regt注册日ime时间期型User_postcode邮政编码文本型50User_namec会员姓名文本型50表5-2会员信息表member3.2用JSP连接数据库在本系统中,需要多次连接数据库,而且这种连接是一项很消耗资源的操作,因此,在本系统中对数据库连接的部分写成了一个文件。文件名为Condb.java,关键代码如下:packageec_port;importjava.sql.*;publicclassCondb{StringSd="sun.jdbc.odbc.JdbcOdbcDriver";StringSc="jdbc:odbc:Business";Connectioncon=null;ResultSetrs=null;publicintexecuteUpdate(Stringsql){intresult=0;try{con=DriverManager.getConnection(Sc);Statementstmt=con.createStatement();result=stmt.executeUpdate(sql);}catch(SQLExceptionex){System.err.println(ex.getMessage());}returnresult;}publicvoidclose(){try{if(con!=null)con.close();}}}第四章系统详细设计4.1前台部分4.1.1前台总体框架前台部分由用户使用,包括用户注册,购物车管理,订单管理,个人资料管理等几个部分。(1)模块功能介绍用户管理:为了便于网站的管理,必须有一套完整的用户管理体系。该网站用户管理模块由用户注册,用户登陆,找回密码3部分组成。订单查询:登陆用户可以通过订单号查询订单。购物车:所选商品须通过购物车进行保存,然后生成订单。修改个人资料:为了保护用户信息不受非法侵害,用户登陆后即可对个人的注册信息进行修改。留言板:用户可以查看和添加留言信息。4.1.2用户管理模块用户管理模块主要包括用户注册,登录及找回密码3个部分。(1)用户注册当用户第一次登录时首先要注册,成为会员后,才可以购买物品.用户可以通过单击首页的注册按键来打开注册页面进行会员注册操作,代码如下:if(form1.pasa.value==""){alert("请输入确认密码");form1.pasa.focus();returnfalse;}if(form1.password.value!=form1.pasa.value){alert("你输入的两次密码不一致");returnfalse;}if(form1.email.value==""){alert("请输入你的Email址");form1.email.focus();returnfalse;returnfalse;}if(form1.question.value==""){alert("请输入回答问题的答案");form1.question.focus();returnfalse;}}为了便于管理网站对用户的管理,在index.htm用户注册页接收到的注册信息要经过严格的过滤,保证注册用户的唯一性,在提交表单后需要对数据表中的数据进行查询,如果没有找到,则在插入数据表时提示注册成功,否则提示用户以被占用,请重新注册,关键代码如下:<%}else{Stringsql="insertintotb_User(Username,Rname,Userpass,Email,Address,Photo,Question,Result,Dattime)values('"+username+"','"+Rname+"','"+password+"','"+email+"','"+address+"','"+photo+"','"+pass+"','"+question+"','"+date.toLocaleString()+"')";inttemp=con.executeUpdate(sql);%>(2)用户登录用户登录窗口设置在首页上,主要用来接收用户输入的用户名和密码,并更新用户在网站中的状态信息。网站首页在用户第一次访问时会判断用户是否登录,未登录则显示用户登录窗口,提示用户登录或注册.对于已经登录的用户,在用户登录窗口将显示用户的相关信息.首页主要是根据保存用户名信息的Session参数来判断用户是否已经登录的,关键代码如下:<%Stringname=(String)session.getAttribute("name");%>在会员登录窗口中单击登录按纽后,系统将对用户名和密码进行验证,判断用户是否是已注册用户,如果已注册,则更新用户在网站中的状态,如果没有注册,则拒绝用户的登录操作,登录数据验证的程序代码如下:<%Condbcon=newCondb();whereUsername='"+username+"'andUserpass='"+password+"'";ResultSe
本文档为【网上购物系统设计与实现】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: ¥17.0 已有0 人下载
最新资料
资料动态
专题动态
个人认证用户
盼盼书屋
暂无简介~
格式:pdf
大小:667KB
软件:PDF阅读器
页数:0
分类:教育学
上传时间:2021-03-19
浏览量:24