网上书店在线购物系统的设计毕业设计论文_第1页
网上书店在线购物系统的设计毕业设计论文_第2页
网上书店在线购物系统的设计毕业设计论文_第3页
网上书店在线购物系统的设计毕业设计论文_第4页
网上书店在线购物系统的设计毕业设计论文_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

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

文档简介

1、毕毕 业业 设设 计计( 论论 文文)网上书店网上书店在线购物系统的设计与实现在线购物系统的设计与实现论文作者姓名:论文作者姓名:申请学位专业:申请学位专业:申请学位类别:申请学位类别:指指导导教教师师姓姓名名(职职称称):论文提交日期:论文提交日期:网上书店网上书店在线购物系统的设计与实现在线购物系统的设计与实现摘摘 要要随着计算机技术的蓬勃发展,电子商务发展也越来越快,网上书店便是随着这些网络技术的发展而出现的一种新型图书销售渠道。本系统是为适应电子商务网络交易平台技术的发展,而开发的一个多功能网上书店系统。本系统采用 b/s 模式,以 mysql 作为后台数据库,tomcat 作为 we

2、b 服务器,采用 eclipse+myeclipse 作为开发环境,使用 jsp+servlet+javabean 技术开发完成的。实现了购物车、排行榜、订单处理、会员公告和积分事件等功能。其中购物车功能和后台充值功能能够实现简单的网上交易,达到在线购物的要求;排行榜功能对系统的书本进行了详细的统计,能够得出书本在网站中的热门程度,完成了统计分析的功能;还有订单处理功能,它通过搜索条,报表导出和打印功能实现了管理员和用户对订单的直观查询,让系统更具有人性化。关键词关键词:电子商务; 在线购物; 网上书店; 统计分析online bookstoredesign and implementatio

3、n of online shopping and statistical analysisabstractwith the fast development of computer technology and electronic commerce, online bookshop become a new type of book sales channel. this system which is implemented to fit the development of electronic commerce network trading is a multiple functio

4、nal online bookshop.this system adopts b/s model and takes mysql as the background database. tomcat is used as web server. by using eclipse plus myeclipse as development environment and jsp , servlet and javabean as development language, functions of shopping car, rank, order proposal, vip person bu

5、lletin and integral things is developed. among the functions, shopping car and background filling money can implement simple online trade and achieve the requirement of online shopping. the function of rank makes a detailed statistic of books in this system which makes us know popular degree of book

6、s on the website. order proposal is developed to export and print reports which made this system more humanized.key words: electronic commerce; online shopping; online bookshop; statistical analysis目目 录录论文总页数:22 页1引言.11.1网上书店的背景.11.2课题研发的目的与意义.12系统概述.22.1软硬件工作环境.22.1.1硬件环境要求.22.1.2软件环境要求.22.2系统技术简介.

7、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

8、总销售排行榜功能测试.184.2.2总点击榜功能测试.194.3系统测试总结.20结 论.20参考文献.20致 谢.21声 明.22第 1 页 共 22 页1 1引言引言该部分主要是对本系统的背景,开发目的以及开发意义进行阐述。1.11.1网上书店的背景网上书店的背景在当前计算机发展迅速的时代,电子商务成为互联网发展日臻成熟的直接结果,是网络技术应用新的发展方向。互联网自身所具有的开放性、全球性、低成本、高效率的特点,已成为电子商务的内在特征,并使得电子商务大大超越了作为一种新的贸易形式所具有的价值。就网上书店系统而言,由于网络已经覆盖全球,其信息量大而独具优势。它通过人与电子通信方式的结合,

9、依靠计算机网络,以通讯技术为基础,实现图书销售的网上交易。网上书店同传统的店面书店相比,网上书店的经营方式和销售渠道是全新的;它 24 小时的全天候和全方位服务是店面书店所不能比及的;成本低廉更是开设网上书店的主要原因。而与其他商品相比,不具时效性;同时书本具有易于判断和选择而独具优势,最适合于网上交易;再次是单价低,降低了消费者第一次在网络购物的门槛,对于读者来说,网上书店近在咫尺,并且永远不下班关门,读者可以随时随地地自由地查询和订购图书,同时还减少了书店过程中的支出,具有实际意义。因此网上书店必将有长足的发展。开办网上书店系统也可以为在校大学生提供方便,廉价,高效的书店方式,促进文化传播

10、,帮助国家和学校培养优秀的人才,具有长远的经济效益和社会效益。1.21.2课题研发的目的与意义课题研发的目的与意义随着我国 internet 的发展,电子商务越来越多的溶入到我们的日常生活,而且网上书店也是电子商务网站的代表,国内网上书店有像“当当网”等这种优秀的电子商务网站,它们是其他网站良好的典范,可以学习参考他们的思想,了解和熟悉整个网站的开发流程及完整的电子商务网站设计中站应有的功能和注意事项,由此选择了网上书店作为此次毕业设计的题目。在选择编辑语言时,因为 java 程序语言及编程技术是随着互联网的发展而被推广应用的,它是目前国内外广泛使用的程序设计语言。它的内容和特点与以往的其他程

11、序设计语言有很大的不同。面向对象技术被认为是程序设计一方法学的一场革命,它已经逐步代替面向过程的程序设计技术,从而成为计算机应用开发领域的主流趋势,所以 java 成为本设计的开发语言,用来设计和完成本网上书店系统。本毕业设计所完成的网上书店系统,除了大量收集有关资料,还将会牵涉到许多技术上的问题,如:网页制作技术,后台数据库的设计和管理,通过实际的制作个网站,可以在实践中掌握上述技术的使用,达到学以自用的目的。第 2 页 共 22 页2 2系统概述系统概述本部分列出了系统软硬件工作的环境与要求,并对系统所涉及到的一些技术进行了介绍。2.12.1软硬件工作环境软硬件工作环境.1

12、 硬件环境要求硬件环境要求计算机必须满足的条件:(1)服务器端硬件环境:处理器 p4 2.0g 以上,内存 512m 以上,硬盘40g 以上。(2)客户端硬件环境:处理器 p4 1.7g 以上,内存 128m 以上,硬盘 20g以上。.2 软件环境要求软件环境要求(1)服务器端需要环境:操作系统为 windows 98/me/2000/xp/2003,jdk1.4 以上,在 eclipse+myeclipse 环境下,以 tomcat作为服务器和 mysql 作为后台数据库。(2)客户端需要环境:操作系统 windows 98/me/2000/xp/2003,ie 5.0 以上

13、便可。2.22.2系统技术简介系统技术简介.1 java 技术简介技术简介随着面向对象编程思想的不断成熟和各种技术问题的提出 1995 年 6 月由 sun microsystems 公司提出了一种革命化语言java,与其他编程语一样,这种语言在短短的时间内得到了迅速的发展。由于这种语言具有易用性、平台无关性、易移植性等诸多特征,使得这门语言得到了广泛的应用。而且,这种语言具有很好的发展景。程序开发费用少,工作效率高,并拥有很好的用户界面和强大的开发工具。网上数据编程体现的非常充分,是其它语言无法做到的。 .2 jsp 简介简介jsp(javaserver pa

14、ges)是由 sun microsystems 公司倡导、许多公司参与一起建立的一种动态网页技术标准。该技术为创建显示动态生成内容的 web页面提供了一个简捷而快速的方法。jsp 技术的设计目的是使得构造基于 web的应用程序更加容易和快捷,而这些应用程序能够与各种 web 服务器,应用服务器,浏览器和开发工具共同工作。 jsp 规范是 web 服务器、应用服务器、交易系统、以及开发工具供应商间广泛合作的结果。在传统的网页 html 文件中加入 java 程序片段和 jsp 标记,就构成了 jsp 网页。web 服务器在遇到访问 jsp第 3 页 共 22 页网页的请求时,首先执行其中的程序片

15、段,然后将执行结果以 html 格式返回给客户。程序片段可以操作数据库、重新定向网页以及发送 email 等等,这就是建立动态网站所需要的功能。所有程序操作都在服务器端执行,网络上传送给客户端的仅是得到的结果,对客户浏览器的要求最低,可以实现无 plugin,无activex,无 java applet,甚至无 frame。.3 struts 体系结构简介体系结构简介作为一个实现良好的 mvc 框架,struts 对 model、view 和 controller 都提供了对应的实现组件,图 2-1 所示为 struts 体系结构图。下面从模型、视图、控制来介绍 struts

16、的体系结构。浏览器控制器 servlet业务逻辑 action配置文件 struts-config.xml视图 jsp模型 application state调用取得数据请求响应图 2-1 struts 体系结构图视图(view)就是一系列提交到客户浏览器进行显示的 jsp 文件,是用户看到并与之交互的界面。在这些界面中没有业务逻辑,也没有模型信息,只有标签。模型(model)表示应用程序的状态和业务逻辑,通常由 javabean 或 ejb组件来实现。控制器(controller)的作用是从客户端接受请求,并且选择执行相应的业务逻辑,然后把响应结果送回到客户端。在 struts 中 cont

17、roller 由actionservlet 类和 action 类来实现。actionservlet 主要负责接受 http 请求信息,action 类负责调用模型的方法,更新模型的状态,并帮助控制应用程序的流程。.4 eclipse+myeclipse 简介简介eclipse 是一个开放源代码,基于 java 的可扩张的开发平台,多数人都是将 eclipse 作为 java 的集成开发环境使用。eclipse 的设计思想是:一切皆为插件。它自身的核心是非常小的,其它所有的功能都以插件的形式附加到该核心上。第 4 页 共 22 页eclipse 中三个最吸引人的地方是它创新性的

18、图形 api,即 swt/jface,它大大改善了 java 界面不够美观,界面响应速度比较慢的能力。二是它的插件机制。三是利用它的插件机制开发的众多功能强大的插件,而 myeclipse 就是其中的一种有名的插件集之一,myeclipse 将开发者常用到的一些有用的插件都集合起来。myeclipse 为 eclipse 提供了一个大量私有和开源的 java 工具的集合,这解决了各种开源工具的不一致和缺点。这些工具解析 java 和 xml 配置文件。 .5 mysql 简介简介mysql 是一个多用户、多线程的支持标准 sql 语句的关系型数据库。它支持大文件及图像的存储,并

19、且提供一个丰富和极其有用的功能集。它的特点是速度快, 易用,稳定性能好, 所以很适合应用在 internet 网络上,用它来存取数据。具体地,它是一个客户机/服务器系统,由一个支持不同后台的服务器守护程序 mysql, 多个不同的客户程序及库,管理工具,及一个界面组成。mysql 已得到众多应用的支持。mysql 是数据库领域的中间派。它缺乏一个全功能数据库的大多数主要特征, 但是又有比类似 xbase 记录存储引擎更多的特征。它像企业级 rdbms 那样需要一个积极的服务者守护程序,但是不能像他们那样消费资源。查询语言允许复杂的连接查询,但是所有的参考完整必须由程序员强制保证。mysql 找

20、到一个位置提供简洁和速度,同时仍然提供足够的功能使程序员高兴。数据库程序员将喜欢其查询功能和广泛的客户库,他们会觉得系统缺乏主要数据库功能,他们会发觉它对简单数据库(在不能保证购买大牌数据库时)是有价值的。3 3网站总体设计网站总体设计本部分是对本系统代码设计与数据库设计的介绍。3.13.1系统整体简介系统整体简介本网上书店系统分为管理模块和在线购物及统计分析模块两大模块.管理模块的设计和实现分为注册管理,用户管理,图书管理,权限管理这四个模块,其前台主要是完成用户的登录,注册和密码找回,让用户能根据需要对个人信息进行修改和查看,并能够对书本进行浏览和查询,以及 vip 用户提交申请功能。后台

21、的功能主要是让管理员有对用户,图书和 vip 提交进行相关处理的功能。而在线购物及统计分析模块分为在线购物模块和统计分析模块两大模块,其中包括在线购物,统计分析,订单处理和会员公告四大部分,其主要功能是完成用户对书籍的购买,排行榜的建立,积分事件的实现,消费订单的管理以及第 5 页 共 22 页会员公告的实现和修改。在本系统中,本人负责的是在线购物及统计分析模块的设计和实现,以下便是该网站完整的功能结构图,蓝色部分由本人负责。3.23.2在线购物及统计分析模块功能在线购物及统计分析模块功能设计设计.1 在线购物模块在线购物模块本模块主要分为购物车和充值管理两大功能,购物车功能主

22、要是实现店主和顾客之间交易功能,充值管理功能则实现了对用户金额的充值。该模块功能图如图 3-2 所示。 图 3-1 系统总体构造图网上书店管理模块在线购物及统计分析模块注册管理统计分析用户管理图书管理权限管理在线购物订单处理会员公告在线购物充值管理购物车单本删除删除已选书本全部删除实现管理员后台手动充值显示书本详情选择购书数量图 3-2 在线购物模块功能示意图第 6 页 共 22 页(1)购物车功能购物车功能说明:购物车功能具有选择购买数量,查看到书名,价格(会员享受 9 折,vip 会员享受 8 折优惠) ,数量,总金额和用户余额,还具有能清空全部已选图书或者一本图书的功能,完成购买后,该用

23、户的账户金额也自动减去消费金额,使所连接数据库在该用户的余额中也自动减去消费金额。以下是购物车界面图,如图 3-3 所示。由于购物车是本系统的重要部分,所以下面详细介绍一下此功能的实现和核心代码。在设计购物车功能的时候,要实现购物车所必要的几个功能有以下几种,一是选择购书数量功能,二是购书提交功能,三是在购物车里面显示图书的详细情况,包括作者和价钱等相关信息,还有就是考虑到用户在已经将要购买的图书放入购物车后,当该用户浏览网页发现有比此本图书或几本图书更有购买价值之后,那么就应该在购物车里面添加一个单本删除已选图书或几本图书的删除功能。在购物车功能前台页面代码开发的时候,本人对页面的跳转做了以

24、下的设定。首先在进入书本详细介绍页面的时候,在次页面下添加了选择购书数量的功能,在点击“购买”后,页面返回到主页面,在再次进入到购物车页面后,购物车页面显示了刚才选中图书的详细情况,并且在此有删除该本图书的功能,在点击“提交”后,完成该本书籍的网上购买,系统自动在该用户的余额中扣去相应金额。在代码开发中,购物车的功能是由几个类共同完成。buybookaction.java类是完成购物车图书详情的功能,并显示所选书籍的user_id,book_id,buynum,和 bookname,并且将 bookname 转码成标准的gb2312 格式。而 delbuycartaction.java 类是购

25、物车中的删除已选图书的功能,它调用了 javabean 中的 db.java 的逻辑处理方法, 完成了对单本图书和多本图 3-3 购物车界面图第 7 页 共 22 页图书删除功能的实现。在前台 buycart.jsp 页面的代码中,也加入了一些判断语句,对购物车界面的一些操作进行对话框提示,让页面更具友好化。购物车表单功能核心代码:/ request.getparameter 是从页面上获取输入的内容 string user_id = request.getparameter(user_id);string book_id = request.getparameter(bookid);stri

26、ng num = request.getparameter(buynum);string bookname = ;try /将 bookname 转码bookname=newstring(request.getparameter(bookname).getbytes(iso-8859-1), gb2312); catch (unsupportedencodingexception e) / todo auto-generated catch blocke.printstacktrace();/ 新建一个 arraylist 的列表arraylist buybooklist = new arra

27、ylist();/设置一些信息,如:user_id 等,放进 buybooklistbuybooklist blist = new buybooklist();blist.setuser_id(user_id);blist.setbook_id(book_id);blist.setnum(num);blist.setbook_name(bookname);blist.setprice(request.getparameter(price);删除书籍功能核心代码:try /从页面获取参数:string bid = request.getparametervalues(bid);int n = 0

28、;/从全局容器中拿到书的列表:arraylist buybooklist = (arraylist) session.getattribute(buybooklist);system.out.println(bidbid.length - 1);/这里是把列表中的书删除掉,这个 action 是做删除的动作,拿到了用户选择的书的 id 的数组(多本书)bid,然后根据 id 去把列表中的书删除掉:for (int i = bid.length - 1; i = 0; i-) n = integer.parseint(bidi);buybooklist.remove(n);/把删除后的列表放到容

29、器中:session.setattribute(buybooklist, buybooklist);/如果列表中没书了,就不要放到容器中,用 remove 移除:第 8 页 共 22 页if (buybooklist.size() = 0) session.removeattribute(buybooklist);system.out.println(nullnull*);/跳转页面:pageforward = delbuycart;(2)充值管理功能本模块是为了方便书店店主以管理员身份进入后台管理界面进行充值操作而设计的,即当顾客在查询到自己余额不足的情况下,通过某种方式与店主取得联系并在网

30、站外完成金额交易(比如:汇款) ,然后店主以管理员的身份进入到后台管理中的会员充值模块中,选中顾客 id 后,根据需要对该用户充值相应的金额。本功能在设计的时候,是将此功能设定在后台管理员界面中用户管理模块里面,方便管理员在对用户信息充值的时候好对用户信息进行查看。在设计充值的时候,调运了 user.java 里面的 addmoney 方法来实现充值功能,为了使管理员能够及时查看到充值过后用户余额的变化,在页面显示了用户的当前余额,并在界面设计中的 addmoney.jsp 代码中设置了一些对管理员操作的判断,给予一些友好提示。.2 统计分析模块统计分析模块本模块包括了排行榜功

31、能和积分管理功能两大功能,其功能主要是指顾客对本系统书籍的点击数,购买数和积分事件实行的页面实现功能。该模块的功能图如图 3-4 所示。图 3-4 统计分析模块功能示意图统计分析总排行榜周点击排行榜积分查询日点击排行榜积分管理排行榜设定积分事件总点击榜总销售榜第 9 页 共 22 页(1)排行榜功能介绍排行榜功能说明:排行榜模块的实现是为了方便顾客在浏览本网站图书时,给予顾客选购图书起到一定的推荐作用。本排行榜模块包括了总的点击排行榜,总的销售排行榜,还有日点击排行榜跟周点击排行榜。下面是排行榜界面图, 如图 3-5 所示。排行榜在本系主要模块统统计分析模块中占有重要地位,下面就来详细讲解以下

32、排行榜功能的实现和核心代码。排行榜功能在设计的时候,考虑到不同用户的爱好,就设定了有总的销售排行榜,总的点击排行榜,周排行榜和日排行榜,在周排行榜和日排行榜都运用了一个系统监听的方法来对时间周期进行判定,从而实现这两个排行榜特殊功能的,在总销售排行榜里,每本书籍后都有销售的数量数,在三个点击排行榜里,每本书后也有点击数显示。本功能的实现是在各个排行榜排列主页面的右方,并运用了下拉滚动条来实现的。在代码中,排行榜的完成是由 paihangaction.java 来实现的,其中 actionservlet 调用了 javabean 中 db.java 和 book.java 的逻辑处理方法。而在

33、book.java 中运用到了gethotbooklist,gethotbooklistday,gethotbooklistweek 和gethotsellbooklist 这四个方法,这四个方法便是运用数据库语句将这四个排行榜从数据库中搜索出来,以完成这四个排行榜的实现。在前台 pai.jsp 页面代码中,实现了下拉滚动条的功能,也运用到了 book.java 中的getname,getid,getclick 和 getnum 来对三个点击排行榜里面显示点击数和销图 3-5 排行榜功能界面图第 10 页 共 22 页售排行榜里面显示销售数的功能实现。在日排行榜和周排行榜中还用到了syscon

34、textlistener.java 中的contextinitialized方法,它实现了日排行榜和周排行榜中时间的判定。系统监听器实现的核心代码:public void contextinitialized(servletcontextevent event) /在这里初始化监听器,在 tomcat 启动的时候监听器启动,可以在这里实现定时器功能 timer = new timer(true); event.getservletcontext().log(定时器已启动);/添加日志,可在 tomcat日志中查看到 timer.schedule(new exporthistorybean(ev

35、ent.getservletcontext(),0,60*60*1000);/调用exporthistorybean,0 表示任务无延迟,5*1000 表示每隔 5 秒执行任务,60*60*1000 表示一个小时。 event.getservletcontext().log(已经添加任务); public void contextdestroyed(servletcontextevent event) /在这里关闭监听器,所以在这里销毁定时器。 timer.cancel(); event.getservletcontext().log(定时器销毁); (2)积分管理功能积分管理模块中的积分查询

36、是让顾客能够查询到自己的积分情况,本系统中的积分事件功能是当你注册成为会员用户后,在购买书籍金额累计到 500 元过后(本系统消费一元就等于加积分一点),系统自动将该会员用户升级成vip 用户,vip 用户享受购书 8 折优惠。在设计该部分时,鉴于该功能的特性,该功能是不能以功能键放置到页面,因此没对该功能做界面设计,便在开发代码的时候,在 javabean 中的user.java 里设定了一个 moneyupdate 方法,用方法中 if 判断语句来对积分事件进行判定,从而完成该功能实现的。第 11 页 共 22 页.3 订单处理模块订单处理模块本模块包括了用户的购买记录功能

37、和管理员的消费记录功能,其功能是让顾客和店主能够自己查询已购书本记录和消费订单记录。该模块的功能示意图如图 3-6 所示。(1)购买记录功能该功能让用户在该用户的账户管理中,能够实现用户对自己购买书籍记录的查看。而且还能够实现购买记录的电子报表导出,并且能够完成该页面的打印功能。该功能在设计的时候,考虑到用户需要对自己购买书本的详细情况进行了解或查询,所以需要有个导出电子报表的功能,好让用户对个人购书记录的情况有个直观了解,而在便于用户对购买记录的即时保存上,本系统在购买记录功能界面添加了打印记录功能。在这两个功能的辅助下,使得用户在对购买记录的查询和保存上有了一定的保障措施。在打印代码的设计

38、时,是由querylistaction.java 实现的,里面运用了 if 语句来对消费记录为空进行判断,而且其中调用了 buybooklist.java 中的 getquerylist 方法,来对消费记录表进行读取,从而实现打印功能。(2)消费记录功能消费记录功能说明:该功能是让管理员在登录之后,对所有顾客消费记录的查看。其中的查询功能能够根据书名和用户的 id 号来查询相应书籍的详细记录,而且能够实现购买记录的电子报表导出,也能够完成该页面的打印功能。现在介绍下消费记录功能中电子报表导出的功能。设计此功能是为了方便管理员更直观的查看消费记录清单。它能够根据消费记录导出一张 excel 表,

39、包括了用户 id,书籍名,购买数量,购买价格和购买时间这些重要信息的导出。在代码设计中,报表导出的功能主要是用 javabean 里面的 excelparse.java 来订单处理图 3-6 订单处理模块功能示意图消费记录购买记录导出电子报表打印记录记录查询导出电子报表打印记录第 12 页 共 22 页实现,在这个类里,调用了 writeexcel 这个方法,运用 case 语句来对 excel表导出进行判断来完成此功能。excel 表导出功能核心代码:/这个是导出 excel,一个 workbook 就相当于一个 excel 文件:hssfworkbook wb = new hssfwork

40、book();/一个 sheet 就是 excel 里面的一个 sheet:hssfsheet s = wb.createsheet();/然后为 sheet 设置名字wb.setsheetname(0, 购买记录, (short) 1);/这个是表格的标题,只是定义,还没放到里面去string title = 用户 id, 书籍名, 购买数量, 购买价格, 购买时间 ;/循环写入 title:for (short i = 0; i title.length; i+) /新建一行:hssfrow row = s.createrow(0);/新建一个 cell:hssfcell cell = r

41、ow.createcell(i);/设置编码和值:cell.setencoding(short) 1);cell.setcellvalue(titlei);buybooklist bbl = new buybooklist();/循环列表中的书,然后把内容写进去:for (short i = 1; i list.size() + 1; i+) bbl = (buybooklist) list.get(i - 1);/新建一行:hssfrow row = s.createrow(i);/循环 5 列:for (short j = 0; j 5; j+) switch (j) case 0: /第

42、一列写入 user_idhssfcell cell = row.createcell(j);/新建 cellcell.setcellvalue(bbl.getuser_id();/写入值break;case 1: /第二列写入 booknamecell = row.createcell(j);cell.setencoding(short) 1);cell.setcellvalue(bbl.getbook_name();break;case 2: /numcell = row.createcell(j);cell.setcellvalue(bbl.getnum();第 13 页 共 22 页br

43、eak;case 3: /pricecell = row.createcell(j);cell.setcellvalue(bbl.getprice();break;case 4: /buydatecell = row.createcell(j);cell.setcellvalue(bbl.getbuydate();break;.4 会员公告模块会员公告模块本模块主要分为前台的会员公告显示和后台的会员公告修改,其功能主要是对会员公告这一功能进行实现和修改。该模块的功能示意图如图 3-7 所示。(1)会员公告显示功能会员公告显示功能说明:本功能是会员在登录本系统之后才显示的消息模块

44、。此会员公告里面公告了本书店的各种活动信息和各种重要消息,以滚动形式显示,便于顾客查看。在设计该功能的时候,因为此功能是显示本系统的主要消息和及时通知等重要信息的,所以该字体采用红色字体,为了用户能够一直看到消息,对会员公告的显示采用了的左右滚动的显示方式,进一步让用户在进入本系统的时候能够了解到公告里面的重要信息。设计这个小功能时,是在 right.jsp 页面的代码中写入:,便实现了会员公告显示的动作。(2)会员公告修改功能图 3-7 会员公告模块功能示意图会员公告显示会员公告修改会员公告第 14 页 共 22 页会员公告修改功能说明:本功能是在管理登录之后,在会员公告修改功能中对会员公告

45、的内容加以修改。在代码设计开发中,是由 editnewaction.java 来实现此修改会员公告功能的,此类调用了 javabean 中 admin.java 中的 adminupdate 方法,从而实现修改功能的。功能实现核心代码:/从 session 中获取一个 admin 对象 admin admin = (admin) session.getattribute(admin);/获取一个 news 参数string news = request.getparameter(news);/更新到数据库admin.adminupdate(db, admin.getadmin_id(), ad

46、min.getpsw(), news);/再把 news 设到 admin 中放入容器中admin.setnews(news);session.setattribute(admin, admin);/跳转页面:pageforward = editnews;db.close();return (mapping.findforward(pageforward);3.33.3数据库设计分析数据库设计分析根据以上对本系统的功能介绍,在对系统的开发过程中,要实现运行,至少需要有四点要素:用户,管理员,书本和购买记录。因此,本系统才用了以这四点要素为主键的四张数据库表。.1 用户信息表用户

47、信息表用户信息表是存放用户各种属性和信息的数据库表,包括了:id,user_id,psw,user_name,score,level,email,money 和 vip 这些字段,其中以 id 为主键。下表便是用户信息的数据库列表,如表 3-1 所示。表 3-1 用户信息表列名数据类型及长度允许空描述idint(11)yes主键user_idvarchar(10)yes用户登录 idpswvarchar(50)yes密码user_namevarchar(20)yes用户姓名scoreint(11)n0用户积分第 15 页 共 22 页levelint(1)n0用户类型emailvarchar(

48、50)n0用户邮件moneydouble(10,2)n0用户余额vipint(1)n0vip 申请记录.2 图书信息表图书信息表图书信息表是存放图书各种属性和信息的数据库表,它是以 id 为主键,其他的字段有:name,author,content,kind,price,click,img 和 operatedate。下表是图书信息表的详细描述,如表 3-2 所示。表 3-2 图书信息表列名数据类型及长度允许空描述idint(11)yes主键namevarchar(100)yes图书名称authorvarchar(50)yes作者contentvarchar(255)no图书内

49、容kindvarchar(2)no图书类型pricedouble(10,2)no图书价格clickint(50)no图书点击次数imgvarchar(100)no图书图片operatedatedatetimeyes更新日期dayclickint(50)no每天图书点击次数weekclickint(50)no每周图书点击次数.3 消费订单信息表消费订单信息表消费订单信息表是存放消费订单各种信息的表单,本系统建立了以消费订单 id 为主键的消费订单信息数据库表,其它字段包括有:user_id,book_id,num,buydte,price 和 book_name 组成。下面就是消

50、费订单信息表的详细介绍,如表 3-3 所示。表 3-3 消费订单信息表列名数据类型及长度允许空描述第 16 页 共 22 页idint(11)yes主键user_idvarchar(10)no用户登录 idbook_idint(11)no图书 id 号numint(11)no购买数量buydatedatetimeyes购买时间pricedouble(10,2)no购买价格book_namevarchar(100)yes图书名称.4 管理员信息表管理员信息表管理员信息表是用来存放管理员信息的表单,本系统以 id 为主键,admin_id,psw 和 news 为其他字段,创建了管

51、理员信息表。下表就是管理员信息表的详细说明,如表 3-4 所示。表 3-4 管理员信息表列名数据类型及长度允许空描述idint(11)yes主键admin_idvarchar(10)yes管理员登录 idpswvarchar(50)yes管理员登录密码newsvarchar(255)yes会员公告信息4 4主要功能测试主要功能测试本部分是介绍对系统主要功能的测试过程。4.14.1购物车功能测试购物车功能测试购物车功能是本系统的核心功能,在测试中,主要针对在购物车交易完成的提交功能上。在提交功能中,系统会根据不同情况做出相应的提示。(1)测试点一当用户在将书本选购到购物车里面,然后进入购物车,点

52、击“提交”后,但由于该用户的余额不足以完成该次交易的时候,系统会自动弹出一个对话框,提示用户余额不足。按照健壮性的要求,本测试以两种方法对本功进行多次测试。第一次测试,在用户零余额购书的情况下得到如图 4-1 所示结果,与预期输出结果符合。然后按照健壮性的要求,在第二次测试中,本人对有金额的用户进行金额超值的购书操作,结果也得到图 4-1 所示。在接下的三次测试中,每次测试的结果都与预期输出结果相同,得出结论:测试点一基本符合系统要第 17 页 共 22 页求。(2)测试点二当用户在余额足够的情况下进行交易提交,系统也会根据用户的提交操作弹出一个对话框,表示交易已成功。按照健壮性的要求,本测试

53、以同种方法对本功进行多次测试。第一次测试,用金额足够的用户进行购书交易,得到结果如图 4-2 所示结果,与预期输出结果符合。之后又以四个不同用户进行购书操作,得到的输出结果都与预期输出结果相同,得出结论:此测试点功能符合系统要求。(3)测试点三在完成购书交易后,系统对该用户自动扣除相应金额。按照健壮性的要求,本测试以两种方法对本功进行多次测试。第一次测试,为了测试该功能的实现,只要用户在账户管理里面查看自己的余额即可验证。按照要求,本人在交易之前查看了用户余额,在交易之后再次查看余额,得出了两次余额差等于书本总额的结果,如图 4-3 所示,与预期输出结果符合。图 4-1 余额不足对话框图 4-

54、2 交易成功对话框第 18 页 共 22 页第二次测试,为了再次验证功能的可靠性,本人用查看数据库用户信息表中余额的变化的方法来验证,先在数据库表单里面查看用户余额,然后完成购书交易,更新数据库表,再次查看用户余额,得到预期输出结果,如图 4-4 所示。在接下的三次测试中,运用以上两种方法进行测试,结果都与预期结果一致,得出结论:本测试点功能基本符合系统要求。4.24.2排行榜功能测试排行榜功能测试排行榜功能是本系统的主要功能,本次为了方便测试,只对总销售榜和总点击榜进行测试。.1 总销售排行榜功能测试总销售排行榜功能测试测试点是对用户购买书籍后,查看书本在排行榜中位置升降的情

55、况。按照健壮性的要求,本测试以两种方法对本功进行多次测试。第一次测试,要检测排行榜的升降的情况,就只能用购买数量来判定,比如在销售排行榜上选择排行第二的图书,查看它与排名第一的图书销售量的差别,然后对它进行购买,购买数量刚好比它们的差别数多一本,这样就能让此本图书从排行榜第二的位置上升到第一的位置,借以来查看排行榜的升降情况。根据以上所述,本人对此排行榜进行了以上操作,得到了预期的结果,如图 4-4 所示。图 4-3 余额功能检测图图 4-4 数据库查询用户余额示意图第 19 页 共 22 页在第二次测试中,本人在数据库消费记录表单中对书本的销售量进行手动修改,和上面方法一样,在数据库中手动将

56、一本书的销售量修改到比它排名高一位的书本销售量多一本,再刷新数据库,然后查看排行榜情况,也得到了预期的结果。在接下的三次测试中,本人对其他书本进行了以上两种不同方法的不同操作,排行榜位置的升降都得到改变,与预期结果相同,得出结论:该测试点功能基本符合本系统。.2 总点击榜功能测试总点击榜功能测试测试点是对用户点击查看书籍后,查看书本在排行榜中位置升降的情况。按照健壮性的要求,本测试以两种方法对本功进行多次测试。第一次测试,要查看排行榜的升降情况,就只能用点击数量来判定,和上面的总销售排行榜的第一次测试方法类似。本人按照相同做法进行操作,得到了预期的结果,如图 4-6 所示。第二

57、次测试,本人按照总销售排行榜第二次测试的方法,也在数据库的书籍信息表单中对书本的点击数进行手动修改,把一本书的点击数修改到比它排名高一位的书本点击数多一本,再刷新数据库,然后查看排行榜情况,得到了预期的结果。在接下的三次测试中,本人对其他书本进行了以上两种不同方法的不同操作,排行榜位置的升降都得到改变,与预期结果相同,得出结论:该测试点功能基本符合本系统。图 4-5 总销售榜功能测试图图 4-6 总点击牌行榜功能测试图第 20 页 共 22 页4.34.3系统测试总结系统测试总结本系统适用于有意在网上开办小型网上书店的用户,对于结果比较满意。但是还是很多不足需要改进,以后会对本系统做以下的改进

58、:(1) 由于时间的关系,系统界面设计上还存在着一些问题,设计的也不美观,在以后的时间里将会的界面进行修改,使界面看起来更美观。(2) 在代码编辑过程中遇到不少困难,虽然已经和同学解决了一些,但仍有一些存在缺陷,还有就是数据库的连接还需要进一步改进,使之更加完善。 (3) 对于系统的内容也不是很完善的。相对于大型实际的网上书店的某些功能还无法实现,以后将更加认真的学习java等相关知识,争取能够独自完成一个功能比较完善的网上书店系统,并使系统功能更加强大。结结 论论本系统是一个基于 b/s 模式的网上书店销售系统,我所设计的网上书店,实现了购物车、排行榜、订单查询及打印、会员公告和积分事件等功

59、能。该系统大部分模块的设计和实现都基本满足界面清晰、友好,操作简单的特点,基本符合一个网上书店系统的要求,不过仍然存在着许多不足,比如:没有实现真正意义上的在线支付,只是简单的实现了管理员手工为用户账户充值,整个系统还不够人性化等等,这些都有待于我在日后的学习中不断的改进。相信随着电子商务技术的发展,网上书店系统会越来越受到人们的欢迎。参考文献参考文献1汪孝宜,刘中兵.jsp 数据库开发实例精粹m.北京:电子工业出版社,2005。2施霞萍,张欢欢,马可幸.java 程序设计教程m.北京:机械工业出社,2004。3柳永坡,刘学梅.jsp 应用开发技术m.北京:人民邮电出版社,2005。4李育龙,

60、杨健.jsp 软件工程案列精讲m.北京:电子工业出版社,2005。5史佳,史斌星.java 基础编程贯通教程m.北京:清华大学出版社, 2003。6张军.jsp 网络应用开发例学与实践m.北京:清华大学出版社,2006。7黄德才.数据库原理及其应用教程m.北京:科学出版社,2004。第 21 页 共 22 页致致 谢谢本文是在杜小丹老师的热情关心和指导下完成的,她渊博的知识和严谨的治学态度使我受益匪浅,对顺利完成本课题起到了极大的作用。在此向她表示我最衷心的感谢!在论文完成过程中,本人还得到了昌燕老师,张道明同学和曾鸣同学的热心帮助,本人向他们表示深深的谢意!最后向在百忙之中评审本文的各位专家

温馨提示

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

最新文档

评论

0/150

提交评论