毕业设计(论文)--网上购物系统的设计与实现.doc_第1页
毕业设计(论文)--网上购物系统的设计与实现.doc_第2页
毕业设计(论文)--网上购物系统的设计与实现.doc_第3页
毕业设计(论文)--网上购物系统的设计与实现.doc_第4页
毕业设计(论文)--网上购物系统的设计与实现.doc_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

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

文档简介

盐城师范学院毕业设计盐 城 师 范 学 院毕业设计网上购物系统的设计与实现学生姓名 学 院 信息工程学院 专 业 软件工程 班 级 12(1) 学 号 指导教师 2016年 5 月 16 日盐城师范学院毕业设计网上购物系统的设计与实现摘 要随着社会的发展,信息化的普及,网上购物的人数越来越多,开发出一款与天猫、苏宁等大型购物网站相类似的软件有其重要价值。本文就是从订单管理、用户信息管理、商品管理等功能为出发点,使用MYSQL数据库服务器,同时采用Navicat for MySQL数据库管理软件连接管理数据库;选取JAVA作为程序开发语言,开发工具选取为MyEclipse ,数据库选取为MySQL ,服务器选取为Tomcat。本系统主要包括前台用户操作跟后台管理两大部分,通过前后期的处理,系统会拥有良好的界面,网上购物系统不仅拥有着良好的用户体验,可以预见在未来可以为中小企业节省成本,为社会创造更大的价值,拥有良好的前景。【关键字】网上购物系统;MYSQL;TOMCAT;JAVA全套设计加扣 3012250582The design and implementation of online shopping systemAbstract With the development of society, the popularity of information technology, the number of online shopping is more and more developed, and Tmall, Suning and other large shopping sites similar software has its important value. This article is from the order management, customer information management, merchandise management, and other functions as the starting point, using the MySQL database server. At the same time, Navicat for MySQL database management system of linked administrative databases, select Java as a programming language, development tools selected for the MyEclipse database selected mysql, server selection for the Tomcat. This system mainly includes the onstage user operation with the background management of two parts, through the pre - and post processing, the system will have a good interface, online shopping system not only has a good user experience, can be expected in the future can save costs for small and medium-sized enterprises, for the community to a greater value and has good prospects. Key words online shopping system,mysql,tomcat, java盐城师范学院毕业设计目录1引言1 1.1研究背景1 1.2研究意义12 技术概览1 2.1 主要技术22.1.1 J2EE技术概述22.1.2 Struts222.1.3 Spring22.1.4 JSP22.1.5 ExtJs3 2.2 MySQL概述33 总体设计3 3.1 需求分析3 3.2 功能分析43.2.1 后台管理43.2.2 前台部分5 3.3 系统的结构图74 数据库设计7 4.1 需求分析7 4.2 数据库E-R图设计8 4.3 数据库表的设计9 4.4 数据表之间的关系图125 详细设计13 5.1 创建和连接数据库13 5.2 管理员登陆模块14 5.3后台初始页面模块16 5.4 个人信息修改模块16 5.5 用户管理模块17 5.6会员功能模块21 5.7 商品模块23 5.8 商品购买模块256 系统测试29 6.1功能测试29 6.2测试评价307结束语31参考文献32致谢331引言1.1研究背景进入二十一世纪,随着互联网的普及,参与过网络购物的中国人就占据了63%。有部分从事网络销售的人员通过调查得出,国内选择在网上购买东西的人越来越多,很多高校的学生和女性青年热衷于网上购物。由此看来我国对于电子商务认识越来越明了。中国的电子商务拥有着其他国家不能匹敌的市场,根据相关资料,光在2015年,在网上购买商品的人即占据了中国所有人数的26%,然而这个人数占有比例已经接近了欧美等一系列发达国家的网购人数占有比例。1.2研究意义 如今年轻人做为网上购物的主要消费群体,也在带动着他们周围的人进行网上购物,从而使网上购物在我们如今的社会中显得越来越重要,通过数据表明一半以上的网民认为网上购物比去商店中购买物品更加的方便,并且由于在网上买东西可以对商品进行全方面的了解,使消费者买到更适合自己的产品。由于我们随时随地都可以上网,使人们更趋向于网络购物,网上购物可以购买自己想要的东西,满意的东西,但在店里就不一定能够实现,因此网络购物可以让购物者买到个性化的东西。通过以上论述我选择设计和编写一个网上购物系统,在开发过程中会遇到一些技术上的问题,这样可以使我的技术得到进一步的提升,避免在以后纸上谈兵,实际操作远远落后于他人。本论文内容主要包括了中英文摘要、目录、前言、开发环境简介、总体设计、数据库设计、详细设计、总结致谢。2 技术概览本章节是对本次毕业设计中所用到的工具和相应技术进行的介绍。此系统所用的平台为:运行环境:Microsoft Windows 7程序语言:Java开发工具:MyEclipse 8.5数 据 库:MySQL 5.7服 务 器:Tomcat6.02.1 主要技术MyEclipse作为一个开发平台能够使我们工作效率在很大程度上提高。通过MyEclipse开发人员可以对程序进行调试,测试,并发布一些相应的功能,从而提高了我们的工作效率。并且MyEclipse在技术支持是绝对完善的,可以说是小型项目开发的不二之选。2.1.1 J2EE技术概述 J2EE作为一个开发架构,它不同于以往的开发架构,J2EE拥有许多开发组件,它可以使我们的开发和系统的部署更加的规范化,在一定基础上也可以对我们的开发和部署进行简化,从而使我们在编写完程序后可以在多处运行。并且提高了安全性。J2EE可以使我们后台的产品信息与其他信息能够更好地兼容,简洁来说就是提高了兼容性,解决了很多互不兼容的难点。J2EE更加的规范化1。2.1.2 Struts2 Struts 2是通过它的上一代产品struts1和webwork的技术基础上合并而产生的全新的产品,相对于上一代来说,Struts 2更可以被认为是webwork的下一代产品,因为相对于Struts 1来说他有着相当大的改进。主要表现为表达语言方面Struts 2更为强大,更容易测试,应为Struts 2不再依赖于Servlet API,在类型转换方面Struts 2做得比Struts 1更为强大2。2.1.3 SpringSpring是一个开源框架可以使我们开发企业级应用更加的高效。在Java中许许多多的应用都可以在Spring中得到改善。它所包含的优点主要有以下几种:1) 容器:Spring可以管理程序中对象与对象之间的相互关系,通过编写代码你可以定义对象,并且通过启动实例化对象,从而建立对象与对象之间的相互关系。 2)IOC:控制反转,通俗的称之为“依赖关系的转移”,要面向接口编程是它的核心思想,即以前依赖于实现,现在反转为依赖抽象3。2.1.4 JSP JSP作为一种编写动态网页的技术。它可以使我编写动态网页更加的快速,更加的有效,简洁的来说就是有效的提高了我们编写动态页面的效率。并且通过JSP编写的同台网页具有很高的兼容性,能够在多种环境下同时运行。JSP这种技术的出现也是为了使Web开发的效率更高,程序运行更加的快速,便捷。Java编程语言是JSP的脚本语言,从而JSP也具有了JAVA语言的一些优点,就好比在一个地方编写完成后可以在多处运行,因此JSP也越来越受欢迎,许多软件开发的企业选择使用JSP,JSP可以将程序对用户浏览器的要求降到最低,方便用户使用,因此JSP在如今Web开发中越来越重要4。2.1.5 ExtJsExtJS它是一种AJAX应用,可以丰富我们的客户端,它的主要功能就是编写前台页面,与我们程序的后台技术并无关系的框架,因此它可以在许许多多的开发中运用,通过以往发现和对比,以及对CSS的应用,ExtJS是一款不可多得开发客户端的精品5。2.2 MySQL概述 MySQL虽然比那些大型的数据库Oracle等有着许许多多的不足之处, 例如功能不够完善,整体规模不够大等等,但这些并不影响它的使用率,对于一些中小型企业及应用MySQL已经足够他们使用,更何况使用MySQL的成本相对于较低,因此,它在中小型企业及应用中,它的受欢迎程度远远大于那些大型数据库。并且运行速度快,而且体积小,从这一个角度上来说也是它比较大的优点6。3 总体设计3.1 需求分析本系统平台使用JSP+MySQL数据库的架构,同时分为前后台管理。1)前台界面提供给登录用户操作,供用户选购商品使用。主要包括用户加入购物车、生成订单、修改订单、修改会员资料、修改密码、订单支付、会员注册、会员登录等等。2)后台管理是给后台操作人员使用的,其中包括:用户信息管理、商品类别管理、订单项管理、个人信息管理等7。3.2 功能分析3.2.1 后台管理1)个人信息管理管理员进入信息管理界面后,用户姓名跟真实姓名无法更改,但是联系电话跟地址可以进行修改,修改完成后点击提交按钮,则完成个人信息的更新。2)用户信息管理用户包括注册会员跟管理员两种,击添加用户信息,跳出一个输入框,输入相关数据后点击添加按钮即可完成用户信息的添加,点击取消按钮则取消本次添加,点击重置按钮则重新输入相关信息,点击编辑用户信息,系统跳出“YES”和“NO”选项,点击“NO”则返回,放弃此次编辑,点击“YES”则进行编辑,管理员除了用户的等级可以修改外,其他用户的基本信息都无法进行编辑,点击取消按钮则取消本次编辑。点击删除用户信息即可完成此次用户信息的删除。在查询框里输入相应的用户信息,则可以快速的查询到该用户的信息。3)商品类别管理该界面中有添加根类别信息,添加子类别信息,编辑类别信息,删除类别信息四个选项按钮,管理员可以更具具体要求进行相关操作。添加根类别信息,跳出一个输入框,输入相关数据后点击添加按钮即可完成根类别信息的添加,或者点击重置按钮重新添加,点击取消按钮取消此次添加根类别信息。点击添加子类别信息,输入类别名称跟简介,然后按需求点击添加、重置、取消按钮。点击编辑类别信息,可以进行类别修改,但只有类别名称跟简介可以修改,其他选项无法修改,修改成功后点击更新按钮即可完成类别的编辑。删除类别信息选项,点击删除类别信息即可完成此次类别信息的删除。在查询框里输入相应的类别信息,则可以快速的查询到该类别信息。4)商品管理该界面中有添加产品信息,编辑产品信息,删除产品信息三个选项。点击添加产品信息,跳出一个输入框,输入相关数据后点击添加按钮即可完成产品信息的添加,点击取消、重置按钮也可以取消或重新输入产品信息。点击编辑产品信息,进行产品编辑,除了商品编号无法修改外,其他产品信息都可以进行修改,修改完成后点击更新即可完成此次修改。点击重置或取消,产生相应效果。点击删除产品信息,则可对该产品信息进行删除。在查询框里输入相应的产品信息,则可以快速的搜索到该产品信息。5)订单管理该界面中有处理订单信息,删除订单信息两个选项。点击处理订单信息按钮,可以对订单状态、订单处理日期、确认状态进行修改,点击更新按钮则完成此次订单的更新。点击删除订单信息选项,则可删除相应的订单。在查询框里输入相应的订单信息,则可以快速的搜索到该订单信息。6)订单项管理在查询框里输入相应的订单项信息,则可以快速的搜索到该订单项信息。7)新闻管理该界面中有添加新闻信息,编辑新闻信息,删除新闻信息三个选项。点击添加新闻信息按钮,输入相应内容后,点击添加即可完成此次添加新闻信息的工作,点击取消则取消此次添加新闻信息,点击重置则重新输入内容。点击编辑新闻信息则对信息进行相应的修改,除了新闻编号外不能进行编辑,其他选项都可以进行编辑,编辑完成后点击更新即可完成此次编辑。点击删除新闻信息,则可对该新闻信息进行相应的删除。在查询框里输入相应的新闻信息,则可以快速的搜索到该新闻信息。8)操作权限管理该界面中有添加操作权限信息,编辑操作权限信息,删除操作权限信息。添加、重置、取消按钮分别对应添加操作权限信息、重新输入和取消本次添加。点击编辑操作权限信息按钮,即可完成此次编辑。点击删除操作权限信息,则可对该操作权限信息进行相应的删除。在查询框里输入相应的操作权限信息,则可以快速的搜索到该操作权限信息。9)退出登录点击退出登入按钮,系统界面跳转到后台初始登入界面,输入用户名跟密码后可以进入后台。3.2.2 前台部分1)会员注册用户名必须为新,当用户名重复时系统会有提示,请重新输入用户名。在设置密码中输入密码,但是密码必须在大于6小于12个数字或字母之间,输入密码不符合要求之后,系统会提示再次输入密码,输入密码成功,需要再次输入密码来确认密码,然后填写真实姓名,姓名必须为2到7个汉字之间,填写错误系统提示请重新填写,用户需要填写手机号,手机号必须为11位的阿拉伯数字,最后需要填写地址,当上述步骤都完成时,点击同意按钮,即可完成注册。2)会员登录用户进入登录界面,按照格式输入正确用户名跟密码,输入错误则会弹出提示框。3)用户浏览商品用户打开网页即可浏览网站上的任意商品,点击商品可以跳转到此商品界面,用户可以进一步更加详细的了解该商品,也可以在搜索栏中输入商品的特征,可以快速有效的查询用户所需要的商品。4)修改密码当用户需要修改密码时,点击修改密码按钮,会跳出修改密码界面框,先输入原密码,如果输入的原密码错误时,系统会提示密码错误,需要重新输入密码,当密码正确时,再输入新密码,新密码必须符合格式要求,在六到十二个字符之间,且必须为阿拉伯数字或英文字母,输入正确格式新密码之后,再次输入新密码以确认,输入成功点击确定按钮,修改密码完成。5)购物车管理点击购物车进入购物车管理界面,可以通过点击商品数量下框中的“+”与“”来选择用户所需商品的数量,当商品数量为1时,点击“-”则自动删除该商品,也可以点击右边的删除选项,来删除不需要的商品。点击清空购物车,则会清空购物车里面的所有商品,点击接着购物,则系统会跳转到首页,用户接着购物,如果点击结算,用户进入商品结算界面。6)生成订单当会员点击结算按钮进入订单支付页面,用户需要输入姓名,姓名必须为2-7个中文之间,输入错误字符,系统会提示要求输入正确字符,接着输入地址,地址输入完之后输入手机号码,手机号码个数必须为11个阿拉伯数字,输入错误格式系统会给出提示,选择支付方式,可以有在线支付跟货到付款两种支付方式,选择其中一个,然后点击确定按钮,进入订单支付页面。7)订单支付订单有两种支付方式,一种在线支付,一种货到付款,点击货到付款,生成订单后,订单管理界面有删除订单跟确认订单两个选项,用户可以按照自身情况进行选择,当点击网上付款,跳转进入订单管理界面,生成的订单里有删除订单跟付款两个选项,点击删除则删除该订单,点击付款进入付款界面,输入账户,再输入正确密码,账户或密码错误时系统会提示输入错误,输入正确密码,点击确定,完成此次订单支付。3.3 系统的结构图 本系统中的所有模块如图3-1所示:图3-1 系统结构图4 数据库设计4.1 需求分析会员跟管理员属于本系统中的两种用户,点击添加用户信息,跳出一个输入框,输入相关数据后点击添加按钮即可完成用户信息的添加。点击编辑用户信息,系统跳出“YES”和“NO”选项,点击“NO”则返回,放弃此次编辑,点击“YES”则进行编辑,虽然可以修改用户的等级但是其他信息无法修改,点击更新完成此次编辑。点击删除用户信息,可以对用户进行删除。在查询框里输入相应的用户信息,则可以快速的查询到该用户的信息8。关于商品有添加、编辑、删除三个选项。点击添加商品,输入相关数据后点击添加按钮即可完成商品的添加。点击编辑商品,进行商品编辑,修改完成后点击更新即可完成此次修改。点击删除商品,则可对该商品进行删除。在查询框里输入相应的产品信息,则可以快速的搜索到该产品。关于商品类别,点击添加根类别信息,输入相关信息后,可以点击添加按钮完成此次添加。点击添加子类别信息,输入类别名称跟简介,可以点击添加按钮完成此次添加。点击编辑类别信息,可以进行类别修改,修改成功后点击更新按钮即可完成类别的编辑。点击删除类别信息即可完成此次类别信息的删除。在查询框里输入相应的类别信息,则可以快速的查询到该类别信息。关于订单有订单信息、删除订单信息两个选项。点击处理订单信息按钮,可以对订单状态、订单处理日期、确认状态进行修改,其他信息无法进行修改,修改完成后则可进行相应的货物发送。点击删除订单信息选项,则可删除相应的订单。在查询框里输入相应的订单信息,则可以快速的搜索到该订单信息。4.2 数据库E-R图设计E-R图可以将各个表之间的关系明确展示在我们面前,让我们更加快速的理解我们的数据库,方便我们对数据库的操作,有效的管理数据库。用户与管理员如图4-1所示:商品信息mn用户浏览搜索管理员索引发布mnnmmn图4-1用户与管理员之间E-R图管理员实体E-R如图4-2所示:管理员编号账号权限密码图4-2 管理员实体E-R图 父类实体E-R如图4-3所示:商品大类ID常用排序号名称 图4-3 父类E-R图 子类实体E-R如图4-4所示:商品小类ID名称商品大类ID常用排序号图4-4 子类E-R图4.3 数据库表的设计用户信息表:主要负责存储用户信息,主要属性有id、username、password、realname、addr、phone、userlevel;商品类别表:主要存储商品类别,主要属性有Parentid、name、id、descr、grade、cno; 商品信息表:主要负责存储商品的信息,主要属性有Name、categoryid、descp、pubtime、state、price、id、picture、districts; 订单信息表:主要存储相关订单的信息,主要属性有 State、sendaddr、money、odate、id、sure、pdate、paymethod、sendphone; 新闻信息表:主要存储相关新闻信息,主要属性有Content、title、pubtime、id; 操作权限表:主要存储相关操作权限信息,主要属性有url、name、level、id; 银行帐号表:主要存储相关银行账户信息,主要属性有 Password、cardid、momey、id;1) 用户信息表,如表4-1所示: 表4-1用户信息表字段名数据类型字段大小备注idInt10主键userlevelInt10用户等级passwordVarchar10密码usernameVarchar10用户名realnameVarchar10真实姓名addrVarchar20地址phoneVarchar20电话2)商品类别信息表,如表4-2所示: 表4-2 商品类别信息表字段名数据类型字段大小备注idInt10主键parentidInt10父节点cnoInt10类别节点号gradeInt10类别级别namevarchar100类别名称descrvarchar100说明 3)商品信息表,如表4-3所示:表4-3 商品信息表字段名数据类型字段大小备注idInt10主键categoryidInt10类别名称statevarchar100形式namevarchar100名称picturevarchar200图片pricedouble100价钱pubtimevarchar100上架时间producervarchar100制造商descpvarchar100简介districtsvarchar100产地4) 订单信息表,如表4-4所示:表4-4 订单信息表字段名数据类型字段大小备注idInt10主键useridInt100会员编号statevarchar100订单情况sendnamevarchar100接收人姓名surevarchar100确认paymethodvarchar100付款形式sendphonevarchar100收货人手机sendaddrvarchar100收货人地址odatevarchar100处理时间moneydouble100价钱pdatedate100下单时间5) 新闻信息表,如表4-5所示:表4-5 新闻信息表字段名数据类型字段大小备注idInt10主键pubtimevarchar100发布时间contentvarchar300新闻内容titlevarchar100新闻标题6) 操作权限表,如表4-6所示:表4-6 操作权限表字段名数据类型字段大小备注idInt10主键levelInt100等级urlvarchar100路径namevarchar100名称7) 银行帐号表,如表4-7所示:表4-7 银行帐号表字段名数据类型字段大小备注idInt10主键moneydouble100金额passwordvarchar100密码cardidvarchar100帐号4.4 数据表之间的关系图一个表中的列与另一个表中的列相链接,通过关系图我们能够清楚的看懂数据库的关系,也能够方便进一步查询。本系统的关系图如图4-5所示:图4-5 数据表之间的关系图5 详细设计 为了给用户提供更好的使用体验,同时使用户对产品产生更大的认可,因此详细的设计了前台界面,使得界面更加美观大方。同时一个数据丰富的后台数据库也起到了关键的作用。5.1 创建和连接数据库本系统分为前台跟后台,前台给用户进行商品的浏览,后台则是数据库,前台需要后台数据的支持,因此就得先连接数据库9。JDBC是由Java编写而成的接口,它面向我们的应用程序层。他并不局限于数据库的供应商,它的主要代码如下:jdbc:mysql:/localhost:3306/webshop /要连接的数据库名root/数据库用户名root/数据库密码com.mysql.jdbc.Drivermysql/myeclipse连接配置5.2 管理员登陆模块后台并不是任何人都能登录的,不然结果不敢想象,因此本系统的后台只能给管理员登录,只要输入正确的用户名跟密码才能进入后台。1)设计思想用户进入后台登录界面,输入正确的用户名跟密码跳转到后台主界面,当输入错误时,则平面会弹出提示框。2)方法分析当系统跳出登录后台界面时,输入完正确的信息后然后点登入按钮,login.action将会收到数据从form表。相关代码为:/登录/main.htm/登录成功跳转后台主界面/login.jsp/登录失败回到登录界面/action 3)结果显示购物商城后台界面,如图5-1所示:图5-1 购物商城后台界面用户登陆系统成功后的界面,如图5-2:图5-2进入后台界面5.3后台初始页面模块后台的此页面相当于前台的首页,管理员能够非常方便的选择他所需要的操作。1) 设计思想管理员进入后台后对一些版面可以进行编辑,并且设计的界面要使用户能够简便的找到所要改的模块。列如个人信息管理模块,订单管理模块等。2)方法分析登入后台成功后所显示的界面是用框架来实现的。框架分为上、左、右三部分。3)后台初始界面后台主界面,如图5-3所示:图5-3后台的主界面5.4 个人信息修改模块每当软件用了一段时间后,更改我们自己的个人信息,能够防止我们的信息被盗,减少财务损失,保护自己的财产安全。1)设计思想进入修改个人信息界面后,用过可以对自己的个人信息进行修改,修改完成后点击确认,系统将会把用户新的个人信息输入系统中,个人信息修改完成。2) 方法分析当用户输入原密码时,本系统会运用checkOldPwd()方法,以此来判断,如果原密码输入的是对的吗,则接着输入新密码,如果不是对的,系统会有提示,然后我们有机会再次输入原密码。用户新设置的密码必须阿拉伯数字或者英文字母,且字符数必须在6到12之间。如果输入错误系统会有相关提示,运用范式 /(a-zA-Z0-9_-)6,16$/进行判断。 3)结果显示个人信息修改界面,如图5-4所示:图5-4 个人信息修改界面个人密码修改界面,如图5-5所示:图5-5个人密码修改界面5.5 用户管理模块进一步加强管理者对于用户的管理。1)设计思想该模块可以对用户的一些个人信息进行修改,也能够使得管理者快速有效的找到所要寻找的用户,也可以删除一些无用的用户,使得该模块能够更好的服务管理者进行后台管理10。2)方法分析(1)查找所需的用户使用queryAllUser.action方法,将会容易的提取用户信息从数据库中。相关代码如下: userds = new Ext.data.Store(proxy : new Ext.data.HttpProxy(url : queryAllUser.action ),reader:new Ext.data.JsonReader(totalProperty:totalProperty,root:root,name:id,type : int,name:username,type : string,name:password,type : string,name:realname,type : string,name:phone,type : string,name:addr,type : string,name:userlevel,type : int)/具体数据库表中参数的具体显示 ); 数据在列表中,每页只有十条。var searchUserinfo = function() /列表数据分页方法 userds.baseParams.conditions = text_search_userinfo.getValue(); userds.load(params : start : 0,limit : 10); userds.load(params:start:0,limit:10); (2)管理员拥有删除用户的权利,当我们需要删除某个用户时,选中所要删除的对象,然后点击删除系统会跳出“YES”和“NO”两个选项给我们选,但是每次我们删除用户只能一个一个的删,系统无法满足一次删除两个或者更多个用户。通过运行delUser.action,我们来进行对用户删减。 (3)管理员拥有修改用户功能的权利,当我们需要修改某个用户的功能时,首先我们要先选中需要修改功能的用户,然后点击修改用户功能选项进行修改,如果我们遇到需要修改两个或者更多的用户功能时,我们只能一个一个的改,因为本系统不支持一次性修改多个用户功能。用户功能修改主要代码如下:public String delUser()/从request作用域中取用户编号,并将之转换为int型int id = Integer.parseInt(this.getRequest().getParameter(id);user =new User();user.setId(id);success = userModel.delUser(user);return SUCCESS;public boolean delUser(User user) try /查找到对应用户List list = this.getHibernateTemplate().find( from com.dto.User u where u.id=?,user.getId();/删除该用户this.getHibernateTemplate().delete(list.get(0);return true; catch (Exception e) return false; 3)结果显示用户管理界面,如图5-6所示:图5-6 用户管理界面用户信息查询,如图5-7所示:图5-7用户信息查询界面用户添加界面,如图5-8所示:图5-8用户添加界面更新用户信息,如图5-9所示:图5-9 更新用户信息界面5.6会员功能模块顾客打开网页,浏览网站上的一些商品,顾客如果遇到喜欢的商品时可以添加到购物车,然后按照网购流程进行购买,但是网站商品的购买资格必须为该网站的会员,并不是任何人都能买该网站上的商品。1)设计思想用户可以随意的浏览该网站的商品,也可以点击商品进一步的了解该商品的详细信息,但是如果顾客要进行该商品的购买,他就必须时该网站的用户,只要是该网站的会员才能进行接下来的操作。2)方法分析(1)注册,使用checkUsername()方法,当我们输入用户名来判断该用户名是否已经被使用,如果不巧的话,我们输入的用户名已经被人注册过了,系统会给出提示让我们接着输入新用户名。如果新的用户名没有被人注册过,则进入下一个环节。用户新设置的密码必须阿拉伯数字或者英文字母,且字符数必须在6到12。如果输入错误系统会有相关提示,运用范式/(a-zA-Z0-9_-)6,16$/进行判断。注册时输入的姓名必须为中文,且中文的个数应该控制在两个到七个之间,运用范式 /(u4e00-u9fa5)2,7$/来进行判断,如果输入的姓名有错时,系统会有相关的显示。要求输入的手机号码必须为阿拉伯数字同时个数也必须时十一个,运用范式 /d11$/进行判断,正确或者错误系统都会有相关显示。(2)登录,用户可以随意的浏览本网站中各种各样的商品,也可以点击商品进一步的了解该商品的详细信息,但是如果顾客要进行该商品的购买,他就必须先登录,如果没有登录而点击了一些需要登录才能使用的权限,系统会自动的跳转到登录界面。(3)密码,当用户需要修改密码时,点击修改密码按钮,会跳出修改密码界面框,先输入原密码,如果输入的原密码错误时,系统会提示密码错误,需要重新输入密码,当密码正确时,再输入新密码,新密码必须符合格式要求,在六到十二个字符之间,且必须为阿拉伯数字或英文字母,输入正确格式新密码之后,再次输入新密码以确认,输入成功点击确定按钮,修改密码完成。 3)界面显示网站会员登录页面,如图5-10所示:图5-10网站会员登录页面网站用户注册页面,如图5-11所示:图5-11网站用户注册界面会员密码修改页面,如图5-12所示:图5-12会员密码修改页面5.7 商品模块进一步加强对商品的管理,使得整个系统更好的运行起来,满足顾客对于商品的需求11。1)设计思想我们在浏览网站的时候会发现,一些商品都是按照规定进行分类的,人们能够方便的寻找所需要的商品。2)方法分析在打开系统首页时,运行,通过该程序系统会将商品进行分类,session作用域用来存储商品类别信息。进行了商品规范的分类,因此顾客可以十分方便的选购相关商品。3)结果显示网站商品简介,如图5-13所示:图5-13网站商品简介界面网站商品分类,如图5-14所示:图5-14网站商品界面商品列表,如图5-15所示:图5-15商品列表界面5.8 商品购买模块当顾客浏览完网页后,选择了所要购买的商品,用户可以进入购买程序,加入购物车点击购买12。1)设计思想当选定商品之后,点击加入购物车进入购物车管理界面,点击接着购物,则系统会跳转到首页,用户接着购物,如果点击结算,用户进入商品结算界面。当会员点击结算按钮进入订单支付页面,用户需要输入姓名,姓名必须为两到七个中文之间,手机号码必须为11个阿拉伯数字,选择支付方式,可以有在线支付跟货到付款两种支付方式,进入订单支付页面。点击货到付款,生成订单后,订单管理界面有删除订单跟确认订单两个选项,用户可以按照自身情况进行选择,当点击网上付款,生成的订单里有删除订单跟付款两个选项,点击付款进入付款界面,输入账户,再输入正确密码,点击确定,完成此次订单支付,商品购买成功。 2)方法分析(1) 当顾客浏览完网页后最终最选定了商品之后,选用buylist变量,来判断有没有成功添加商品到购物车中,如果成功则购物车中该商品数量加上一,该方法的主要代码如下:if(request.getParameter(act).equals(add)/从session中取出购物车列表List buylist = (List)session.getAttribute(buylist)/如果第一次加入购物车,则新建购物车列表if(buylist = null)buylist = new ArrayList();/新建此次要重新放入session中的列表List newbuylist = new ArrayList();/设置buylist中是否已经存在此商品的标志,true表示当前购物车中没有此boolean flag = true;int productid = Integer.parseInt(request.getParameter(productid);Product product = FrontModel.getOneProduct(productid); 进入购物车管理界面,可以通过点击商品数量下框中的“+”与“”来选择用户所需商品的数量,“+”该符号表示增加购物车中该商品数量,“-”该符号表示减少购物车中该商品的数量,当商品数量为1时,点击“-”则自动删除该商品,也可以点击右边的删除选项来删除不需要的商品。点击清空购物车,则会清空购物车里面的所有商品:count = count + 1;/表示商品数量加一session.removeAttribute(buylist);/清空购物车点击接着购物,则系统会跳转到首页,用户接着购物,如果点击结算,用户进入商品结算界面。(2) 生成订单之后用户拥有两种支付方式,一种在线支付,一种货到付款,点击货到付款,生成订单后,订单管理界面有删除订单跟确认订单两个选项,用户可以按照自身情况进行选择,点击网上付款,跳转进入订单管理界面,生成的订单里有删除订单跟付款两个选项,点击删除则删除该订单,点击付款进入付款界面,输入账户,再输入正确密码,账户或密码错误时系统会提示输入错误,输入正确密码,点击确定,完成此次订单支付。相关代码如下:money =money -salesorder.getMoney();bank.setMoney(money);bankModel.uptAccount(bank);/中间商帐号Bank mbank =bankModel.findMiddleBank();mbank.setMoney(mbank.getMoney()+salesorder.getMoney();bankModel.uptAccount(mbank);/将订单状态设为“已付款,未确认”salesorder.setSure(已付款,未确认);salesorderModel.uptSalesorder(salesorder);等到用户收到货物,进行确认后,钱会从中间商帐号转入商城账号: /中间商帐号Bank mbank =bankModel.findMiddleBank();mbank.setMoney(mbank.getMoney()-salesorder.getMoney();bankModel.uptAccount(mbank);/商城帐号Bank fbank =bankModel.findFinalBank();fbank.setMoney(fbank.getMoney()+salesorder.getMoney();bankModel.uptAccount(fbank);/订单状态设为“已确认”salesorder.setSure(已确认);salesorderModel.uptSalesorder(salesorder); 3)结果显示我的购物车结算界面,如图5-16所示:图5-16我的购物车结算界面网站订单管理界面,如图5-17所示:图5-17网站订单管理界面 网站支付界面,如图5-18所示:图5-18网站支付界面生成订单页面,如图5-19所示:图5-19生成订单界面6 系统测试6.1功能测试6.1.1用户注册测试 设计用户注册的用例,测试结果如表6-1所示: 表 6-1 用户注册的测试结果用例编号测试过程预期输出结果实际结果1输入密码123456789

温馨提示

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

评论

0/150

提交评论