还剩44页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
单位代码10006学号12334203547分类号密级毕业设计论文网上购物系统的设计与实现学习中心名称北航校本部学习中心专业名称计算机科学与技术学生姓名张勇指导教师陈辉二零一四年四月二十日北京航空航天大学本科毕业设计(论文)任务书Ⅰ、毕业设计(论文)题目网上购物系统的设计与实现Ⅱ、毕业设计(论文)使用的原始资料(数据)及设计技术要求此次的毕业设计题目——网上购物系统的设计与实现主要是以B/S模式为基础,通过本次的设计可以熟练掌握Java开发软件和MySQL数据库软件的使用以及JSP动态网站开发技术,并使用这些软件熟练制作在以后的实践制作中不断提高自身的实际水平Ⅲ、毕业设计(论文)工作内容本论文主要是讲述如何对网上购物系统进行设计与开发,包括以下内容
1.绪论,讲述系统设计的目标及功能与可行性分析
2.需求分析介绍及开发环境和开发技术介绍
3.系统概要设计
4.系统详细设计讲述后台数据库设计和处理流程设计
5.系统实现系统实现主要功能模块包括注册会员、商品查看、商品购买、后台用户管理、商品类别管理、商品管理、订单管理
6.系统测试Ⅳ、主要参考资料耿祥义张跃平.JAVA2使用教程,北京清华大学出版社王珊萨师煊.数据库系统概论(第四版),高等教育出版社方美琪刘鲁川.电子商务设计师教程北京清华大学出版社张银鹤唐有明王俊伟.JSP+Ajax网站开发典型实例.北京电子工业出版社孙一林彭波.《JSP数据库编程实例》.清华大学出版社耿祥义张跃平.《JSP实用教程》.清华大学出版社Brown等.《JSP编程指南(第二版)》.电子工业出版社清宏计算机工作室.《JSP编程技巧》.机械工业出版社北航校本部校外学习中心计算机科学与技术(专升本)专业类学生(学号)12334203547毕业设计(论文)时间自2014年2月1日至2014年4月20日指导教师陈辉兼职教师(并指出所负责部分)校外毕设组织协调小组(签字)注任务书应该附在已完成的毕业设计(论文)的首页本人声明我声明,本论文及其研究工作是由本人在导师指导下独立完成的,在完成论文时所利用的一切资料均已在参考文献中列出作者张勇签字时间2014年4月网上购物系统的设计与实现摘要网上购物系统的设计与实现是一个B/S结构的信息管理系统开发主要包括前台页面显示层,后台数据库持久层,和基于JavaBean封装的业务逻辑层对于前台页面,要求界面友好,简单实用对于持久层,要求存储数据效率高,安全性高对于封装的业务逻辑,要求重用性高,代码效率高网上购物系统的设计与实现共分两个部分:前台用户部分和后台管理部份在前台用户部分中包括用户在线注册、定购商品、浏览商品、查询商品信息等操作;后台管理部分包括:商品信息的管理、用户订单的管理、普通管理员的管理、客户的管理各种即时信息的发布管理作为一个购物系统系统的安全性和实现购物的方便性是很重要的在安全性方面系统主要考虑了数据存储的安全性以及用了用户注册和密码等措施没有使用到数字签名用到的主要技术有JSPAJAX和JavaBean系统采用MySQL来设计数据库,使用MyEclipse开发平台本文主要介绍了个性化页面的背景及JavaBean+JSP系统的一般原理;阐述了整个个性化页面生成系统的系统结构及工作原理;分析了系统实现中的特殊性、难点和重点;设计实现了用户注册/登录、查询、购买;实现了管理员对网站的系统管理;个性化页面动态生成--回显等程序模块;实现了JSP和HTML页面;分析并解决了实现中的若干技术问题;建立了完整的实验网站,进行测试并分析结果关键词网上购物,J2EE,JSP,MySql,Web应用OnlineshoppingmallsystemAuthorZhangyongTutorChenhuiAbstractOnlineshoppingmallsystemisainformationmanagementsystembasedontheB/Sstructureincludingfrontpagepersistencelayerback-enddatabaseandthebusinesslogiclayerbasedonJavaBeanpackage.Thefrontpagerequiresuser-friendlysimpleandpractical.Forthepersistencelayerdatastoragerequirehighefficiencyhighsafety.Theencapsulatedbusinesslogicrequirementsreusehighcodeefficiency.OnlineShoppingMallisdividedintotwoparts:thefrontpartoftheusermanagementsectionandthebackground.Inthefrontpartoftheuserincludingon-lineregistrationordergoodsbrowseproductscheckproductinformationandotheroperations;Managementcomponentsinclude:productinformationmanagementcustomerordermanagementgeneralmanagerofmanagementcustomermanagementofavarietyofreal-timereleaseofinformationmanagement.Asashoppingsystemsystemsecurityandtoachievetheconvenienceofshoppingisveryimportantintermsofsecuritythemainconsiderationofthedatastoragesystemsecurityandusedmeasuressuchasuserregistrationandpassworddonotusethedigitalsignature.ThemaintechnologyusedinJSPAJAXandJavaBeantodesignthesystemusingMySQLdatabaseusingMyEclipsedevelopmentplatform.TheonlinemallintroducedthebackgroundofthecharacteristicpageandthegeneraltheoryofJavaBeanandthesystemofJSP;Elaboratethewholesystemstructureandtheworkprincipleofthewholecharacteristicpagesboringsystem;Analyzingthespecial、difficulty、andthekeypointintherealizationofthesystem;Designtocarryoutthecustomerregistration/registerringsearchingshopping;Thesystemmanagementtothewebsitebyadministrator;Thecharacteristicpagedynamicstateisborn-returntoshowtotheproceduremoldpiece;CarryoutthepageofJSPandHTML;Analyzeandresolvesometechniqueproblemintheimplementation;Establishthewholeexperimentwebsite;carryonthetestandtoanalysistheresult.Keywords:Onlineshoppingmall,J2EE,JSP,MySQL,Webapplications目录TOC\o1-3\h\z\u1绪论
11.1研究背景
11.2目前网上购物在国内外发展现状
11.3本文主要研究内容
21.4JSP及相关技术简介
31.
4.1JSP技术
31.
4.2Java术语
31.5MySql数据库介绍42需求分析
62.1可行性研究
62.2系统需求分析
62.
2.1基本功能需求
72.
2.2开发环境83系统概要设计
93.1总体功能
93.2后台管理系统E-R图104系统详细设计
114.1后台数据库设计
114.2处理流程设计
134.
2.1处理流程和数据流程
134.
2.2系统操作流程图
154.
2.3数据增加流程
164.
2.4数据修改流程
164.
2.5数据删除流程175系统实现
195.1数据库的链接使用J2EE的数据库访问
195.2系统前台模块
205.
2.1网站首页的实现
205.
2.2注册会员的实现
215.
2.3商品查看的实现
225.
2.4商品购买的实现
235.3系统后台管理模块
235.
3.1后台管理员登陆
235.
3.2后台用户管理
245.
3.3后台菜单隐藏
245.
3.4后台类别管理
255.
3.5后台产品管理
265.
3.6后台订单管理276系统测试
286.1系统的测试
286.
1.1系统测试的环境
286.
1.2测试阶段
286.2系统部分模块测试
316.
2.1管理员登录测试
316.
2.2后台管理测试317结论
337.1系统评价
337.2安全性问题33致谢34参考文献351绪论
1.1研究背景电子商务,就是在网上开展商务活动它是以电子交易为手段,完成金融、物品、服务、信息等价值的交换,是快速而有效地进行各种商务活动的最新方法电子商务的出现,改变了传统的一手交钱一手交货的模式,使得商业模式发生了很大的变化随着信息技术的不断发展和Internet互联网技术的日益普及人们越来越意识到电子商务对国家经济、企业管理和个人生活所带来的巨大影响它满足企业、商人和消费者对提高产品和服务的质量、加快服务速度、降低费用等方面的需求,也帮助企业和个人通过网络查询和信息检索为企业下一步的发展方向提供支持借助电子商务,企业和个人,企业和企业可以通过网络进行交易和全过程的服务电子商务代表着未来贸易方式的发展方向,其应用和推广将给社会和经济带来极大的效益具有强大生命力的现代电子交易手段己越来越被人们所认识,发达国家在这方面有很多年的发展历史,发展中国家也正在加紧制定总体发展战略,大力促进电子商务在国民经济各个领域的应用,力争在越来越激烈的国际竞争中占据有利的地位因此,对于网上购物技术的研究和实现,以及搭建一个实用的网上商店是很重要的
1.2目前网上购物在国内外发展现状无论在国内还是在国外,电子商务都还处于起步阶段最近几年电子商务得到了迅速的发展尽管各个国家具体情况不同,但是基于对国家经济发展的预测,各国政府都很重视电子商务,并且积极地发展电子商务在发达国家,电子商务的发展非常迅速,通过Internet进行交易己成为一种潮流基于电子商务所连带出的商品交易方案、电子结账方案和信息安全方案等,已逐步成为国际信息技术市场竞争的焦点随着电子商务的日益发展,产生了虚拟银行、网络营销、网上购物、网络广告等新兴信息产业,从侧面反应了电子商务正在对社会和经济产生着深刻的影响在电子商务过程中,通过人与电子通讯方式的结合,极大地提高了商务活动的效率,减少了不必要的中间环节同时,电子商务的发展也将转变政府的行为在电子商务逐渐变的流行的时代里,当企业应用电子商务进行经营,银行实现金融电子化,以及消费者实现网上消费的同时,也将对政府管理行为提出新的要求,国外在这方面有很好的法律法规加以约束,防止商业欺诈行为国内在这方面做的就没有国外的好,没有一定的规范加以约束,我们经常可以看到一些消费者在网上购买的东西和实际不一样,发现上当后我们也无能为力在国外,XML技术已经在电子商务领域里得到广泛应用由于它具有自描述性、内容与显示相分离、独立于平台等特点,并且提供了一套跨平台、跨网络、跨程序语言的数据描述方式,已逐渐成为科学与业务应用中数据表示及Web应用中数据交换的标准格式同时,国内外对Java技术的研究已经形成了热潮,纷纷研究如何利用JavaBean+JSPJavaServerPages架构及其相关工具来开发功能强大的新型应用程序相对而言,国内的研究工作要滞后一些主要表现在国内大部分的研究仍停留在较单一的层面上,单纯研究如何以JSP生成动态网页,对于如何将其与数据库技术及XML技术结合,生成真正的电子商务方案的研究却比较少,而很多国外的资料中已经在研究如何利用.NET技术生成真正的电子商务方案为此,用JSP技术来实现一个网上购物系统是很有必要的
1.3本文主要研究内容基于Java的网上购物系统是一套基于数据库的商品产品发布管理系统,是用Myeclipse
8.0做开发平台开发,MySQL
5.0做后台数据库,MyeclipseTomcat
6.0做服务器,使用JSP页面做前台显示,使用JavaBean封装后台业务逻辑,可用于商品产品的实时发布以及企业产品数据管理的一个管理系统前台用户可通过页面浏览,查询和订购产品,后台管理员可以管理产品价格,简介,图片等多类信息网上购物系统的设计与实现在功能上基本实现了一个网上购物的应用网上购物系统,主要为方便管理员进行购物商品,订单,用户的管理所以,本系统的重点在后台的各个管理模块,前台主要实现了基本的电子商务功能
1.4JSP及相关技术简介由于本系统所介绍的开发平台是在MyEclipse框架下开发的,因此下面主要介绍一下JSP技术
1.
4.1JSP技术JSP首先是转译时期,然后进入请求时期JSP页面的运行需要有能力支持Java平台Servlet规范的Java虚拟机JSP的执行过程如图
1.1所示图
1.1JSP执行过程图
1.
4.2Java术语1.组件、容器、连接程序a.组件组件是Java应用程序的主体构件b.容器容器是那些执行组件的应用程序c.连接程序一般说来,连接程序就是驱动程序——是能够让Java应用程序直接与其他软件进行通信的软件,它与公共协议(如HTTP)不同2.Java文件、Class文件与字节码、JAR文件a.Java文件是指以.Java为后缀的Java源代码b.Class文件、字节码这两个术语是相关的c.JAR文件JAR文件就是Java存档文件3.J2SE、J2EE、J2ME、J2SDK与JDK、JRE、JVMa.J2SE Java2StandardEdition(Java2标准版),适用于桌面系统的Java2平台标准版;b.J2EE Java2EnterpriseEdition(Java2企业版),是一种利用Java2平台来简化企业解决方案的开发、部署和管理相关复杂问题的体系结构;c.J2ME Java2MicroEdition(Java2精简版,也称为袖珍版),Java2平台中适用于小型设备和智能卡的版本;d.JSDK JavaSoftwareDevelopmentKit,和JDK以及J2SE等同;e.J2SDK Java2SDK,即Java2软件开发工具包,包括运行环境、编译工具及其他工具、源代码等,基本上与J2SE等同;f.JDK JDK现在是指J2SDK(J2SEDevelopmentKit),同时,J2RE也改称为JRE;g.JRE JavaRuntimeEnvironment(Java运行环境),运行Java程序所必须的环境的集合,包含JVM标准实现及Java核心类库;h.JVM Java虚拟机(JavaVirtualMachine,JVM)是Java可移植性的关键
1.5MySql数据库介绍MySQL名字的来历MySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQLAB公司,在2008年1月16号被Sun公司收购MySQL被广泛地应用在Internet上的中小型网站中由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库MySQL的特性
1.使用C和C++编写,并使用了多种编译器进行测试,保证源代码的可移植性;
2.支持AIX、FreeBSD、HP-UX、Linux、MacOS、Novell Netware、OpenBSD、OS/2Wrap、Solaris、Windows等多种操作系统;
3.为多种编程语言提供了API这些编程语言包括C、C++、Python、Java、Perl、PHP、Eiffel、Ruby和Tcl等;
4.支持多线程,充分利用CPU资源;
5.优化的SQL查询算法,有效地提高查询速度;
6.既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入到其他的软件中提供多语言支持,常见的编码如中文的GB
2312、BIG5,日文的Shift_JIS等都可以用作数据表名和数据列名;
7.提供TCP/IP、ODBC和JDBC等多种数据库连接途径;
8.提供用于管理、检查、优化数据库操作的管理工具;
9.可以处理拥有上千万条记录的大型数据库2需求分析
2.1可行性研究从技术可行性、经济可行性、法律可行性以及使用可行性等方面分析,基于Java的网上购物系统都是可行的
1、技术可行性从项目的实施技术角度,设计方案来看,都是合理的在给定的时间内可以实现需求说明中的功能,软件质量能得到保障,有较高的使用价值,软件生产率高,使企业具备竞争力网上购物系统,是用目前比较成熟的JSP+JavaBean技术,配合以MyeclipseTomcat为服务器,MySQL为后台数据库具备完成购物系统的能力
2、经济可行性虽然系统开发初期投资较大,但是,若开发成功本系统,将有助于公司更好地预测市场,在激烈的市场竞争中把握主动因此,从长远利益考虑,本项目若能开发成功,它所带来的效益将远高于系统投入网上购物系统的主要投资在网站服务器方面,如果可以正常运营,回报远大于投资,所以具备经济可行性
3、法律可行性网上购物系统是完全自主开发设计,因此不会构成侵权,在法律上是可行的
4、使用可行性在电子商务方面,由于日常信息处理量大,耗费时间长,出错效率高,在网上购物系统投入运行后,可以实现业务中的信息集中处理、信息的交流、业务监管和重大决定并且可以实现公司进一步向网络服务发展,为信息工作打下良好的基础通过以上的研究和分析,认为网上购物系统开发所产生的效益将大于投入,所以开发本项目是可行的、必要的
2.2系统需求分析从功能上讲基于Java的网上购物系统分为前台管理和后台管理前台管理是友好的操作界面,供用户浏览、查询使用包括浏览商品、查询商品、订购商品等功能;后台管理是提供给管理员的,其中包括商品管理、订单管理等从性能上来说,网上购物系统的效率高,速度快,算法规范,可以使管理员从繁琐的手工操作中解脱出来,提高办公效率因此,本文根据实际情况,首先把商品分类,提供商品查找,订单查询,商品管理,订单管理,系统管理等小模块,然后合并成一个可执行的软件系统模型使用户快速地搜索和查找到所需要要产品和开发人员可以较快地确定需求,采用循环进化的开发方式,对系统模型作连续的精化,将系统需具备的性质逐渐增加上去,直到所有的性质全部满足,此时模块也发展成为最终产品了从安全性上来看,购物前台页面主要是通过用户注册功能来实现,非注册用户只可以浏览购物内的商品,但是不可以下订单购买,大大加强了商品购买的安全性;而购物的后台管理页面主要通过管理员账号和密码登陆来确保信息安全
2.
2.1基本功能需求基于Java的网上购物系统在实现上应该具有如下功能
1.普通用户可以通过系统浏览商品(按类别);
2.普通用户可以通过系统搜索商品(按类别、价位、日期等);
3.普通用户可以通过系统下订单(享受市场价);
4.普通用户可以注册成为系统会员(免费注册);
5.会员可以浏览和检索商品;
6.会员可以下订单(享受会员价);
7.会员可以浏览自己下过的订单;
8.会员可以管理自己的信息(自服务系统)a.修改密码b.修改送货地址c.修改联系方式根据以上分析,基于Java的网上购物系统的基本的数据流程和处理流程图如图
2.1所示图
2.1订单审核顶层数据流程图
2.
2.2开发环境本系统是以Windows系统为操作平台,用JavaBean+JSP编程语言和MySQL数据库来实现本系统所需功能的服务起端的最低配置是由建立站点所需要的软件来决定的,在最底配置的情况下,服务器的性能往往不进人意,现在硬件性能已经相当出色,而且价格也很便宜,因此通常应给服务器端配置高性能硬件本机器的配置如下处理器InterCorei5-3210主频
2.5Hz或更高;内存4GB;硬件空间500GB;题目主要采用的技术;数据库MySQL;编程语言JSP+JavaBean;服务器MyEclipseTomcat
6.0;开发环境WindowsXP3系统概要设计
3.1总体功能网上购物时,顾客会首先打开网站的首页,可以进行注册成为购物的会员,也可以不注册,但不注册将只能拥有浏览功能,没有下订单和购买的权利顾客注册成功后,就可以开始浏览购物中的商品,当顾客找到想要购买的商品后,可以点击商品右侧的“我要购买”按钮来下订单下过订单之后,订单信息就会存储到数据库表中然后当管理员用管理账号登陆到后台管理页面之后就可以在订单管理中看到顾客已经下的订单的详细信息然后由管理员负责发货给顾客,顾客通过货到付款的支付方式支付至此,一次交易过程结束通过以上分析,网上购物系统将用户分为两类用户和管理员,在整个系统中他们具有不同的功能和权限根据第二章需求分析得到系统功能模块如图
3.1所示图
3.1系统总体功能图系统采用了敏捷开发的思想,对整个系统分成了3个大模块前台交易模块、数据库及持久层的设计、后台管理模块各个模块又进行了一步的细分,如前台交易模块又分为查询、购买等;使得系统具有易用性、个性化、跨平台等特点;同时又保证交易数据的安全、稳定、快速和完整;使其运行得高速、安全、稳定
3.2后台管理系统E-R图管理员可以用管理员账号和密码登陆管理界面,在管理界面中管理员可以管理用户,类别,产品以及订单等,后台管理系统E-R图如图
3.2所示#0;#0;#0;管理员管理信息类别管理产品管理订单管理用户管理密码用户名1N图
3.2后台管理系统E-R图4系统详细设计
4.1后台数据库设计本系统使用MySQL数据库作为后台数据库,根据需求分析中提到的各种功能,首先应该有用来存储购物注册用户信息的用户表,然后应该有存储商品分类信息的类别表,还应该有存储购物中每件商品信息的产品表,顾客下订单以后,应该用订单表和售出货物信息表来存储订单信息和订单里货物的信息,所以我为数据库建立以下这些表,如下表
4.1表
4.1总体表设计表名usercategoryproductsalesorderSalsesitem字段数66755概要功能用户信息分类信息产品信息订单信息售出货物信息
1.设计表user用户表user表主要用来保存用户的注册信息,分别用不同字段表示用户的各种信息,包括用户的ID,用户名,密码,电话号码,送货地址,注册时间等具体内容见下表
4.2表
4.2user表列名数据类型长度允许空idint自增主键未定否usernamevarchar40是passwordvarchar16是phonevarchar40是addrvarchar255是rdatedatetime默认默认
2.设计表category类别表该表主要用来保存购物的商品分类信息,分别用不同字段表示商品分类的ID,父类别ID,类别名,类别描述,类别号,类别级别其中,父类别ID的值取自类别的父类别的IDcno的值为******格式,用来表示该类别在类别中的具体位置,因为我规定了类别最多为三级所以cno的值为六位,没两位表示一个类别,比如,第一个类别中的第三个类别,其cno为010300;第二个类别中的第一个类别中的第三个类别,其cno为020103具体内容见下表
4.3表
4.3category表列名数据类型长度允许空idint自增主键未定否pidint50否namevarchar255否descrvarchar255否cnoint3否gradeint3否
3.设计表product(产品)该表主要用来保存商品的各种信息,各个字段分别用来表示商品的ID,名称,描述,价格,会员价格,添加时间以及商品属于哪个类别其中,商品的类别ID是引用category表的ID具体内容见下表
4.4表
4.4product表列名数据类型长度允许空idint自增主键未定否namevarchar255否descrvarchar255否normalpricedouble默认否memberpricedouble默认否pdatedatetime默认否categoryidint引用category的id否
4.设计表salesorder售出订单该表用来保存已下订单的各种信息,各个字段分别用来表示订单的ID,下单人ID,送货地址,下单日期以及订单目前的状态其中status包括三种状态,未处理,已处理,废单,方便管理员管理订单具体内容见下表
4.5表
4.5salesorder表列名数据类型长度允许空idint自增主键未定否Useridint默认否Addrvarchar255否Odatedatetime默认否Statusint默认否
5.设计表salesitem已售出货物项目该表主要用来保存已经卖出的商品的信息,和salesorder表的区别就在于,这个表面向的是订单中的某一个产品,而salesorder面向的是一整个订单各个字段分别用来表示卖出商品的ID,产品号,单价,购买数量,订单号具体内容见下表
4.6表
4.6salesitem表列名数据类型长度允许空Idint自增主键未定否Productidint默认否Unitpricedouble默认否pcountint默认否orderidint默认否
4.2处理流程设计
4.
2.1处理流程和数据流程首先,顾客打开网站的首页,可以进行注册成为购物的会员,也可以不注册,但不注册将只能拥有浏览功能,没有下订单和购买的权利注册后的用户信息将被保存在数据库的user表中,顾客注册成功后,即可以开始浏览购物中的商品,当顾客找到想要购买的商品后,可以点击商品右侧的我要购买按钮来下订单下过订单之后,订单信息就会存储到数据库的salesorder表中然后当管理员用管理账号登陆到后台管理页面之后就可以在订单管理中看到顾客已经下的订单的详细信息然后由管理员负责发货给顾客,顾客通过货到付款的支付方式支付至此,一次交易过程结束网上购物总体处理流程如图
4.1图
4.1系统总流程图商品管理主要包括添加商品和查询商品两部分查询商品又包括修改商品信息和删除商品两种功能修改产品信息后,如果不点提交按钮,则数据库中的商品信息不会被修改添加商品功能是添加数据到数据库中的product表中点击商品管理连接,系统罗列出所有的商品,每个商品信息后面都会有编辑和删除此商品的连接,点击编辑连接后,系统提交给product_modify.jsp页面,修改完后按修改确认后将再次把数据保存入数据库点击删除连接后,根据返回的数据删除商品管理流程如图
4.2图
4.2商品管理流程图
4.
2.2系统操作流程图后台系统管理的主要流程是,首先从购物首页进入到管理员登录界面,然后按照提示输入管理员的用户名和密码进行登录如果用户名或者密码错误,则弹出验证错误信息,如果用户名密码正确,则成功登录到后台管理界面然后可以进行后台各种功能的管理,功能见下图
4.3图
4.3系统操作流程图
4.
2.3数据增加流程添加信息时,编号字段由系统自动生成,且不能修改,其他信息由用户输入,之后对数据进行合法判断,合法则写入保存至数据库,不合法则重新输入数据数据增加流程如图
4.4所示图
4.4数据增加流程图
4.
2.4数据修改流程在修改信息时,先选中一条待修改的记录,然后直接输入数据,判断合法性,合法则保存至数据库,不合法重新输入数据修改流程图如图
4.5所示图
4.5系统修改流程图
4.
2.5数据删除流程当用户选定一条记录时,单击删除按钮,会提示用户是否确定删除,然后删除数据库相关内容数据删除流程图如图
4.6所示图
4.6数据删除流程图5系统实现
5.1数据库的链接使用J2EE的数据库访问数据库的选择目前,应用比较多的数据库有MSSQLServer
2000、MySQL、Oracle9i、DB
2、Sybase、Informix、MSAccess等本系统设计采用的是MySQL数据库并且用JDBC技术实现的数据库操作加载及注册JDBC驱动程序、JDBCURL定义驱动程序与数据源之间的连接、建立连接对象、执行SQL语句处理结果集ResultSet等操作如下代码publicclassDB{publicstaticConnectiongetConn{Connectionconn=null;try{Class.forNamecom.mysql.jdbc.Driver;conn=DriverManager.getConnectionjdbc:mysql://localhost/shoppinguser=rootpassword=a
3229737.;}catchClassNotFoundExceptione{e.printStackTrace;}catchSQLExceptione{e.printStackTrace;}returnconn;}//该方法用来建立数据库连接,其中使用的是java和数据库连接的驱动publicstaticPreparedStatementprepareConnectionconnStringsql{PreparedStatementpstmt=null;try{ifconn!=null{pstmt=conn.prepareStatementsql;}}catchSQLExceptione{e.printStackTrace;}returnpstmt;}//PreparedStatement接口继承于Statement接口,用来执行sql语句……
5.2系统前台模块
5.
2.1网站首页的实现当进入网站时,首先出现的是本网站的首页,首页包括本网站前台用户的所有功能菜单和用户登录框界面如图
5.
2.1所示,其中最左侧的区域为会员登陆区域,用户可以输入会员号和密码点击登录图标如果用户第一次登陆,可以点击新用户注册按钮注册会员,然后使用注册的会员登陆才可以购买商品非会员用户可以浏览商品,如果发现有自己感兴趣的商品需要购买时,可以进行注册成为会员后购买登陆区域右侧为两个类别(电子产品,非电子产品)图
5.
2.1系统首页其中左上角的两个类别(电子产品,非电子产品)是使用是几段jsp代码来实现鼠标滑过则会显示该类别的下属类别功能%forinti=0;itopCategories.size;i++{Categoryc=topCategories.geti;%%=c.getId%%=c.getName%%}%//用一个for方法找到所有类别并取得id和name%forinti=0;itopCategories.size;i++{Categoryparent=topCategories.geti;ListCategorychilds=getChildsparentcategories;%%=parent.getId%%=getChildsStrchilds%%}%//用for方法找到所有的主类,然后显示所有主类的子类信息
5.
2.2注册会员的实现输入用户的姓名,密码,电话及送货地址,然后点击提交按钮,将注册用户的信息存储到数据库中的user表中会员注册如图
5.
2.2所示图
5.
2.2会员注册页面其中,下面这段代码只是负责显示注册页面各个条目,方便用户填写内容formmethod=postname=registeraction=Register.jsponSubmit=this.regsubmit.disabled=true;inputtype=hiddenname=actionvalue=register/tdcolspan=2class=header注册-必填内容/td/trtrtdclass=altbg1width=21%用户名:/tdtdclass=altbg2inputid=useridname=usernamesize=25maxlength=25type=textonblur=validatespanid=usermsg/span/tr……/tbody/table//显示注册页面这个图表下面这些代码主要将获取的用户的各个信息都存储到数据库的user表中也就是负责数据库信息存储%request.setCharacterEncodingGBK;Stringaction=request.getParameteraction;ifaction!=nullaction.trim.equalsregister{Stringusername=request.getParameterusername;//接收usernameStringpassword=request.getParameterpassword;//接收passwordStringphone=request.getParameterphone;Stringaddr=request.getParameteraddr;Useru=newUser;u.setUsernameusername;u.setPasswordpassword;u.setPhonephone;u.setAddraddr;u.setRdatenewDate;u.save;out.println注册成功!恭喜!;return;}%//将获取的用户的每个信息都存储到数据库的user表中
5.
2.3商品查看的实现当进入网站时,用户可以浏览商品如图
5.
2.3所示用户点击“笔记本电脑”后,系统会跳转到笔记本电脑列表页面,每一条记录都为一台笔记本电脑的信息包括商品的基本信息、价格等参数图
5.
2.
35.
2.4商品购买的实现当用户进入商品列表界面后,选择自己喜欢的商品,点击“提交订单”按钮这样就用把用户选择的商品和用户信息提交一个订单保存到数据库中系统通过用户提交订单实现了网上商品的购买
5.3系统后台管理模块
5.
3.1后台管理员登陆后台管理员可以用管理员账号和密码登陆管理界面,在管理界面中管理员可以管理用户,类别,产品以及订单等输入管理员的用户名和密码就可以登录后台;如图
5.
3.1是后台管理员登录界面图
5.
3.1管理员登录界面其中下面这段代码主要作用是通过JavaScript验证登录名和登录密码是否正确,如果不正确则提示错误信息,正确则进入后台管理系统%Stringaction=request.getParameteraction;ifaction!=nullaction.equalslogin{Stringusername=request.getParameterusername;//获取用户名Stringpassword=request.getParameterpassword;//获取密码if!username.equalsadmin||!password.equalsadmin{out.printlnusernameorpasswordnotcorrect!;return;}//密码错误时页面跳转的验证session.setAttributeadminadmin;//session验证response.sendRedirectadmin/AdminIndex.jsp;}%
5.
3.2后台用户管理后台管理员登录后,有用户管理、类别管理、产品管理、订单管理等操作,管理员可以对一个或多个用户进行管理,在用户列表中,可以通过用户名进行查询,查询用户的基本信息也可以对用户进行删除,如图
5.
3.2图
5.
3.2用户列表
5.
3.3后台菜单隐藏后台管理员登录后,有用户管理、类别管理、产品管理、订单管理等操作,系统通过JS实现了对菜单列表的隐藏,鼠标单击向左的箭头,则管理列表会自动隐藏,使页面的可视面积更大,方便管理如图
5.
3.3图
5.
3.3菜单功能列表下面这段script代码用来实现图
5.
3.3右上角的箭头的隐藏菜单功能scriptfunctionhidemenu{ifparent.menuState==0{parent.menuState=1;parent.mleft.cols=*100%;parent.mtitle.location.reload;}else{parent.menuState=0;}}/script//管理菜单隐藏方法
5.
3.4后台类别管理后台管理员登录后,有用户管理、类别管理、产品管理、订单管理等操作,类别管理列表实现了对类别的增删改操作以及添加子类别操作例如网站首页显示的电子产品、非电子产片等,都是通过类别管理功能进行维护的如图
5.
3.4由于该购物是用JSP+JavaBean来实现的,大部分的业务逻辑都封装在JavaBean里以达到重复使用的目的因此,类别管理我封装在了com.bjsxt.shopping.category包里,这个包有Category.java和CategoryService.java两个文件Category.java中主要是Category的主要的属性和属性的set,get等实体方法CategoryService.java中主要是管理Category的各种方法的管理类也有很多跟数据库交换数据需要用到的方法图
5.
3.4类别管理列表
5.
3.5后台产品管理后台管理员登录后,有用户管理、类别管理、产品管理、订单管理等操作,产品管理提供了搜索产品,添加产品,删除产品功能搜索产品提供两种搜索方式,一种是简单搜索方式,一种是高级搜索方式简单搜索方式只需要输入搜索的产品名即可,高级搜索方式则需要输入很多具体的产品信息,例如产品属于哪个类别,产品市场价格的范围如图
5.
3.5图
5.
3.5产品搜索功能通过以下代码来进行搜索操作%ListCategorycategories=CategoryService.getInstance.getCategories;forinti=0;icategories.size;i++{Categoryc=categories.geti;StringpreStr=;forintj=1;jc.getGrade;j++{preStr+=--;}%%=c.getId%|%=c.getGrade%%=preStr+c.getName%%}%//搜索操作
5.
3.6后台订单管理后台管理员登录后,有用户管理、类别管理、产品管理、订单管理等操作,订单管理提供了订单明细、订单修改、删除功能订单管理列表,点击订单信息时会下方会显示订单的下单人、购买的商品、送货地址、下单时间、购买数量、价钱及现单状态,如图
5.
3.6图
5.
3.6订单管理界面6系统测试
6.1系统的测试一个程序并不可能达到十分完美,难免存在一些错误如果不能及时将其找出并修改,会造成系统崩溃并造成不必要的损失通过软件测试,尽可能多的找出系统中的错误,以便于及时修改
6.
1.1系统测试的环境
1、系统测试的性能要求软硬件要求系统环境WindowsXP+sql2005;硬件系统环境CPUP4主频
2.4G、1024MB内存、80G硬盘系统运行时对数据的保密性要求不高对一般的数据不要求进行加密此外,对其他软件几乎没有依赖性,程序健壮性较好
2、测试数据建立一个会员用户,登录系统,浏览商品并购买;同时登陆管理员后台系统看是否能添加商品和对用户进行管理
3、系统测试的评价系统功能评价此系统各模块都能实现各自的功能,符合大众化网上购物的要求结论此系统是可行的
6.
1.2测试阶段软件测试是一项复杂的系统工程,从不同的角度考虑可以有不同的划分方法,对测试进行分类是为了更好的明确测试的过程,了解测试究竟要完成哪些工作,尽量做到全面测试按照软件测试的策略和过程分类,软件测试可分为单元测试、集成测试、确认测试、系统测试和验收测试它们被依次顺序地执行,如图
6.
1.2所示图
6.
1.2软件测试分级模型
1、单元测试单元测试是对软件中的基本组成单位进行的测试,如一个模块、一个过程等等它是软件动态测试的最基本的部分,也是最重要的部分之一,其目的是检验软件基本组成单位的正确性因为单元测试需要知道内部程序设计和编码的细节知识,一般应由程序员而非测试员来完成,往往需要开发测试驱动模块和桩模块来辅助完成单元测试因此应用系统有一个设计很好的体系结构就显得尤为重要一个软件单元的正确性是相对于该单元的规约而言的因此,单元测试以被测试单位的规约为基准单元测试的主要方法有控制流测试、数据流测试、排错测试、分域测试等等针对此购物网站,单元测试就显得特别重要,管理员登陆、后台管理等模块的依次测试保证了整个网站的正确性
2、集成测试集成测试是在软件系统集成过程中所进行的测试,其主要目的是检查软件单位之间的接口是否正确它根据集成测试计划,一边将模块或其他软件单位组合成越来越大的系统,一边运行该系统,以分析所组成的系统是否正确,各组成部分是否合拍集成测试的策略主要有自顶向下和自底向上两种在此采用自顶向下策略,从网站主页开始进入,测试每个模块之间的联系是否合理,如前台展示与后台管理的接口等
3、确认测试确认测试又称有效性测试它的任务是验证软件的有效性,即验证软件的功能和性能及其它特性是否与用户的要求一致在软件需求规格说明书中描述了全部用户可见的软件属性,其中有一节叫做有效性准则,它包含的信息就是软件确认测试的基础
4、系统测试系统测试是对已经集成好的软件系统进行彻底的测试,以验证软件系统的正确性和性能等满足其规约所指定的要求,检查软件的行为和输出是否正确并非一项简单的任务,它被称为测试的“先知者问题”因此,系统测试应该按照测试计划进行,其输入、输出和其他动态运行行为应该与软件规约进行对比软件系统测试方法很多,主要有功能测试、性能测试、随机测试等等
6、验收测试验收测试旨在向软件的购买者展示该软件系统满足其用户的需求它的测试数据通常是系统测试的测试数据的子集这是软件在投入使用之前的最后测试当然在此购物网站设计不涉及交互,所以也就没有验收测试
6.2系统部分模块测试
6.
2.1管理员登录测试在管理员登录界面中输入正确的用户名和密码,则进入系统后台管理界面,如果用户名或密码错误则给出错误提示页面例如当在用admin进行测试时,如果输入的用户名、密码和验证码都正确,则页面跳转至后台首页,如果用户名或密码错误,则弹出如图
6.
2.1提示信息图
6.
2.1管理员登陆测试
6.
2.2后台管理测试以删除用户为例,在用户管理列表页面,可以看到各个用户的信息,如果点击删除,会弹出提示对话框,是否真的删除,如图
6.
2.2如果需要删除该用户,点击确认,否则点击取消图
6.
2.2删除用户功能测试7结论
7.1系统评价本文通过本系统设计与开发,从而得出下列结论
1、学习一门新技术,最重要的是实践,只有多动手才能尽快掌握它
2、一个系统的开发,经验是最重要的,经验不足,就难免会有许多考虑不周之处
3、要想吸引更多的用户,系统的界面必须要美观、友好,功能要健全不过由于经验不足,我设计的图形界面比较简单只是对基本功能进行了开发
4、本次开发,我参考了很多本系统的例子,吸取了一些别的本系统的长处,对自己的毕业设计进行了完善,但是还有很多的不足之处,有待以后进一步学习本文所制作的系统界面友好、使用灵活、操作简单、功能齐全、表现方式独特,已基本具备了成熟的技术理论
6、由于时间仓促,本次设计由我完成本系统的制作,对我这样一个JSP新手而言所制作的模块还有不完善的地方由于是独立完成,在毕业设计的过程遇到了很多的困难,我求教了不少老师和同学,在这个过程中让我体会到了,一个团队的重要性
7.2安全性问题Web开发中安全性是必须考虑的一个很重要的方面,特别是在诸如个信息等敏感数据的模块中更是关键下面就这方面的技术和解决方案加以讨论
1、安装防火墙安装防火墙并且屏蔽数据库端口能有效地阻止了来自Internet上对数据的攻击
2、输入检查和输出过滤用户在请求中嵌入恶意HTML标记来进行攻击破坏,防止出现这种问题要靠输入检查和输出过滤,而这类检查必须在服务器端进行,一旦校验代码发现有可疑的请求信息,就将这些可疑代码替换并将其过滤掉致谢首先感谢陈辉老师的关心、指导和教诲陈辉老师在总体结构、功能的把握上给予了我非常大的帮助,尤其是软件工程的流程方面,陈老师给了指明了一条非常适合我的开发路线,同时给我们提供了非常优越的设计环境,并对我在编程、数据库设计等细节工作上给予了耐心的指导,对于我顺利完成这次毕业论文起到了关键性的作用让我可以在开发本系统之后,较全面的掌握了JSP及MySQL的基本知识和编程技巧,使我的JSP开发能力得到了进一步的提高如SQL语言的使用;以前学过的软件工程知识、数据库原理及操作也得到了充分的应用最后,感谢所有评阅老师对我帮助,同时也感谢我的学友和朋友们对我的关心和帮助参考文献
[1]美威尔顿,麦可匹克.JavaScript入门经典第3版.施宏斌译.北京清华大学出版社,2009
[2]耿祥义张跃平.JAVA2使用教程,北京清华大学出版社
[3]王珊萨师煊.数据库系统概论(第四版),高等教育出版社,2006年12月
[4]方美琪刘鲁川.电子商务设计师教程北京清华大学出版社,2005年7月
[5]张银鹤唐有明王俊伟.JSP+Ajax网站开发典型实例.北京电子工业出版社,2009年1月
[6]GeneSpafford.WebSecurityPrivacyandCommerce.北京机械工业出版社,2004
[7]JohnW.SRobertB.JStephenD.B.系统分析与设计.北京电子工业出版社,2006
[8]TangF.F.Hybridsvs.Dotcoms:SomeOnlinePricingPatternsintheSouthKoreanBookMarkets.Int.J.InternetMarketingandAdvertising2004年1月3
[9]ThomasH.CormenCharlesE.LeisersonRonaldL.RivestCliffordStein.IntroductiontoAlgorithms.机械工业出版社,2006年9月
(2)
[10]白丽.中国特色的电子商务.北京电子商务出版社,2005年3月
[11]徐天宇.电子商务系统规划与设计.北京清华大学出版社,2005年
[12][美]RogersCadenhead.Java编程入门经典.梅兴文译.第4版.北京人民邮电出版社,2007年
[13]陈国君等编著.Java2程序设计基础.北京清华大学出版社,2006年
[14]丁振凡.Java语言实用教程.北京北京邮电大学出版社,2005年
[15]张海藩.软件工程导论.北京清华大学出版社,2008年2月
[16]http://java.sun.com/http://java.sun.com/
[17]陈菁菁.Tomcat原理与JavaWeb系统开发.北京清华大学出版社,2009
[18](美)MartyHall,LarryBrown.Servlet与JSP核心编程.第2版.北京清华大学出社,2004
[19]FLANAGAN.《JAVA技术手册》.中国电力出版社,2002年6月:1-465
[20]孙一林彭波.《JSP数据库编程实例》.清华大学出版社,2002年8月:30-210
[21]LEEANNEPHILLIPS.《巧学活用JSP》.电子工业出版社,2004年8月:1-319
[22]飞思科技产品研发中心.《JSP应用开发详解》.电子工业出版社,2003年9月:32-300
[23]耿祥义张跃平.《JSP实用教程》.清华大学出版社,2003年5月1日:1-354
[24]孙涌.《现代软件工程》.北京希望电子出版社,2003年8月:1-246
[25]萨师煊,王珊.《数据库系统概论》.高等教育出版社,2002年2月:3-460
[26]Brown等.《JSP编程指南(第二版)》.电子工业出版社,2003年3月:1-268
[27]清宏计算机工作室.《JSP编程技巧》.机械工业出版社,2004年5月:1-410
[28]朱红司光亚.《JSP编程指南》.电子工业出版社,2001年9月网上购物系统的设计与实现张勇北京航空航天大学订单审核网上购物网上购物网上购物系统用户管理员注册会员商品购买用户管理类别管理订单管理产品管理商品查看顾客网站首页注册退出浏览该商品浏览其他商品查看购物选定商品取消订单下订单确认订单订单送商家交易完成支付送货上门商品管理查询商品修改删除满意否返回添加商品是否系统主界面错误信息密码错误数据库系统登录界面系统管理输入用户名及密码检查密码正确功能界面功能处理开始自动生成编号输入数据是否合法写入数据库结束是否开始选择需要修改记录输入数据是否合法写入数据库结束是否开始选择需要删除记录是否删除更新数据库是否。