下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 46/48 换论文封面你最大的问题,就是卖书以后,书的库存减少没有体现,此外订单数目修改,库存也要改,代码重用要在设计突出,给出两页面,明确指出重用部分P10 密码加密存储没有实现 某师X学院 毕业设计论文题目:网上购书系统二级学院商学院专业电子商务年级2008级学生某陈月珠学号2008334101指导教师管丽娟 完稿时间 2012.4.29网上购书系统摘要控制在300字左右,只需一段话摘要:本网上购书系统是一个基于Internet,采用了B2C(Business to Consumers)模式,并根据现有的网上购物系统的现状而设计开发的电子商务平台。它不但可以扩大商家的规模和市场影响力,而
2、且可以减少企业的经营成本,提高工作效率。本文首先介绍了网上购书系统的开发背景,然后论述网上购书系统的现状和发展,较详细地论述了系统的分析,设计和实现。本系统主要为用户提供了注册和登录,查看书籍,购物车管理,确认购买书籍信息管理,生成订单管理; 为管理员提供了书籍管理,修改书籍管理,订单管理等。在设计方面,本系统采用B/S三层 结构,主要应用了JSP技术和Servlet技术进行动态页面的设计,从系统的安全性和代码的可重用性方面考虑,后台数据库选用了Mysql数据库。关键词购书系统、B/S三层结构(删掉)、JSP、Servlet、Mysql目录TOC o 1-3 h z uHYPERLINK l
3、_Toc3234911831网上购书系统绪论3HYPERLINK l _Toc3234911841.1 系统开发背景3HYPERLINK l _Toc3234911851.1.1网上书店系统发展3HYPERLINK l _Toc3234911861.1.2网上书店系统发展现状3HYPERLINK l _Toc3234911871.1.3网上书店的优越性4HYPERLINK l _Toc3234911881.2 系统实现的目标4HYPERLINK l _Toc3234911892. 网上购书系统分析4HYPERLINK l _Toc3234911902.1系统设计目标4HYPERLINK l _
4、Toc3234911912.2系统的可行性分析4HYPERLINK l _Toc3234911922.3系统设计的特点5HYPERLINK l _Toc3234911932.4系统的功能需求分析5HYPERLINK l _Toc3234911942.5系统设计的总体规则6HYPERLINK l _Toc3234911953系统主要架构及开发技术6HYPERLINK l _Toc3234911963.1基于B/S的体系结构6HYPERLINK l _Toc3234911973.2开发技术的选择7HYPERLINK l _Toc3234911984系统设计7HYPERLINK l _Toc3234
5、911994.1系统功能模块设计7HYPERLINK l _Toc3234912004.1.1前台功能和后台功能模块7HYPERLINK l _Toc3234912014.1.2注册功能流程 PAGEREF _Toc323491201 h 8HYPERLINK l _Toc3234912024.1.3用户登录流程 PAGEREF _Toc323491202 h 9HYPERLINK l _Toc3234912034.1.4书籍查看流程 PAGEREF _Toc323491203 h 10HYPERLINK l _Toc3234912044.1.5购物车流程 PAGEREF _Toc323491
6、204 h 11HYPERLINK l _Toc3234912054.1.6书籍管理流程12HYPERLINK l _Toc3234912065系统功能的具体实现 PAGEREF _Toc323491206 h 12HYPERLINK l _Toc3234912075.1系统数据库表的基本设计14HYPERLINK l _Toc3234912085.1.1 E-R图15HYPERLINK l _Toc3234912095.1.2所用表 PAGEREF _Toc323491209 h 16HYPERLINK l _Toc3234912105.2 功能总体说明19HYPERLINK l _Toc3
7、234912115.2.1功能页面结构 PAGEREF _Toc323491211 h 19HYPERLINK l _Toc3234912125.2.2主要功能流程图: PAGEREF _Toc323491212 h 19HYPERLINK l _Toc3234912135.3各功能模块的实现20HYPERLINK l _Toc3234912145.3.1登录和注册功能模块20HYPERLINK l _Toc3234912155.3.2查看书籍模块23HYPERLINK l _Toc3234912165.3.3查看书籍详情信息模块 PAGEREF _Toc323491216 h 23HYPER
8、LINK l _Toc3234912175.3.4购物车功能模块 PAGEREF _Toc323491217 h 26HYPERLINK l _Toc3234912185.3.5确认信息模块30HYPERLINK l _Toc3234912195.3.6生成订单模块 PAGEREF _Toc323491219 h 33HYPERLINK l _Toc3234912205.3.7 后台管理模块 PAGEREF _Toc323491220 h 34HYPERLINK l _Toc3234912215.3.8书籍管理功能模块的图片如下: PAGEREF _Toc323491221 h 36HYPER
9、LINK l _Toc3234912225.3.9订单管理功能模块 PAGEREF _Toc323491222 h 42HYPERLINK l _Toc3234912236开发平台与开发工具 PAGEREF _Toc323491223 h 43HYPERLINK l _Toc3234912246.1网上购书系统的开发软件 PAGEREF _Toc323491224 h 44HYPERLINK l _Toc3234912256.6.1 Dreamweaver PAGEREF _Toc323491225 h 44HYPERLINK l _Toc3234912261.6.2 Mysql PAGERE
10、F _Toc323491226 h 45HYPERLINK l _Toc323491227总结与展望 PAGEREF _Toc323491227 h 45HYPERLINK l _Toc323491228参考文献 PAGEREF _Toc323491228 h 46HYPERLINK l _Toc323491229致谢 PAGEREF _Toc323491229 h 46目录格式需设置1 网上购书系统绪论1.1 系统开发背景1.1.1网上书店系统发展 第一章 需另起一页,且在正面开始打印;其余各章需另起一面Internet的迅速发展正以前所未有的深度和广度影响和改善着人类生活的各个方面,越来越
11、多的人开始意识到Internet所蕴含的经济价值的无穷商机,并积极投身于电子商务活动。实际上,电子商务是一些商业行为的电子化,例如网上书店,网上贸易,就网上书店来说,网上书店是目前应用最广,最成功的典X之一,网上书店的崛起对传统的图书流通体系产生了强烈的冲击,有效地缩短了图书流通发行环节,将扩大读者,图书,出版者,发行者紧密地结合在一起,大大提高了图书流通率。 1.1.2网上书店系统发展现状西方国家网上书店概况:世界上第一家网上书店是1991年在美国联机公司AOL采购网络上建立的“阅读美国书店”,目前最负胜名的是美国西雅图亚马孙图书公司的亚马孙网上书店。它创建于1995年,供书品达310余万种
12、年,顾客达500万人次,其价格优惠20-50%。金融结算制度完善,配送服务高效。实现了零库存运转。英国网上书店较著名的有Internet书店,德国的网上书店主要有图书在线网上书店。 注明出处国内网上书店的概况:自从亚马孙网上书店成功后,中国的网上书店也建立起来。中国最早的网上书店是1997年在某新华书店诞生的,在经过年余的艰苦经营,接待了400多位访问者后,悄然引退,而进入1998年后,作为中国书业传统经营力量的新华书店,正式宣布进入网络领域,先试第九届全国书市首次开通书店,后来在1998年12月30日某书城成为国内首家正规的网上书店,读者在家中可以上网完成浏览,选购,付款的全过程。1999年
13、是网上书店迅速发展的一年,商业公司不断进入网上书店有超过几百家,有自己的公司有40多家,这个数目还不断增加。注明出处1.1.3网上书店的优越性网上书店在价格,时效性,品种,查询方式等方面都有优势。网上书店是一种直销方式,在到书速度和价格上都有优势,网上书店的书目数据是任何订购书目是无法比拟的,网上书店的数目除书名,著者,价格等信息外,还有封面,内容简介,目次,评论等详细信息。同时网上书店的目录查询功能也是传统的按某种分类规则编排的图书征订目录无法比拟的,(改用实体书店)其以关键词或主题从网上检索某类文献,查准率与查全率都有一定的保障。另外还有一些书更是以包销或总代理的形式进行销售,这就意味着一
14、种全新的电子商务模式的开始。1.2 系统实现的目标(本论文的主要任务)现在流行的网上购书系统不仅要有漂亮的网页,更有严谨的规划,注重每一个细节的环节。这样才能使得电子交易时避免不必要错误发生,我使用HTML、JSP等技术来编辑网页,并运用JDBC技术把数据库和动态网页相关联。传统的管理信息系统信息获取方法是由专业文字录入人员将信息输入到管理系统的数据库中,这种方法在数据量不大时有很多的应用场合。当数据量比较大,并且有较强的专业性,录入的费用和出错的可能性都相应上升。本设计在实际应用中的解决方案是建立,以及自己的数据库,使得所需商品信息可以及时的保存、更新,可以更好的及时了解书籍的买卖情况。(修
15、改,移到第二章 2.1)2. 网上购书系统分析2.1系统设计目标本购书系统由于需要演示程序,故为了演示方便,采用JSP/Servlet+Mysql+tomcat的架构实现,此系统分为前后台管理和后台管理。前台管理是友好的操作界面,供用户浏览,查询使用。包括浏览书籍、查询书籍、订购书籍。购物车等功能;后台管理是提供管理员的,其中包括:书籍管理、用户管理、使管理员从繁琐的手工操作中解脱出来,并提高了办公效率。(修改,移到1.2中)2.2系统的可行性分析系统可行性分析的目的就是要用最小的代价在尽可能短的时间内确定问题是否能够解决,系统方案在经济上、技术上和操作上等是否可以实现和接受。因此,可行性研究
16、实质上是要进行一次大大压缩简化了的系统分析和设计的过程,也就是在较高层次上以较抽象的方式进行系统分析和设计的过程。1)四级标题(1)技术可行性 本系统运行在windows上,硬件上不存在问题。实现技术上,采用较经典的基于MVC的web框架;web层使用具有Apache的一个开源框架,数据库使用Mysql5.1版。部署在Tomcat上运行。所有这些技术和产品都已较为成熟,技术可行性应该是没有问题的。(2)经济可行性从绪论中的可以看到,网上书店从计划到系统实现,我们所使用的所有技术都是免费开源的。从硬件角度来看,一个小型的网上书店只需要一台装有windows系统的电脑,这样就可以满足要求,可以说运
17、行的成本是十分低廉的;但同时带来的效益完全可以有利可图。因此经济上也是可行的。(3)操作可行性本系统的界面操作都较为简洁、方便,完全可以满足一般人群的操作需求。不用太多的计算机知识,友好的图形和提示可以上新手尽快上手。(4)法律可行性该平台是作为毕业设计与商业无关,又因为是自主开发设计,因此不会构成他人利益冲突和侵权,在法律上是可行的。综上所述,本购书系统中技术上、经济上、操作上和法律上都是可行的。2.3系统设计的特点我所设计和开发的网上购书系统试经过很长时间的调查和分析才开始具体实施的,它的主要特点是改变了以往的购物只能过现实的书店才能达到的结果,采用Web技术,借助于Internet 互联
18、网广泛应用技术,达到资源共享,提高以往购书(建议改为实体书店)的局限性,缩短人们的时间和提高工作效率,具有较好的交互性,从而实现信息化,规X化,系统化,网络化的平台,使整个购书活动过程简单、方便、易行。2.4系统的功能需求分析本设计把页面中一些常用的部分集成模块,这样设计新的页面是如果有重复出现的部分,只需要拿现成的模块来组装就可以了。设计对数据库的调用采用三层架构设计,对于需要连接数据库的页面,通过统一的数据库调用管理,给页面分配连接,这样就方便了对数据库的 调用和管理,同时使得对数据库的调用不会产生拥塞,并且在一定程度上增加了数据库的安全性。网上购书系统要求模拟现实中的买书场景,我们以此来
19、进行需求分析。(1)基本业务功能用户可以注册登录,可以对自己的个人信息进行修改,浏览查找自己所需要的书籍,在线购书,添加到购物车,在购物车中可以添加删除数据,查看购物车中内容,下订单并整理。(2)基本数据维护功能 把1,2改成从系统的几类用户功能分析入手管理员可以对所有书籍进行管理,包括添加、删除、更新等操作;对会员可以进行查看、修改、删除等操作;图书管理和订单处理。分析完毕后,应该有分析结果,也就是说应该有系统的功能结构图2.5系统设计的总体规则我自己做的系统的主要设计规则有:注意以下叙述不专业,要有点文采,记住你现在是在写论文简单性:在实现平台的功能的同时,尽量让平台操作简单易懂,这对于一
20、个来说是非常重要的。 比如说上面的话,你就应该写在系统界面友好,比较人性化等针对性:该平台设计是网上购书系统及后台管理的定向开发设计,所以具有专业突出和很强的针对性。实用性:该平台能完成电子书籍展示和管理员管理的基本信息,具有良好的实用性。3系统主要架构及开发技术3.1基于B/S的体系结构网上购书这种基于Web的系统,传统的C/S架构已经不能满足大量用户的访问和操作,B/S基于浏览器的架构则是目前网络系统应用的主流,用户通过浏览器向分布在网络上的许多服务器发出请求,服务器对浏览器的请求进行处理,将用户所需信息返回到浏览器。B/S 结构简化了客户机的工作,客户机只需配置少量的客户端软件。服务器将
21、担负更多的工作,对数据库的访问和应用程序的执行将在服务器上完成。浏览器发出请求,而其余如数据请求、加工、结果返回以及动态网页生成等工作全部有Web Sever 完成。实际上B/S体系结构是把二层C/S结构的事务处理逻辑模块从客户机的任务中分离出来,由Web服务器单独组成一层来负担其任务,这样客户机的压力减轻了,把负荷分配给了Web服务器。这种三层体系结构如图3-1所示3.2开发技术的选择合理的选择开发技术,对于开发的完成情况有着非常重要的影响。要开发一个,首先要选择一个动态网页开发技术。我觉得在传统的HTML代码中,利用HTML标签的扩展,构成页面,JSP的综合实力是最强的,所以就选择基于JA
22、VA的JSP技术/Servlet技术和javascript脚本语言等作为动态网页的开发技术。接着介绍Jsp的优点和mysql的优点4系统设计通过上述分析,在建网上购书系统之前,先对数据库进行分析,设计好系统的功能模块,并建好系统所需的数据库及要用到的一些表。4.1系统功能模块设计4.1.1前台功能和后台功能模块根据上述各项功能的分析,可以画客户界面、管理员界面的功能模块图。功能模块分为用户功能模块和管理员功能模块,用户登陆后的主要功能是实现网上购书,管理员功能模块主要是实现管理员对书店的管理,如用户管理、图书管理、订单管理等。录登户用客用书购线在在线购书查看购物车图书查询查看订单信息用户注册登
23、陆查看图书购书购书购书查看订单继续购书清空购物车提交购物车 删除已选书查看图书修改购买书功能图不精练,我想你应该从不同用户身份有不同的功能来画这个图,而且这个图有点累赘,买书一定要用户注册吗?也许我就是看客,也要注册吗?此图应该在2.4功能图中有所体现,改变一下形式后放在2.4中开 始用户登陆管理员登 陆登陆失败重新登陆退 出登陆失败现有图书管理添加新图书添加图书分类用户管理订单管理在线购书查看购物车图书查询查看订单信息用户注册登陆查看图书购书重新登陆退 出录登员理管理管户用现有图书管理添加新图书添加图书分类用户管理订单管理购书购书查看订单继续购书清空购物车提交购物车 删除已选书查看图书修改购
24、买书删除已选书修改购买书删除已选书图4-2 管理员界面后台系统管理功能模块将此图与上图合并4.1.2注册功能流程象这种细节介绍,应该是先给界面,再给其功能,然后给流程图,最后给出代码2)最好让系统设计与实现合为一章来写如图4-1-2所示:图需重画 图4-1-2注册的具体实现为:点击主页面的用户注册选项后,会弹出一个注册信息页面,用户需要如实填写用户名,密码,真实某,E_mail,地址,邮编等各项信息,提交后,系统进行检测判断该用户名是否注册过,如果已经存在则弹出新页面,提示用户该用户名已经注册过,如果没有则进行下一步判断,用户输入的两次密码是否一致,然后依次往后判断用户所填的各项信息是否符合要
25、求,直到所有信息均正确无误,系统将提示用户注册成功,用户登陆后,就可以进行有效的购物了。4.1.3用户登录流程(照上面的修改,以下亦同)如图4-1-3所示: 图4-1-3用户登录,首先要有一个提供用户登录的表单。用户登录的表单应该嵌入整体的结构中。在实际的应用中,可以这样设计,如果用户没有登录,则在页面中显示用户登录的选项,用户要有一个用户名和密码。商务需要很高的稳定性和安全性,因此对用户名不允许使用恶意的代码作为用户命。同时对密码也要求某,将密码加密后再存入数据库。4.1.4书籍查看流程(照上面的修改,以下亦同)如图4-1-4所示: 图4-1-4书籍查看功能使用进入书籍列表进行选择书籍,节省
26、时间,提高效率,查看书籍详情,满意则进入下订单。4.1.5购物车流程(照上面的修改,以下亦同)如图4-1-5所示:图4-1-5购物车具体的实现可采用这种形式:1.列出商品的列表,使用户能够自由选择所需要的书籍。2.当用户在点击添加到购物车“的时,执行如下功能:检查用户购物车类是否存在。如不存在,则建立,并注册;在有用户购物车类存在的情况下,检查该类中是否有该书籍。如存在,则书籍数量相应加1;如没有该书籍,则将该书籍添加到该购物车中。4.1.6书籍管理流程如图4-1-6所示 图4-1-6在该功能里管理员可以进行不需要的书籍的删除,在这里管理员当然也可以浏览到书籍的详细信息。并且比普通用户在浏览书
27、籍里所看到的书籍信息多一个该书籍在数据库中。5系统功能的具体实现(与第4章合在一块写)5.1系统数据库表的基本设计数据库在一个信息管理系统中占有非常重要的地位,数据库结构设计的好坏将直接对应用系统的效率,以及实现的效果产生影响。合理的数据库结构设计可以提高数据存储的效率,保证数据的完整和一致。用户的需求具体体现在各种信息的提供,保存,更新和查询,这就要求数据库结构能充分满足各种信息的输出和输入.收集基本数据,数据结构以及数据处理的流程。通过上述系统功能分析,针对一般在线书店的需求,总结出如下需求信息。用户分一般用户和管理员。订单只能生成总的订单。每一本图书都从属一种类型。一个用户可以购买多本图
28、书。一个用户对应一X定单列表。根据上面的设计规划出的实体有:管理员信息实体、用户信息实体、图书实体、图书分类实体、订单实体、订单列表实体。5.1.1 E-R图书购员理管户用表列单订单订书图类分书图什么是ER图?图2-1 实体之间关系E-R图员理管名户用码 密这叫实体属性图图2-2 管理员信息E-R图书类图分称名类分号编类分图2-3订单列表E-R图书图绍介容内号书价书量数总者作社版出 量数剩名书别类图2-4 图书E-R图单表订列量数货订号书图号单订图2-5 订单列表E-R图户用间时册注件邮编邮话电名姓真别性 址地名户用码 密图2-6 用户信息E-R图图2-7 订单E-R图类分书图称名类分号编类分
29、书图绍介容内号书价书别类者作社版出 量数总名书量数剩表列单订号书图号单订量数货订车物购款汇否是户用间时货交额金总号户用号编单订书购能否把以2.1-2.6合为一X实质性的E-R图图2-8 综合E-R图5.1.2所用表 (以下放入2.6中,数据库的设计,三线表)下面是设计中要使用的所有表:(1)表名:userinfo用于存储用户详细信息信息表5-1userinfo用户信息列表FieldTypeNullKeyDefaultExtramentuserIdInt(14)-PRINullAuto_increment主键,增usernamevarchar(150)-0-用户名passwdvarchar(15
30、0)-0-密码truenamevarchar(150)-0Null-真实某addressvarchar(150)Yes0Null-地址 phonevarchar(150)Yes0Null-postcodevarchar(150)Yes0Null-邮编emailvarchar(150)Yes0Null-gradeint(14)Yes0Null-级别(2)表名:goods用于存储图书信息表5-2 goods图书信息(图书号就是最好的主键)FieldTypeNullKeyDefaultExtramentgoodsIdint(14)-Auto_increment主键 goodsNamevarchar(
31、150)-书籍名goodsIntrovarchar(250)-书籍介绍Goodspricefloat(14,0)-0Null-书籍价格goodsNumint(14)Yes0Null-书籍号 publishervarchar(150)Yes0Null-出版者photovarchar(150)Yes0Null-图片typevarchar(150)Yes0Null-类型clickNumint(14)Yes0Null-点击数(3)表名:orders 用于存储用户订单信息(以下两表有问题,难道一X订单只卖一种书吗?我买几本不同的书,哪得开N个订单吗?)表3-1 orders订单信息表FieldTypeN
32、ullKeyDefaultExtrament ordersIdint(14)-PRINullAuto_increment主键,增userIdint(14)-0-用户IDorderDatedate-0-订单时间payModevarchar(150)-0Null-支付方式isPayedvarchar(150)Yes0Null-支付TotalPricefloat(14,0)Yes0Null-总价(5)表名:orderdetail用于存储用户购物车订单信息表3-4 orderdetail购物车订单列表FieldTypeNullKeyDefaultExtramentordersIdint(14)YesP
33、RINullAuto_increment主键,增goodsIdint(14)-书号nums int(14)-0-订书数5.2 功能总体说明5.2.1功能页面结构(1)前台功能页面主页面框架: Index.jsp ,head.jsp,left.jsp,tail.jsp,right.jsp商品展示:Right.jsp,showDetail.jsp购物车:showMyCar.jsp登录注册:Shopping.jsp,reg.jsp确认信息:Shopping1.jsp生成订单:Shopping2.jsp(2) 后台功能页面主页面框架:Main.jsp,lefts.jsp,center.jsp,down
34、.jsp,top.jsp,middel.jsp商品管理:tab/goods.jsp,editoradd.jsp订单管理:tab/order.jsp登录: login.jsp5.2.2主要功能流程图:(以管理员和顾客等不同用户分开写一个注册和一个登录,下图可以不要了,或画一流程图解释代码,注册和登录成功后,各干什么,为什么两个都是shopping.jsp)开 始用户登陆管理员登 陆登陆失败重新登陆退 出登陆失败现有图书管理添加新图书添加图书分类用户管理订单管理在线购书查看购物车图书查询查看订单信息用户注册登陆查看图书购书重新登陆退 出5.3各功能模块的实现5.3.1登录和注册功能模块当用户想购买
35、自己想要的商品就必须要登录才能完成整个购买的过程,当用户没有账号和密码时就可以点击用户注册按钮进行注册,登录的页面如下:实现整个登录过程的代码块如下:当你注册成功时,根据用户名和密码进行登录,必须是正确的用户名和密码,否则登录不成功,当你输入用户名和密码,会通过把username,password,operSign提交到后台的LoginCl类中进行验证,如果用户名和密码正确就可以跳转到主页面,实现登录功能的代码如下:String operSign=ParamUtil.getString(request, operSign);String username=ParamUtil.getString
36、(request, username);String passwd=ParamUtil.getString(request, password);if(operSign.equalsIgnoreCase(prosceniumlogin)if(ubb.checkUser(passwd, username)if(ub.getGrade()=1)request.getSession().setAttribute(userinfo, ub);MyCarBO mcb=(MyCarBO)request.getSession().getAttribute(mycar);ArrayList al=mcb.sh
37、owMyCar();request.setAttribute(mycarinfo, al);if(al!=null)request.getRequestDispatcher(shopping1.jsp).forward(request, response);elserequest.getRequestDispatcher(shopping.jsp).forward(request, response);elserequest.getRequestDispatcher(shopping.jsp).forward(request, response);注册页面如下:当用户没有用户名和密码时,需要在
38、登录页面点击用户注册按钮跳转到注册页面进行注册,注册的实现代码如下:当用户单击注册按钮时,会同表单把所有信息都提交到后台loginCl类中进行插入用户信息表中,实现代码如下:String operSign=ParamUtil.getString(request, operSign);String username=ParamUtil.getString(request, username);String passwd=ParamUtil.getString(request, password);String truename=ParamUtil.getString(request, truen
39、ame);String email=ParamUtil.getString(request, email);String phone=ParamUtil.getString(request, phone);String address=ParamUtil.getString(request, address);String postcode=ParamUtil.getString(request, postcode);String grade=ParamUtil.getString(request, grade);UserBean userBean=new UserBean();UserBea
40、nBO ubb=new UserBeanBO();if(operSign.equalsIgnoreCase(reg)userBean.setUsername(username);userBean.setPasswd(passwd);userBean.setTruename(truename);userBean.setEmail(email);userBean.setPhone(phone);userBean.setAddress(address);userBean.setPostcode(postcode);userBean.setGrade(Integer.parseInt(grade);b
41、oolean b=ubb.insertUserInfo(userBean);if(b)request.getRequestDispatcher(shopping.jsp).forward(request, response);5.3.2查看书籍模块书籍主要分为几小类,如哲学,管理学,计算机。当你想查看哲学类图书时,只要点击“哲学”超(“管理学”,“计算机”超同样)就会出现如图所示:当你想实现查看哲学,管理学,计算机等功能时,你只需要通过超把书籍类型的值传递(type)传到right.jsp中,并把其作为参数,然后调用GoodsBeanBO类中的方法,getGoodsByPage这个方法就能得到
42、不同类型的图书,实现代码如下:GoodsBeanBO gbb=new GoodsBeanBO();Hashtable typeParam=new Hashtable();String s_pageNow=ParamUtil.handleSpaceAndNull(String)request.getAttribute(pageNow);String type=ParamUtil.getString(request,type);/图书类型if(type.equalsIgnoreCase() type=ParamUtil.handleSpaceAndNull(String)request.getAt
43、tribute(type);int pageNow=1;if(!s_pageNow.equalsIgnoreCase() pageNow=Integer.parseInt(s_pageNow);ArrayList al=gbb.getGoodsByPage(pageNow,type);int pageCount=gbb.getPageCount(type);这就是在right.jsp中的代码。5.3.3查看书籍详情信息模块当你点击书籍名称超时,就是进入书籍详细信息模块,也就是说你可以看到该书籍的整个信息包括作者,价格等。书籍详细信息模块如图所示。在该页面中你可以查看自己该书籍的信息并进行购买。
44、还可以返回购物大厅。以上功能的代码实现:当你点击书籍列表中的书籍名称的超时,会执行ShowGoodsClServlet并传flag和该商品的goodsId两个参数到showGoodsClServlet中并通过String flag=ParamUtil.getString(request,”flag”);String goodsId=ParamUtil.getString(request,”goodsId”);进行获取。实现代码如下:if(flag.equals(showDetail) goodsId=request.getParameter(id);GoodsBean gb=goodsBean
45、BO.getgoodsBeanById(goodsId);int clickNum=gb.getClickNum();goodsBean.setClickNum(clickNum+1);goodsBean.setGoodsId(Integer.parseInt(goodsId);goodsBeanBO.updateGoodsById(goodsBean);request.setAttribute(goodsInfo, gb);request.getRequestDispatcher(showDetail.jsp).forward(request, response); 5.3.4购物车功能模块
46、自己想要购买的书籍添加到购物车里面,当你点击查看书籍详情列表中的按钮时就会把要购买的书籍添加到购物车中,在购物车中可以实现删除,修改数量,全部删除,查看书籍详细等操作。购物车如图所示:实现删除,删除全部商品,修改数量,查看等代码如下:删除的实现代码。当你点击删除超 a href=ShoppingClServlet?flag=delGoods&goodsId=删除时就会执行ShoppingClServlet并把该商品goodsId和flag标记传到ShoppingClServlet中并通过String flag=ParamUtil.getString(request,”flag”);String
47、 goodsId=ParamUtil.getString(request,”goodsId”);进行获取。删除操作的代码块如下:MyCarBO mcb=(MyCarBO)request.getSession().getAttribute(mycar);publicvoid delGoods(String goodsId)hm.remove(goodsId);以下在ShoppingClServlet这段代码是调用了MyCarBo中的delGoods方法删除hasbMap集合类所存在数据if(flag.equals(delGoods)mcb.delGoods(goodsId);查看操作实现代码如下
48、:当你点击查看超a href=ShowGoodsClServlet?flag=showDetail&id=查看时,就会把flag和goodsId传到ShowGoodsClServlet中,执行相应的代码块,实现的代码块如下:String flag=ParamUtil.getString(request, flag);/if(flag.equals(showDetail) goodsId=request.getParameter(id);GoodsBean gb=goodsBeanBO.getgoodsBeanById(goodsId);int clickNum=gb.getClickNum()
49、;goodsBean.setClickNum(clickNum+1);goodsBean.setGoodsId(Integer.parseInt(goodsId);goodsBeanBO.updateGoodsById(goodsBean);request.setAttribute(goodsInfo, gb);request.getRequestDispatcher(showDetail.jsp).forward(request, response); 然后跳转到showDetail.jsp中修改数量实现代码如下:修改数量通过form表单进行提交,提交到ShoppingClServlet中,
50、并根据flag标记找到相应的代码块进行运行,代码块如下:String flag=request.getParameter(flag);String goodsId=request.getParameter(goodsId);if(flag.equals(updateGoodsNum)String goodsid=request.getParameterValues(goodsId);String newNum=request.getParameterValues(newNum);for(int i=0;igoodsid.length;i+) mcb.upGoods(goodsidi, newN
51、umi);该代码块中调用了MyCarBO类中的方法upGoods(goodsidi, newNumi)进行修改数量。删除全部实现代码如下:当点击删除全部的按钮时,会通过触发javascript方法执行ShopingClServlet中的删除购物车中的全部商品,实现代码块如下:elseif(flag.equals(delAll)mcb.clear();删除HashMap中的所有数据5.3.5确认信息模块如图所示:当你登录成功时,就会跳到确认信息页面,查看自己的信息是否要修改或者是否有错误。该页面主要要实现完成订单和修改个人信息,返回更改购物车等功能,实现完成订单的代码如下:该功能通过点击java
52、script方法function finishOrder() window.location.href=/OrderCl 来操作OrderCl中实现完成订单功能的后台代码块,后台代码块如下:在OrderClServlet类中MyCarBO mcb=(MyCarBO)request.getSession().getAttribute(mycar);long userId=(UserBean)request.getSession().getAttribute(userinfo).getUserId();OrderInfoBean oib=obb.addOrder(mcb, userId+);if(
53、oib!=null)request.setAttribute(detailBean, oib);request.getRequestDispatcher(shopping2.jsp).forward(request, response);elseArrayList al=mcb.showMyCar();request.setAttribute(mycarinfo, al);request.getRequestDispatcher(shopping1.jsp).forward(request, response);实现修改个人信息的代码如下:通过把修改的个人信息提交到UserClServlet进
54、行处理,实现的代码如下UserBean ub=new UserBean();UserBeanBO ubb=new UserBeanBO();String username=request.getParameter(username);String truename=request.getParameter(truename);String address=request.getParameter(address);String phone=request.getParameter(phone);String email=request.getParameter(email);String po
55、stcode=request.getParameter(postcode);String userId=request.getParameter(userId);int userIds=Integer.parseInt(userId);if(username!=null&!username.equals()ub.setUsername(username);if(truename!=null&!truename.equals()ub.setTruename(truename);if(address!=null&!address.equals()ub.setAddress(address);if(
56、phone!=null&!phone.equals()ub.setPhone(phone);if(email!=null&!email.equals()ub.setEmail(email);if(postcode!=null&!postcode.equals()ub.setPostcode(postcode);if(userId!=null&!userId.equals()ub.setUserId(userIds);if(ubb.Update(ub)request.getRequestDispatcher(success.jsp).forward(request, response);else
57、MyCarBO mcb=(MyCarBO)request.getSession().getAttribute(mycar);ArrayList al=mcb.showMyCar();request.setAttribute(mycarinfo, al);request.getRequestDispatcher(shopping1.jsp).forward(request, response);实现返回更改购物车的实现代码如下:该功能通过触发javascript的方法function showMyCar(goodsId) window.open(ShoppingClServlet?flag=ad
58、dGoods&goodsId=+goodsId,_self);进行执行ShoppingClServlet类中的代码块,实现代码块如下所示:String goodsId=request.getParameter(goodsId);String flag=request.getParameter(flag);if(flag.equals(addGoods)GoodsBean gb=goodsBeanBO.getgoodsBeanById(goodsId);int clickNum=gb.getClickNum();goodsBean.setClickNum(clickNum+1);goodsBea
59、n.setGoodsId(Integer.parseInt(goodsId);goodsBeanBO.updateGoodsById(goodsBean);mcb.addGoods(goodsId, 1);5.3.6生成订单模块该模块只提供查看订单,没有其他操作,图片如下:5.3.7 后台管理模块的实现,如图所示这个过程中,点击登录后,将用户名和密码框中的值传递到LoginCl中进行验证,如果用户名和密码同数据库中一致,那么登录成功,转到main.jsp中,具体实现关键代码如下:public boolean checkUser(String pass,String user)boolean b
60、=false;tryconn=new ConnDB().getConn();String sql=select passwd from userinfo where username=+user+;System.out.println(SQL=+sql);ps=conn.prepareStatement(sql);rs=ps.executeQuery();if(rs.next()什么意思?所有代码改用于5号,单倍行距String s_pass=rs.getString(1);if(s_pass.equals(pass)return b=true;catch(Exception e)e.prin
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 国药葛洲坝中心医院(三峡大学第三临床医院)2026年招聘备考题库(补招)备考题库完整参考答案详解
- 中国热带农业科学院热带作物品种资源研究所2026年第一批公开招聘工作人员备考题库及一套完整答案详解
- 2026年漯河医学高等专科学校第一附属医院(漯河市中心医院)人才引进备考题库及答案详解(新)
- 2026年大连理工大学附属幼儿园招聘备考题库及答案详解(易错题)
- 2026年北滘镇碧江中学招聘临聘教师备考题库及参考答案详解
- 2026年上海对外经贸大学实验中心备考题库管理人员招聘备考题库及参考答案详解
- 2026年永州市宁远县人民医院公开招聘急需紧缺医师34人备考题库及1套完整答案详解
- 2026年南京市溧水区教育局所属高中公开招聘教师备考题库及1套完整答案详解
- 2026年哈尔滨启航劳务派遣有限公司派遣到哈尔滨工业大学国内合作处技术转移中心招聘备考题库及一套完整答案详解
- 陆良县消防救援局专职消防员招聘20人备考题库及答案详解(夺冠系列)
- 混凝土构件的配筋计算
- 医疗器械临床评价报告模板
- 污染场地调查评价与修复
- 生物计算机课件
- 中医治疗“膏淋”医案67例
- 骶神经调节治疗盆底功能障碍性疾病课件
- 统编版高中语文选择性必修上册 在民族复兴的历史丰碑上-2020中国抗疫记 教学课件
- 华侨大学本专科学生学生手册
- 四川绵阳2020年中考语文试题
- 钢结构课程设计任务书12土木
- 施工进度计划编制依据及原则
评论
0/150
提交评论