还剩30页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
分类号TP
311.1UDC D10621-408-20075896-0密级公开编号成都信息工程学院学位论文网上书店——在线购物及统计分析的设计与实现毕业设计(论文)原创性声明和使用授权说明原创性声明本人郑重承诺所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意作者签名 日 期 指导教师签名 日 期 使用授权说明本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容作者签名 日 期 学位论文原创性声明本人郑重声明所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明本人完全意识到本声明的法律后果由本人承担作者签名日期年月日学位论文版权使用授权书本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅本人授权 大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文涉密论文按学校规定处理作者签名日期年月日导师签名日期年月日网上书店——在线购物及统计分析的设计与实现摘要随着计算机技术的蓬勃发展,电子商务发展也越来越快,网上书店便是随着这些网络技术的发展而出现的一种新型图书销售渠道本系统是为适应电子商务网络交易平台技术的发展,而开发的一个多功能网上书店系统本系统采用B/S模式,以MySQL作为后台数据库,Tomcat作为Web服务器,采用Eclipse+MyEclipse作为开发环境,使用JSP+Servlet+JavaBean技术开发完成的实现了购物车、排行榜、订单处理、会员公告和积分事件等功能其中购物车功能和后台充值功能能够实现简单的网上交易,达到在线购物的要求;排行榜功能对系统的书本进行了详细的统计,能够得出书本在网站中的热门程度,完成了统计分析的功能;还有订单处理功能,它通过搜索条,报表导出和打印功能实现了管理员和用户对订单的直观查询,让系统更具有人性化关键词电子商务;在线购物;网上书店;统计分析OnlineBookstore——DesignandImplementationofOnlineShoppingandStatisticalAnalysisAbstractWiththefastdevelopmentofcomputertechnologyandelectroniccommerceonlinebookshopbecomeanewtypeofbooksaleschannel.Thissystemwhichisimplementedtofitthedevelopmentofelectroniccommercenetworktradingisamultiplefunctionalonlinebookshop.ThissystemadoptsB/SmodelandtakesMySQLasthebackgrounddatabase.TomcatisusedasWebserver.ByusingEclipseplusMyEclipseasdevelopmentenvironmentandJSPServletandJavaBeanasdevelopmentlanguagefunctionsofshoppingcarrankorderproposalVIPpersonbulletinandintegralthingsisdeveloped.Amongthefunctionsshoppingcarandbackgroundfillingmoneycanimplementsimpleonlinetradeandachievetherequirementofonlineshopping.Thefunctionofrankmakesadetailedstatisticofbooksinthissystemwhichmakesusknowpopulardegreeofbooksonthewebsite.Orderproposalisdevelopedtoexportandprintreportswhichmadethissystemmorehumanized.Keywords:electroniccommerce;onlineshopping;onlinebookshop;statisticalanalysis目录论文总页数22页TOC\o1-3\h\z\u1引言
11.1网上书店的背景
11.2课题研发的目的与意义12系统概述
22.1软硬件工作环境
22.
1.1硬件环境要求
22.
1.2软件环境要求
22.2系统技术简介
22.
2.1Java技术简介
22.
2.2JSP简介
22.
2.3Struts体系结构简介
32.
2.4Eclipse+MyEclipse简介
32.
2.5MySQL简介43网站总体设计
43.1系统整体简介
43.2在线购物及统计分析模块功能设计
53.
2.1在线购物模块
53.
2.2统计分析模块
83.
2.3订单处理模块
113.
2.4会员公告模块
133.3数据库设计分析
143.
3.1用户信息表
143.
3.2图书信息表
153.
3.3消费订单信息表
153.
3.4管理员信息表164主要功能测试
164.1购物车功能测试
164.2排行榜功能测试
184.
2.1总销售排行榜功能测试
184.
2.2总点击榜功能测试
194.3系统测试总结20结论20参考文献20致谢21声明221引言该部分主要是对本系统的背景,开发目的以及开发意义进行阐述
1.1网上书店的背景在当前计算机发展迅速的时代,电子商务成为互联网发展日臻成熟的直接结果,是网络技术应用新的发展方向互联网自身所具有的开放性、全球性、低成本、高效率的特点,已成为电子商务的内在特征,并使得电子商务大大超越了作为一种新的贸易形式所具有的价值就网上书店系统而言,由于网络已经覆盖全球,其信息量大而独具优势它通过人与电子通信方式的结合,依靠计算机网络,以通讯技术为基础,实现图书销售的网上交易网上书店同传统的店面书店相比,网上书店的经营方式和销售渠道是全新的;它24小时的全天候和全方位服务是店面书店所不能比及的;成本低廉更是开设网上书店的主要原因而与其他商品相比,不具时效性;同时书本具有易于判断和选择而独具优势,最适合于网上交易;再次是单价低,降低了消费者第一次在网络购物的门槛,对于读者来说,网上书店近在咫尺,并且永远不下班关门,读者可以随时随地地自由地查询和订购图书,同时还减少了书店过程中的支出,具有实际意义因此网上书店必将有长足的发展开办网上书店系统也可以为在校大学生提供方便,廉价,高效的书店方式,促进文化传播,帮助国家和学校培养优秀的人才,具有长远的经济效益和社会效益
1.2课题研发的目的与意义随着我国Internet的发展电子商务越来越多的溶入到我们的日常生活,而且网上书店也是电子商务网站的代表,国内网上书店有像“当当网”等这种优秀的电子商务网站,它们是其他网站良好的典范,可以学习参考他们的思想,了解和熟悉整个网站的开发流程及完整的电子商务网站设计中站应有的功能和注意事项,由此选择了网上书店作为此次毕业设计的题目在选择编辑语言时,因为Java程序语言及编程技术是随着互联网的发展而被推广应用的,它是目前国内外广泛使用的程序设计语言它的内容和特点与以往的其他程序设计语言有很大的不同面向对象技术被认为是程序设计一方法学的一场革命,它已经逐步代替面向过程的程序设计技术,从而成为计算机应用开发领域的主流趋势,所以Java成为本设计的开发语言,用来设计和完成本网上书店系统本毕业设计所完成的网上书店系统,除了大量收集有关资料,还将会牵涉到许多技术上的问题,如网页制作技术,后台数据库的设计和管理,通过实际的制作个网站,可以在实践中掌握上述技术的使用,达到学以自用的目的2系统概述本部分列出了系统软硬件工作的环境与要求,并对系统所涉及到的一些技术进行了介绍
2.1软硬件工作环境
2.
1.1硬件环境要求计算机必须满足的条件:
(1)服务器端硬件环境处理器P
42.0G以上,内存512M以上,硬盘40G以上
(2)客户端硬件环境处理器P
41.7G以上,内存128M以上,硬盘20G以上
2.
1.2软件环境要求
(1)服务器端需要环境操作系统为Windows98/ME/2000/XP/2003,jdk
1.4以上,在Eclipse+MyEclipse环境下,以Tomcat作为服务器和MySQL作为后台数据库
(2)客户端需要环境操作系统Windows98/ME/2000/XP/2003IE
5.0以上便可
2.2系统技术简介
2.
2.1Java技术简介随着面向对象编程思想的不断成熟和各种技术问题的提出1995年6月由SunMicrosystems公司提出了一种革命化语言—Java,与其他编程语一样,这种语言在短短的时间内得到了迅速的发展由于这种语言具有易用性、平台无关性、易移植性等诸多特征,使得这门语言得到了广泛的应用而且,这种语言具有很好的发展景程序开发费用少,工作效率高,并拥有很好的用户界面和强大的开发工具网上数据编程体现的非常充分,是其它语言无法做到的
2.
2.2JSP简介JSPJavaServerPages是由SunMicrosystems公司倡导、许多公司参与一起建立的一种动态网页技术标准该技术为创建显示动态生成内容的Web页面提供了一个简捷而快速的方法JSP技术的设计目的是使得构造基于Web的应用程序更加容易和快捷,而这些应用程序能够与各种Web服务器,应用服务器,浏览器和开发工具共同工作JSP规范是Web服务器、应用服务器、交易系统、以及开发工具供应商间广泛合作的结果在传统的网页HTML文件中加入Java程序片段和JSP标记,就构成了JSP网页Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序片段,然后将执行结果以HTML格式返回给客户程序片段可以操作数据库、重新定向网页以及发送email等等,这就是建立动态网站所需要的功能所有程序操作都在服务器端执行,网络上传送给客户端的仅是得到的结果,对客户浏览器的要求最低,可以实现无Plugin,无ActiveX,无JavaApplet,甚至无Frame
2.
2.3Struts体系结构简介作为一个实现良好的MVC框架,Struts对Model、View和Controller都提供了对应的实现组件,图2-1所示为Struts体系结构图下面从模型、视图、控制来介绍Struts的体系结构图2-1Struts体系结构图视图(View)就是一系列提交到客户浏览器进行显示的JSP文件,是用户看到并与之交互的界面在这些界面中没有业务逻辑,也没有模型信息,只有标签模型(Model)表示应用程序的状态和业务逻辑,通常由JavaBean或EJB组件来实现控制器(Controller)的作用是从客户端接受请求,并且选择执行相应的业务逻辑,然后把响应结果送回到客户端在Struts中Controller由ActionServlet类和Action类来实现ActionServlet主要负责接受HTTP请求信息,Action类负责调用模型的方法,更新模型的状态,并帮助控制应用程序的流程
2.
2.4Eclipse+MyEclipse简介Eclipse是一个开放源代码基于Java的可扩张的开发平台,多数人都是将Eclipse作为Java的集成开发环境使用Eclipse的设计思想是一切皆为插件它自身的核心是非常小的,其它所有的功能都以插件的形式附加到该核心上Eclipse中三个最吸引人的地方是它创新性的图形API,即SWT/JFace,它大大改善了Java界面不够美观,界面响应速度比较慢的能力二是它的插件机制三是利用它的插件机制开发的众多功能强大的插件,而Myeclipse就是其中的一种有名的插件集之一,MyEclipse将开发者常用到的一些有用的插件都集合起来MyEclipse为Eclipse提供了一个大量私有和开源的Java工具的集合,这解决了各种开源工具的不一致和缺点这些工具解析Java和XML配置文件
2.
2.5MySQL简介MySQL是一个多用户、多线程的支持标准SQL语句的关系型数据库它支持大文件及图像的存储,并且提供一个丰富和极其有用的功能集它的特点是速度快易用,稳定性能好所以很适合应用在INTERNET网络上,用它来存取数据具体地,它是一个客户机/服务器系统,由一个支持不同后台的服务器守护程序MySQL,多个不同的客户程序及库,管理工具,及一个界面组成MySQL已得到众多应用的支持MySQL是数据库领域的中间派它缺乏一个全功能数据库的大多数主要特征,但是又有比类似Xbase记录存储引擎更多的特征它像企业级RDBMS那样需要一个积极的服务者守护程序,但是不能像他们那样消费资源查询语言允许复杂的连接查询,但是所有的参考完整必须由程序员强制保证MySQL找到一个位置-提供简洁和速度,同时仍然提供足够的功能使程序员高兴数据库程序员将喜欢其查询功能和广泛的客户库,他们会觉得系统缺乏主要数据库功能,他们会发觉它对简单数据库在不能保证购买大牌数据库时是有价值的3网站总体设计本部分是对本系统代码设计与数据库设计的介绍
3.1系统整体简介本网上书店系统分为管理模块和在线购物及统计分析模块两大模块.管理模块的设计和实现分为注册管理,用户管理,图书管理,权限管理这四个模块,其前台主要是完成用户的登录,注册和密码找回,让用户能根据需要对个人信息进行修改和查看,并能够对书本进行浏览和查询,以及vip用户提交申请功能后台的功能主要是让管理员有对用户,图书和vip提交进行相关处理的功能而在线购物及统计分析模块分为在线购物模块和统计分析模块两大模块,其中包括在线购物,统计分析,订单处理和会员公告四大部分其主要功能是完成用户对书籍的购买,排行榜的建立,积分事件的实现,消费订单的管理以及会员公告的实现和修改在本系统中,本人负责的是在线购物及统计分析模块的设计和实现,以下便是该网站完整的功能结构图,蓝色部分由本人负责
3.2在线购物及统计分析模块功能设计
3.
2.1在线购物模块本模块主要分为购物车和充值管理两大功能,购物车功能主要是实现店主和顾客之间交易功能,充值管理功能则实现了对用户金额的充值该模块功能图如图3-2所示
(1)购物车功能购物车功能说明购物车功能具有选择购买数量,查看到书名,价格(会员享受9折vip会员享受8折优惠),数量,总金额和用户余额,还具有能清空全部已选图书或者一本图书的功能完成购买后,该用户的账户金额也自动减去消费金额,使所连接数据库在该用户的余额中也自动减去消费金额以下是购物车界面图,如图3-3所示由于购物车是本系统的重要部分,所以下面详细介绍一下此功能的实现和核心代码在设计购物车功能的时候,要实现购物车所必要的几个功能有以下几种,一是选择购书数量功能,二是购书提交功能,三是在购物车里面显示图书的详细情况,包括作者和价钱等相关信息,还有就是考虑到用户在已经将要购买的图书放入购物车后,当该用户浏览网页发现有比此本图书或几本图书更有购买价值之后,那么就应该在购物车里面添加一个单本删除已选图书或几本图书的删除功能在购物车功能前台页面代码开发的时候,本人对页面的跳转做了以下的设定首先在进入书本详细介绍页面的时候,在次页面下添加了选择购书数量的功能,在点击“购买”后,页面返回到主页面,在再次进入到购物车页面后,购物车页面显示了刚才选中图书的详细情况,并且在此有删除该本图书的功能,在点击“提交”后,完成该本书籍的网上购买,系统自动在该用户的余额中扣去相应金额在代码开发中,购物车的功能是由几个类共同完成Buybookaction.Java类是完成购物车图书详情的功能,并显示所选书籍的user_id,book_id,buynum和bookname,并且将bookname转码成标准的gb2312格式而delbuycartaction.Java类是购物车中的删除已选图书的功能,它调用了Javabean中的db.Java的逻辑处理方法,完成了对单本图书和多本图书删除功能的实现在前台buycart.JSP页面的代码中,也加入了一些判断语句,对购物车界面的一些操作进行对话框提示,让页面更具友好化购物车表单功能核心代码//request.getParameter是从页面上获取输入的内容Stringuser_id=request.getParameteruser_id;Stringbook_id=request.getParameterbookid;Stringnum=request.getParameterbuynum;Stringbookname=;try{//将bookname转码bookname=newStringrequest.getParameterbookname.getBytesISO-8859-1gb2312;}catchUnsupportedEncodingExceptione{//TODOAuto-generatedcatchblocke.printStackTrace;}//新建一个arraylist的列表ArrayListbuybooklist=newArrayList;//设置一些信息如user_id等,放进BuyBookListBuyBookListblist=newBuyBookList;blist.setuser_iduser_id;blist.setbook_idbook_id;blist.setnumnum;blist.setbook_namebookname;blist.setpricerequest.getParameterprice;删除书籍功能核心代码try{//从页面获取参数Stringbid[]=request.getParameterValuesbid;intn=0;//从全局容器中拿到书的列表ArrayListbuybooklist=ArrayListsession.getAttributebuybooklist;System.out.printlnbid[bid.length-1];//这里是把列表中的书删除掉,这个action是做删除的动作,拿到了用户选择的书的id的数组(多本书)bid,然后根据id去把列表中的书删除掉forinti=bid.length-1;i=0;i--{n=Integer.parseIntbid[i];buybooklist.removen;}//把删除后的列表放到容器中session.setAttributebuybooklistbuybooklist;//如果列表中没书了,就不要放到容器中,用remove移除ifbuybooklist.size==0{session.removeAttributebuybooklist;System.out.printlnnullnull**********;}//跳转页面pageForward=delbuycart;
(2)充值管理功能本模块是为了方便书店店主以管理员身份进入后台管理界面进行充值操作而设计的,即当顾客在查询到自己余额不足的情况下,通过某种方式与店主取得联系并在网站外完成金额交易(比如汇款),然后店主以管理员的身份进入到后台管理中的会员充值模块中,选中顾客id后,根据需要对该用户充值相应的金额本功能在设计的时候,是将此功能设定在后台管理员界面中用户管理模块里面,方便管理员在对用户信息充值的时候好对用户信息进行查看在设计充值的时候,调运了user.Java里面的addmoney方法来实现充值功能,为了使管理员能够及时查看到充值过后用户余额的变化,在页面显示了用户的当前余额,并在界面设计中的addmoney.JSP代码中设置了一些对管理员操作的判断,给予一些友好提示
3.
2.2统计分析模块本模块包括了排行榜功能和积分管理功能两大功能,其功能主要是指顾客对本系统书籍的点击数,购买数和积分事件实行的页面实现功能该模块的功能图如图3-4所示
(1)排行榜功能介绍排行榜功能说明排行榜模块的实现是为了方便顾客在浏览本网站图书时,给予顾客选购图书起到一定的推荐作用本排行榜模块包括了总的点击排行榜,总的销售排行榜,还有日点击排行榜跟周点击排行榜下面是排行榜界面图如图3-5所示排行榜在本系主要模块统统计分析模块中占有重要地位,下面就来详细讲解以下排行榜功能的实现和核心代码排行榜功能在设计的时候,考虑到不同用户的爱好,就设定了有总的销售排行榜,总的点击排行榜,周排行榜和日排行榜,在周排行榜和日排行榜都运用了一个系统监听的方法来对时间周期进行判定,从而实现这两个排行榜特殊功能的,在总销售排行榜里,每本书籍后都有销售的数量数,在三个点击排行榜里,每本书后也有点击数显示本功能的实现是在各个排行榜排列主页面的右方,并运用了下拉滚动条来实现的在代码中,排行榜的完成是由paihangaction.Java来实现的,其中ActionServlet调用了JavaBean中db.Java和book.Java的逻辑处理方法而在book.Java中运用到了gethotbooklist,gethotbooklistday,gethotbooklistweek和gethotsellbooklist这四个方法,这四个方法便是运用数据库语句将这四个排行榜从数据库中搜索出来,以完成这四个排行榜的实现在前台pai.JSP页面代码中,实现了下拉滚动条的功能,也运用到了book.Java中的getnamegetidgetclick和getnum来对三个点击排行榜里面显示点击数和销售排行榜里面显示销售数的功能实现在日排行榜和周排行榜中还用到了syscontextlistener.Java中的contextInitialized方法,它实现了日排行榜和周排行榜中时间的判定系统监听器实现的核心代码publicvoidcontextInitializedServletContextEventevent{//在这里初始化监听器,在tomcat启动的时候监听器启动,可以在这里实现定时器功能timer=newTimertrue;event.getServletContext.log定时器已启动;//添加日志,可在tomcat日志中查看到timer.schedulenewexportHistoryBeanevent.getServletContext060*60*1000;//调用exportHistoryBean,0表示任务无延迟,5*1000表示每隔5秒执行任务,60*60*1000表示一个小时event.getServletContext.log已经添加任务;}publicvoidcontextDestroyedServletContextEventevent{//在这里关闭监听器,所以在这里销毁定时器timer.cancel;event.getServletContext.log定时器销毁;}
(2)积分管理功能积分管理模块中的积分查询是让顾客能够查询到自己的积分情况,本系统中的积分事件功能是当你注册成为会员用户后,在购买书籍金额累计到500元过后(本系统消费一元就等于加积分一点),系统自动将该会员用户升级成vip用户,vip用户享受购书8折优惠在设计该部分时,鉴于该功能的特性,该功能是不能以功能键放置到页面,因此没对该功能做界面设计,便在开发代码的时候,在Javabean中的user.Java里设定了一个moneyupdate方法,用方法中if判断语句来对积分事件进行判定,从而完成该功能实现的
3.
2.3订单处理模块本模块包括了用户的购买记录功能和管理员的消费记录功能,其功能是让顾客和店主能够自己查询已购书本记录和消费订单记录该模块的功能示意图如图3-6所示
(1)购买记录功能该功能让用户在该用户的账户管理中,能够实现用户对自己购买书籍记录的查看而且还能够实现购买记录的电子报表导出,并且能够完成该页面的打印功能该功能在设计的时候,考虑到用户需要对自己购买书本的详细情况进行了解或查询,所以需要有个导出电子报表的功能,好让用户对个人购书记录的情况有个直观了解,而在便于用户对购买记录的即时保存上,本系统在购买记录功能界面添加了打印记录功能在这两个功能的辅助下,使得用户在对购买记录的查询和保存上有了一定的保障措施在打印代码的设计时,是由querylistaction.Java实现的,里面运用了if语句来对消费记录为空进行判断,而且其中调用了buybooklist.Java中的getquerylist方法,来对消费记录表进行读取,从而实现打印功能
(2)消费记录功能消费记录功能说明该功能是让管理员在登录之后,对所有顾客消费记录的查看其中的查询功能能够根据书名和用户的id号来查询相应书籍的详细记录,而且能够实现购买记录的电子报表导出,也能够完成该页面的打印功能现在介绍下消费记录功能中电子报表导出的功能设计此功能是为了方便管理员更直观的查看消费记录清单它能够根据消费记录导出一张excel表,包括了用户id,书籍名,购买数量,购买价格和购买时间这些重要信息的导出在代码设计中,报表导出的功能主要是用Javabean里面的excelparse.Java来实现,在这个类里,调用了writeexcel这个方法,运用case语句来对excel表导出进行判断来完成此功能Excel表导出功能核心代码//这个是导出excel,一个workbook就相当于一个excel文件HSSFWorkbookwb=newHSSFWorkbook;//一个sheet就是excel里面的一个sheet HSSFSheets=wb.createSheet;//然后为sheet设置名字wb.setSheetName0购买记录short1;//这个是表格的标题,只是定义,还没放到里面去Stringtitle[]={用户ID书籍名购买数量购买价格购买时间};//循环写入title forshorti=0;ititle.length;i++{//新建一行HSSFRowrow=s.createRow0;//新建一个cell HSSFCellcell=row.createCelli;//设置编码和值cell.setEncodingshort1;cell.setCellValuetitle[i];}BuyBookListbbl=newBuyBookList;//循环列表中的书,然后把内容写进去forshorti=1;ilist.size+1;i++{bbl=BuyBookListlist.geti-1;//新建一行HSSFRowrow=s.createRowi;//循环5列forshortj=0;j5;j++{switchj{case0://第一列写入user_idHSSFCellcell=row.createCellj;//新建cellcell.setCellValuebbl.getuser_id;//写入值break;case1://第二列写入booknamecell=row.createCellj;cell.setEncodingshort1;cell.setCellValuebbl.getbook_name;break;case2://numcell=row.createCellj;cell.setCellValuebbl.getnum;break;case3://pricecell=row.createCellj;cell.setCellValuebbl.getprice;break;case4://buydatecell=row.createCellj;cell.setCellValuebbl.getbuydate;break;}}}
3.
2.4会员公告模块本模块主要分为前台的会员公告显示和后台的会员公告修改,其功能主要是对会员公告这一功能进行实现和修改该模块的功能示意图如图3-7所示
(1)会员公告显示功能会员公告显示功能说明本功能是会员在登录本系统之后才显示的消息模块此会员公告里面公告了本书店的各种活动信息和各种重要消息,以滚动形式显示,便于顾客查看在设计该功能的时候,因为此功能是显示本系统的主要消息和及时通知等重要信息的,所以该字体采用红色字体,为了用户能够一直看到消息,对会员公告的显示采用了的左右滚动的显示方式,进一步让用户在进入本系统的时候能够了解到公告里面的重要信息设计这个小功能时,是在right.JSP页面的代码中写入marqueebehavior=alternatedirection=rightscrollamount=6height=30width=100%fontcolor=red%=news%/font/marquee,便实现了会员公告显示的动作
(2)会员公告修改功能会员公告修改功能说明本功能是在管理登录之后,在会员公告修改功能中对会员公告的内容加以修改在代码设计开发中,是由editnewaction.Java来实现此修改会员公告功能的,此类调用了Javabean中admin.Java中的adminUpdate方法,从而实现修改功能的功能实现核心代码//从session中获取一个admin对象Adminadmin=Adminsession.getAttributeadmin;//获取一个news参数Stringnews=request.getParameternews;//更新到数据库Admin.adminUpdatedbadmin.getadmin_idadmin.getpswnews;//再把news设到admin中放入容器中admin.setnewsnews;session.setAttributeadminadmin;//跳转页面pageForward=editnews;db.close;returnmapping.findForwardpageForward;
3.3数据库设计分析根据以上对本系统的功能介绍,在对系统的开发过程中,要实现运行,至少需要有四点要素用户,管理员,书本和购买记录因此,本系统才用了以这四点要素为主键的四张数据库表
3.
3.1用户信息表用户信息表是存放用户各种属性和信息的数据库表,包括了iduser_id,psw,user_name,score,levelemail,money和vip这些字段,其中以id为主键下表便是用户信息的数据库列表如表3-1所示表3-1用户信息表列名数据类型及长度允许空描述idint11Yes主键user_idvarchar10Yes用户登录IDpswvarchar50Yes密码user_namevarchar20Yes用户姓名scoreint11N0用户积分levelint1N0用户类型emailvarchar50N0用户邮件moneydouble102N0用户余额vipint1N0VIP申请记录
3.
3.2图书信息表图书信息表是存放图书各种属性和信息的数据库表,它是以id为主键,其他的字段有nameauthorcontentkindpriceclickimg和operatedate下表是图书信息表的详细描述,如表3-2所示表3-2图书信息表列名数据类型及长度允许空描述`id`int11yes主键`name`varchar100yes图书名称`author`varchar50yes作者`content`varchar255no图书内容`kind`varchar2no图书类型`price`Double102no图书价格`click`int50no图书点击次数`img`varchar100no图书图片operatedatedatetimeyes更新日期dayclickint50no每天图书点击次数weekclickint50no每周图书点击次数
3.
3.3消费订单信息表消费订单信息表是存放消费订单各种信息的表单,本系统建立了以消费订单id为主键的消费订单信息数据库表,其它字段包括有user_idbook_idnumbuydteprice和book_name组成下面就是消费订单信息表的详细介绍,如表3-3所示表3-3消费订单信息表列名数据类型及长度允许空描述`id`int11yes主键`user_id`varchar10no用户登录ID`book_id`int11no图书ID号`num`int11no购买数量`buydate`Datetimeyes购买时间`price`Double102no购买价格`book_name`Varchar100yes图书名称
3.
3.4管理员信息表管理员信息表是用来存放管理员信息的表单,本系统以id为主键,admin_idpsw和news为其他字段,创建了管理员信息表下表就是管理员信息表的详细说明,如表3-4所示表3-4管理员信息表列名数据类型及长度允许空描述`id`Int11yes主键`admin_id`Varchar10yes管理员登录ID`psw`Varchar50yes管理员登录密码`news`Varchar255yes会员公告信息4主要功能测试本部分是介绍对系统主要功能的测试过程
4.1购物车功能测试购物车功能是本系统的核心功能,在测试中,主要针对在购物车交易完成的提交功能上在提交功能中,系统会根据不同情况做出相应的提示
(1)测试点一当用户在将书本选购到购物车里面,然后进入购物车,点击“提交”后,但由于该用户的余额不足以完成该次交易的时候,系统会自动弹出一个对话框,提示用户余额不足按照健壮性的要求,本测试以两种方法对本功进行多次测试第一次测试,在用户零余额购书的情况下得到如图4-1所示结果,与预期输出结果符合然后按照健壮性的要求,在第二次测试中,本人对有金额的用户进行金额超值的购书操作,结果也得到图4-1所示在接下的三次测试中,每次测试的结果都与预期输出结果相同,得出结论测试点一基本符合系统要求
(2)测试点二当用户在余额足够的情况下进行交易提交,系统也会根据用户的提交操作弹出一个对话框,表示交易已成功按照健壮性的要求,本测试以同种方法对本功进行多次测试第一次测试,用金额足够的用户进行购书交易,得到结果如图4-2所示结果,与预期输出结果符合之后又以四个不同用户进行购书操作,得到的输出结果都与预期输出结果相同,得出结论此测试点功能符合系统要求
(3)测试点三在完成购书交易后,系统对该用户自动扣除相应金额按照健壮性的要求,本测试以两种方法对本功进行多次测试第一次测试,为了测试该功能的实现,只要用户在账户管理里面查看自己的余额即可验证按照要求,本人在交易之前查看了用户余额,在交易之后再次查看余额,得出了两次余额差等于书本总额的结果,如图4-3所示,与预期输出结果符合第二次测试,为了再次验证功能的可靠性,本人用查看数据库用户信息表中余额的变化的方法来验证,先在数据库表单里面查看用户余额,然后完成购书交易,更新数据库表,再次查看用户余额,得到预期输出结果,如图4-4所示在接下的三次测试中,运用以上两种方法进行测试,结果都与预期结果一致,得出结论本测试点功能基本符合系统要求
4.2排行榜功能测试排行榜功能是本系统的主要功能,本次为了方便测试,只对总销售榜和总点击榜进行测试
4.
2.1总销售排行榜功能测试测试点是对用户购买书籍后,查看书本在排行榜中位置升降的情况按照健壮性的要求,本测试以两种方法对本功进行多次测试第一次测试,要检测排行榜的升降的情况,就只能用购买数量来判定,比如在销售排行榜上选择排行第二的图书,查看它与排名第一的图书销售量的差别,然后对它进行购买,购买数量刚好比它们的差别数多一本,这样就能让此本图书从排行榜第二的位置上升到第一的位置,借以来查看排行榜的升降情况根据以上所述,本人对此排行榜进行了以上操作,得到了预期的结果,如图4-4所示在第二次测试中,本人在数据库消费记录表单中对书本的销售量进行手动修改,和上面方法一样,在数据库中手动将一本书的销售量修改到比它排名高一位的书本销售量多一本,再刷新数据库,然后查看排行榜情况,也得到了预期的结果在接下的三次测试中,本人对其他书本进行了以上两种不同方法的不同操作,排行榜位置的升降都得到改变,与预期结果相同,得出结论该测试点功能基本符合本系统
4.
2.2总点击榜功能测试测试点是对用户点击查看书籍后,查看书本在排行榜中位置升降的情况按照健壮性的要求,本测试以两种方法对本功进行多次测试第一次测试,要查看排行榜的升降情况,就只能用点击数量来判定,和上面的总销售排行榜的第一次测试方法类似本人按照相同做法进行操作,得到了预期的结果,如图4-6所示第二次测试,本人按照总销售排行榜第二次测试的方法,也在数据库的书籍信息表单中对书本的点击数进行手动修改,把一本书的点击数修改到比它排名高一位的书本点击数多一本,再刷新数据库,然后查看排行榜情况,得到了预期的结果在接下的三次测试中,本人对其他书本进行了以上两种不同方法的不同操作,排行榜位置的升降都得到改变,与预期结果相同,得出结论该测试点功能基本符合本系统
4.3系统测试总结本系统适用于有意在网上开办小型网上书店的用户,对于结果比较满意但是还是很多不足需要改进,以后会对本系统做以下的改进1由于时间的关系,系统界面设计上还存在着一些问题,设计的也不美观,在以后的时间里将会的界面进行修改,使界面看起来更美观2在代码编辑过程中遇到不少困难,虽然已经和同学解决了一些,但仍有一些存在缺陷,还有就是数据库的连接还需要进一步改进,使之更加完善3对于系统的内容也不是很完善的相对于大型实际的网上书店的某些功能还无法实现,以后将更加认真的学习Java等相关知识,争取能够独自完成一个功能比较完善的网上书店系统,并使系统功能更加强大结论本系统是一个基于B/S模式的网上书店销售系统,我所设计的网上书店,实现了购物车、排行榜、订单查询及打印、会员公告和积分事件等功能该系统大部分模块的设计和实现都基本满足界面清晰、友好,操作简单的特点,基本符合一个网上书店系统的要求,不过仍然存在着许多不足比如:没有实现真正意义上的在线支付只是简单的实现了管理员手工为用户账户充值整个系统还不够人性化等等这些都有待于我在日后的学习中不断的改进相信随着电子商务技术的发展,网上书店系统会越来越受到人们的欢迎参考文献
[1]汪孝宜刘中兵.JSP数据库开发实例精粹[M].北京电子工业出版社2005
[2]施霞萍张欢欢马可幸.Java程序设计教程[M].北京机械工业出社2004
[3]柳永坡刘学梅.JSP应用开发技术[M].北京人民邮电出版社2005
[4]李育龙杨健.JSP软件工程案列精讲[M].北京电子工业出版社2005
[5]史佳史斌星.Java基础编程贯通教程[M].北京清华大学出版社2003
[6]张军.JSP网络应用开发例学与实践[M].北京清华大学出版社2006
[7]黄德才.数据库原理及其应用教程[M].北京科学出版社2004致谢本文是在杜小丹老师的热情关心和指导下完成的,她渊博的知识和严谨的治学态度使我受益匪浅,对顺利完成本课题起到了极大的作用在此向她表示我最衷心的感谢!在论文完成过程中,本人还得到了昌燕老师,张道明同学和曾鸣同学的热心帮助,本人向他们表示深深的谢意!最后向在百忙之中评审本文的各位专家、老师表示衷心的感谢!作者简介姓名陈郑典性别男出生年月1983年10月民族汉E-mail:wxlaczd@sina.com声明本论文的工作是2007年2月至2007年6月在成都信息工程学院网络工程系完成的文中除了特别加以标注地方外,不包含他人已经发表或撰写过的研究成果,也不包含为获得成都信息工程学院或其他教学机构的学位或证书而使用过的材料除非另有说明,本文的工作是原始性工作关于学位论文使用权和研究成果知识产权的说明本人完全了解成都信息工程学院有关保管使用学位论文的规定,其中包括
(1)学校有权保管并向有关部门递交学位论文的原件与复印件
(2)学校可以采用影印、缩印或其他复制方式保存学位论文
(3)学校可以学术交流为目的复制、赠送和交换学位论文
(4)学校可允许学位论文被查阅或借阅
(5)学校可以公布学位论文的全部或部分内容(保密学位论文在解密后遵守此规定)除非另有科研合同和其他法律文书的制约,本论文的科研成果属于成都信息工程学院特此声明!作者签名2007年06月日学位论文原创性声明本人郑重声明所呈交的学位论文,是本人在导师的指导下进行的研究工作所取得的成果尽我所知,除文中已经特别注明引用的内容和致谢的地方外,本论文不包含任何其他个人或集体已经发表或撰写过的研究成果对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式注明并表示感谢本人完全意识到本声明的法律结果由本人承担学位论文作者(本人签名)年月日学位论文出版授权书本人及导师完全同意《中国博士学位论文全文数据库出版章程》、《中国优秀硕士学位论文全文数据库出版章程》以下简称“章程”,愿意将本人的学位论文提交“中国学术期刊(光盘版)电子杂志社”在《中国博士学位论文全文数据库》、《中国优秀硕士学位论文全文数据库》中全文发表和以电子、网络形式公开出版,并同意编入CNKI《中国知识资源总库》,在《中国博硕士学位论文评价数据库》中使用和在互联网上传播,同意按“章程”规定享受相关权益论文密级□公开□保密(___年__月至__年__月)保密的学位论文在解密后应遵守此协议作者签名_______导师签名______________年_____月_____日_______年_____月_____日独创声明本人郑重声明所呈交的毕业设计论文,是本人在指导老师的指导下,独立进行研究工作所取得的成果,成果不存在知识产权争议尽我所知,除文中已经注明引用的内容外,本设计(论文)不含任何其他个人或集体已经发表或撰写过的作品成果对本文的研究做出重要贡献的个人和集体均已在文中以明确方式标明本声明的法律后果由本人承担 作者签名:二〇一〇年九月二十日 毕业设计(论文)使用授权声明本人完全了解滨州学院关于收集、保存、使用毕业设计(论文)的规定本人愿意按照学校要求提交学位论文的印刷本和电子版,同意学校保存学位论文的印刷本和电子版,或采用影印、数字化或其它复制手段保存设计(论文);同意学校在不以营利为目的的前提下,建立目录检索与阅览服务系统,公布设计(论文)的部分或全部内容,允许他人依法合理使用(保密论文在解密后遵守此规定) 作者签名:二〇一〇年九月二十日致谢时间飞逝,大学的学习生活很快就要过去,在这四年的学习生活中,收获了很多,而这些成绩的取得是和一直关心帮助我的人分不开的首先非常感谢学校开设这个课题,为本人日后从事计算机方面的工作提供了经验,奠定了基础本次毕业设计大概持续了半年,现在终于到结尾了本次毕业设计是对我大学四年学习下来最好的检验经过这次毕业设计,我的能力有了很大的提高,比如操作能力、分析问题的能力、合作精神、严谨的工作作风等方方面面都有很大的进步这期间凝聚了很多人的心血,在此我表示由衷的感谢没有他们的帮助,我将无法顺利完成这次设计首先,我要特别感谢我的知道郭谦功老师对我的悉心指导,在我的论文书写及设计过程中给了我大量的帮助和指导,为我理清了设计思路和操作方法,并对我所做的课题提出了有效的改进方案郭谦功老师渊博的知识、严谨的作风和诲人不倦的态度给我留下了深刻的印象从他身上,我学到了许多能受益终生的东西再次对周巍老师表示衷心的感谢其次,我要感谢大学四年中所有的任课老师和辅导员在学习期间对我的严格要求,感谢他们对我学习上和生活上的帮助,使我了解了许多专业知识和为人的道理,能够在今后的生活道路上有继续奋斗的力量另外,我还要感谢大学四年和我一起走过的同学朋友对我的关心与支持,与他们一起学习、生活,让我在大学期间生活的很充实,给我留下了很多难忘的回忆最后,我要感谢我的父母对我的关系和理解,如果没有他们在我的学习生涯中的无私奉献和默默支持,我将无法顺利完成今天的学业四年的大学生活就快走入尾声,我们的校园生活就要划上句号,心中是无尽的难舍与眷恋从这里走出,对我的人生来说,将是踏上一个新的征程,要把所学的知识应用到实际工作中去回首四年,取得了些许成绩,生活中有快乐也有艰辛感谢老师四年来对我孜孜不倦的教诲,对我成长的关心和爱护学友情深,情同兄妹四年的风风雨雨,我们一同走过,充满着关爱,给我留下了值得珍藏的最美好的记忆在我的十几年求学历程里,离不开父母的鼓励和支持,是他们辛勤的劳作,无私的付出,为我创造良好的学习条件,我才能顺利完成完成学业,感激他们一直以来对我的抚养与培育最后,我要特别感谢我的导师赵达睿老师、和研究生助教熊伟丽老师是他们在我毕业的最后关头给了我们巨大的帮助与鼓励,给了我很多解决问题的思路,在此表示衷心的感激老师们认真负责的工作态度,严谨的治学精神和深厚的理论水平都使我收益匪浅他无论在理论上还是在实践中,都给与我很大的帮助,使我得到不少的提高这对于我以后的工作和学习都有一种巨大的帮助,感谢他耐心的辅导在论文的撰写过程中老师们给予我很大的帮助,帮助解决了不少的难点,使得论文能够及时完成,这里一并表示真诚的感谢浏览器控制器Servlet业务逻辑Action配置文件Struts-config.xml视图JSP模型ApplicationState调用取得数据请求响应图3-1系统总体构造图网上书店管理模块在线购物及统计分析模块注册管理统计分析用户管理图书管理权限管理在线购物订单处理会员公告图3-2在线购物模块功能示意图选择购书数量显示书本详情实现管理员后台手动充值全部删除删除已选书本单本删除购物车充值管理在线购物图3-3购物车界面图统计分析总排行榜周点击排行榜积分查询日点击排行榜积分管理排行榜设定积分事件总点击榜总销售榜图3-4统计分析模块功能示意图图3-5排行榜功能界面图订单处理图3-6订单处理模块功能示意图消费记录购买记录导出电子报表打印记录记录查询导出电子报表打印记录图3-7会员公告模块功能示意图会员公告显示会员公告修改会员公告图4-1余额不足对话框图4-2交易成功对话框图4-3余额功能检测图图4-4数据库查询用户余额示意图图4-5总销售榜功能测试图图4-6总点击牌行榜功能测试图。