版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
PAGE论文作者姓名:申请学位专业:申请学位类别:论文提交日期:摘要近年来,随着Internet的迅速崛起,互联网已日益成为收集提供信息的最佳渠道并逐步进入传统的流通领域。于是电子商务开始流行起来,越来越多的商家在网上建起网上蛋糕店,向消费者展示出一种新颖的购物理念,本设计基于B/S模式,实现了当前网上蛋糕店的购物车功能。本设计的开发是基于B/S结构,采用JSP程序设计语言及SQL2005数据库进行开发网上蛋糕店的购物车模块;论文首先阐述了网上蛋糕店的开发,并对该系统购物车模块进行了较详细的需求分析;然后探讨了该系统需要实现的设计方案。关键词:网上蛋糕店;购物车;JSP;数据库AbstractInrecentyears,withtherapidriseoftheInternet,theInternethasincreasinglybecomethebestcollectiontoprovideinformationchannelsandgraduallyintothetraditionalcirculation.Sotheelectroniccommercehasstartedtopopupmoreandmorebusinessesarebuiltonlinebookstoreonline,demonstrateanovelconceptofshoppingtoconsumers,thedesignisbasedontheB/Smodetoachievetheonlinebookstoreshoppingcartfeature.ThedevelopmentofthisdesignisbasedonB/Sstructure,JSPprogramminglanguagesandSQL2005databasefordevelopingonlinebookstoreshoppingcartmodule;thesisdescribesthedevelopmentoftheonlinebookstoreandmoredetailedrequirementsofthesystemcartmoduleanalysis;thenexplorethedesignofthesystemneedtoachieve.Keywords:Onlinebookstore;cart;JSP;database目录1引言 11.1课题背景 11.2本课题研究的意义 11.3主要研究内容 12开发环境与相关技术 32.1JSP技术 32.1.1JAVA简介 32.1.2JSP简介 32.1.3SSH2框架介绍 42.2Myeclipse介绍 52.3SQL2005数据库 52.4Browser/Server(B/S)结构 53系统需求分析及设计 73.1需求分析 73.2系统设计 73.2.1系统功能 73.2.2系统结构 73.2.3系统流程图 73.3数据库设计 83.3.1数据库需求分析 83.3.2数据库的逻辑结构分析 83.3.3数据库物理表结构设计 94系统实现 124.1系统首页 124.2具体模块实现 124.2.1图蛋糕浏览 124.2.2购物车 144.2.3查看订单 164.2.4用户注册 174.2.5会员登录 195系统测试 205.1前台测试 205.2后台测试 205.3测试分析 21结论 21参考文献 22致谢 23第20页共44页1引言1.1课题背景逐渐的Internet成为全球化的国际网络。随着用户的不断增加,其规模迅速扩大,它的领域也走向多元化。除了原先的科学技术和教育外,Internet已进入了文化、经济、政治、新闻、体育、娱乐、商业和服务业。可以预见,Internet将成为我们构筑未来崭新的生活方式。另外虽然电子商务发展在世界范围内都是刚刚开始,但是其发展速递极为迅速,传统的商业模式正不断地被新的商业模式所代替,无论什么模式都不具有固定性和成熟性。对于任何企业来说,都有一个探索与创新的问题,这也为我们加快和跨越发展提供了难得的机遇。我们要大胆进行创新,积极探索符合实际的商业模式,壮大企业的市场竞争能力,以适应全球化的激烈竞争。网上出售蛋糕是Internet和电子商务发展的产物,近几年在我国发展迅猛。随着科学技术迅速发展,Internet这个昔日只被少数科学家接触和使用的科研工具已经成为了普通百姓都可以触及大中型媒体传播手段。现在国民素质素质和科学技术水平的不断提高,使知识更新的越来越快。人们随时都会有被淘汰的危机,为了不让社会淘汰,做到与时俱进就必须不断的学习,21世纪是网络的时代、信息的时代,时间是非常宝贵的,人们由于种种原因没有时间到蛋糕店去,也不知道哪家蛋糕店有自己需要的蛋糕籍,同时有些人因为经济的原因承受不了新蛋糕的高昂的价格,综合上面的原因促成了网上蛋糕店的发展。网上蛋糕店网站的建立可以比较好的解决这方面的问题,在蛋糕店与消费者之间架起了一座高速、快捷的网上信息桥梁,而且目的是节约用户的时间、降低用户的购蛋糕成本,方便用户购蛋糕。1.2本课题研究的意义做为一个虚拟的蛋糕店,网上蛋糕店具有很多新的特性,一下这些是它的优势:其营业成本完全有理由比传统意义上的蛋糕店低得多;不需支付昂贵的店铺租金,花费浩大的装修;不需要将大笔的流动资金作为货物而沉泣在店里,可依靠“零库存”管理,缩速资金周转的周期,可以加速周转;同时网上蛋糕店更容易开拓全球市场。实现24小时营业,不需要营业员,网上蛋糕店可以被设置成一个自动售货机;可以利用多媒体促销、各种文字、图像和动画、声音,让受众全方位感受广告诉求;依靠客户数据库能够提供全新的个人化服务等等。1.3主要研究内容本文主要是设计开发网上蛋糕店的购物车功能,首先系统基于B/S结构,采用JSP编程技术和SQL2005数据库,运用MyEclipse开发工具等进行开发;然后购物车模块进行需求分析,指出了需要解决的问题,需要实现的功能,如会员登陆及身份验证,包括用户注册、验证注册信息、会员登陆时的身份验证等;在线选购商品,包括浏览、查找、购买、购物车的管理、查看已经提交的订单信息等;,详细介绍了数据库的设计,编码的实施;接着是系统测试,通过测试发现了系统的一些问题,排除了的错误,发现了一些不足等;最后是对本次设计制作的小结,总结了设计过程中遇到的问题和收获。2开发环境与相关技术本系统是采用JSP编程技术和SQL2005数据库,在WindowsXP操作系统环境下,采用Myeclipse开发工具以及SSH2框架进行设计与开发完成的基于B/S结构的学生意见管理系统。2.1JSP技术2.1.1JAVA简介.Java语言诞生于20世纪90年代的初期,最初是以智能家电的芯片语言出现的。但是很快,人们发现了它有更广阔的用武之地,由于它适用于Internet环境,引起计算机界的广泛关注,迅速发展成计算机网络编程语言。Java语言备受推崇,因其确实可称得上是新一代编程语言,具有众多优点,它简单、面向对象、可移植、与硬件无关、系统强健安全、具有很高的性能,并提供了分布性、多线程、动态性的支持。2.1.2JSP简介JSP(JavaServerPages)是由Sun公司在java语言上开发出来的一种动态网页制作技术,JSP规范是Web服务器、应用服务器、交易系统、以及开发工具供应商间广泛合作的结果,使您可以将网页中的动态部分和静态的HTML相分离。⑴将内容的生成和显示进行分离使用JSP技术,Web页面开发人员可以使用HTML或者XML标识来设计和格式化最终页面。使用JSP标识或者小脚本来生成页面上的动态内容。生成内容的逻辑被封装在标识和JavaBeans组件中,并且捆绑在小脚本中,所有的脚本在服务器端运行。⑵强调可重用的组件绝大多数JSP页面信赖于可重用的、跨平台的组件(JavaBeans或者EnterpriseJavaBeansTM组件)来执行应用程序所要求的更为复杂的处理。开发人员能够共享和交换执行普通操作的组件,井使得这些组件为更多的使用者或者客户团体所使用[6]。⑶采用标识简化页面开发Web页面开发人员不会都是熟悉脚本语言的编程人员。JSP技术封装了许多功能,这些功能是在生成与JSP相关的XML标识的动态内容时所需要的。标准的JSP标识能够访问和实例化JavaBeans组件、设置或者检索组件属性、下载Applet,以及执行用其他方法更难于编码和耗时的功能。⑷健壮性与安全性由于JSP页面的内置脚本语言是基于Java编程语言的,且都被编译为JavaServlet,它就具有Java技术的所有好处,包括健壮的存储管理和安全性[7]。⑸良好的移植性作为Java平台的一部分,JSP拥有Java编程语言“一次编写,各处运行”的特点。随着越来越多的供应商将JSP支持添加到他们的产品中,可以使用自己所选择的服务器和工具,而且更改工具或服务器并不影响当前的使用。⑹企业级的扩展性和性能当与Java2平台,企业版(J2EE)和EnterpriseJavaBeans技术整合时,JSP页面将提供企业级的扩展性和性能,这对于虚拟企业中部署基于Web的应用是必需的。2.1.3SSH2框架介绍SSH2=Struts2+Spring+Hibernate是J2EE的最新流行框架。Spring是一个开源框架,它由RodJohnson创建。它是为了解决企业应用开发的复杂性而创建的。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。Struts2框架是以WebWork基础上发展起来的。从某种程度上来讲,Struts2没有继承Struts1的血统,而是继承WebWork的血统。或者说,WebWork衍生出了Struts2,因为Struts2是WebWork的升级,而不是一个全新的框架,因此稳定性、性能等各方面都有很好的保证:而且吸收了Struts1和WebWork两者的优势,因此,是一个非常值得期待的框架。Spting表示层Spting表示层Struts2业务层Struts2业务层HHibernate数据层数据层2.2Myeclipse介绍MyEclipse企业级工作平台(MyEclipseEnterpriseWorkbench,简称MyEclipse)是对EclipseIDE的扩展,利用它我们可以在数据库和JavaEE的开发、发布以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的JavaEE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML,Struts,JSP,CSS,Javascript,Spring,SQL,Hibernate。MyEclipse是一个十分优秀的用于开发Java,J2EE的Eclipse插件集合,MyEclipse的功能非常强大,支持也十分广泛,尤其是对各种开源产品的支持十分不错。MyEclipse目前支持JavaServlet,AJAX,JSP,JSF,Struts,Spring,Hibernate,EJB3,JDBC数据库链接工具等多项功能。可以说MyEclipse几乎囊括了目前所有主流开源产品的专属eclipse开发工具。2.3SQL2005数据库利用JSP结合数据库来开发网站使得网站更具有交互性,因为没有数据库支持的静态网页已经无法满足人们对于网络的需求了。数据库在各行各业中是必不可少的,下面就来介绍数据库方面的相关知识。SQL是英文StructuredQueryLanguage的缩写,意思为结构化查询语言。它的主要功能就是同各种数据库建立联系,进行沟通。按照ANSI(美国国家标准协会)的规定,SQL被作为关系型数据库管理系统的标准语言。SQL语句可以用来各种各样的操作,例如更新数据库中的数据,从数据库中提取数据等。MicrosoftSQLServer(基于结构化查询语言的数据库服务器)是基于客户/服务器结构的数据库管理系统。用户通过使用客户系统从服务器检索信息并进行本地操作,服务器关注数据库进程,而客户则关注信息的表示。此数据库管理系统能够存储大容量的数据,能够保证数据的安全性、维护数据的完整性,还具有自动高效的机制以及运行分布式处理等。2.4Browser/Server(B/S)结构B/S(Browser/Server)结构即浏览器和服务器结构。它是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。在这种结构下,用户工作界面是通过WWW浏览器来实现,极少部分事务逻辑在前端(Browser)实现,但是主要事务逻辑在服务器端(Server)实现,形成所谓三层3-tier结构。这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本(TCO)。以目前的技术看,局域网建立B/S结构的网络应用,并通过Internet/Intranet模式下数据库应用,相对易于把握、成本也是较低的。它是一次性到位的开发,能实现不同的人员,从不同的地点,以不同的接入方式(比如LAN,WAN,Internet等)访问和操作共同的数据库;它能有效地保护数据平台和管理访问权限,服务器数据库也很安全。特别是在JAVA这样的跨平台语言出现之后,B/S架构管理软件更是方便、快捷、高效。3系统需求分析及设计3.1需求分析一个典型的网上蛋糕店的购物车模块主要功能有:会员登陆及身份验证,包括用户注册、验证注册信息、会员登陆时的身份验证等;在线选购商品,包括浏览、查找、购买、购物车的管理、查看已经提交的订单信息等3.2系统设计根据前面章节需求分析的情况,结合本系统所要实现的功能,具体设计方案如下。3.2.1系统功能通过对需求的分析,一个网上蛋糕店的购物车应包括以下的主要功能:1)会员登陆及身份验证,包括用户注册、验证注册信息、会员登陆时的身份验证等;2)在线选购,包括浏览、查找、购买、购物车的管理、查看已经提交的订单信息等;3.2.2系统结构网网上蛋糕店用户注册会员登录在线浏览商品查找查看订单商品购买图3-1系统功能模块图用户通过注册以后成为合法登录用户。登录以后可以查看修改个人信息在线购买商品查看定单状态。3.2.3系统流程图图3-2系统流程图3.3数据库设计3.3.1数据库需求分析(1)商品数据的准备。首先要搜集分销商的所有商品数据。这些商品数据可以分为三类:纸面记录、电子数据(XML、Access、Excel等文件)、网上数据。无论对于哪一种数据,都要对其进行检查,修正有问题的数据,删除重复和过期的记录。在检查的同时,还要对这些数据进行分析,为制定商品目录方案做准备。(2)商品数据方案的制定。商品数据方案制定的目的在于:①对商品进行科学、灵活地分类,方便客户迅速从少则几万,多则几十万甚至上百万种商品中找出所需商品。②使系统支持强大、方便、快捷的查询功能,实现模糊查询和智能查询。③高效的商品数据方案能提高数据库性能,提高网页浏览速度。(3)客户信息表的制定。客户信息表内保存着在线商店中所有客户个人所拥有的个人信息和资料,是在线商店的后台管理人员进行商品销售的设计规划和进行决策的依据和参考。客户ID则是客户个人身份证明的依据。3.3.2数据库的逻辑结构分析对于系统用户信息数据库,有以下数据项和数据结构:用户信息:用户ID(自动编号)、用户姓名、电话号码、Email、地址、邮编。对于系统的商品信息系统,有以下数据项和数据结构:商品记录信息:商品的ID(自动编号)、商品名称、商品单价、商品数量、商品所属类别。而网上蛋糕店就是基于以上各个数据库的连接和综合,把各个独立的数据库通过内在的关联性统一到一个主页面里,从而方便客户的访问和购买,实现了一对一的交互。3.3.3数据库物理表结构设计本系统需要建立8个数据表(1)t_admin表:记录管理员基本信息,如表1所示。表1管理员表(t_admin)序号列名数据类型长度是否必填1userIdIntNotnull2userNamevarchar50Null3userPwvarchar50Null(2)t_catelog表:记录购物车信息,如表2所示。表2购物车表(t_catelog)序号列名数据类型长度是否必填1catelog_idIntNotnull2catelog_namevarcharNull3catelog_miaoshuvarcharNull4catelog_delvarcharNull(3)t_gonggao表:记录图蛋糕信息,如表3所示。表3图蛋糕表(t_gonggao)序号列名数据类型长度是否必填1gonggao_idIntNotnull2gonggao_titlevarchar50Null3gonggao_contentvarchar50Null4gonggao_datavarchar500Null5gonggao_fabuzhevarchar500Null6gonggao_delintNull(4)t_goods表:记录评论信息,如表4所示。表4评论表(t_goods)序号列名数据类型长度是否必填1goods_idInt11Notnull2goods_namevarchar50Null3goods_miaoshudoubleNull4goods_picdoubleNotnull5goods_yansevarchar40Null6goods_shichangjiavarchar100Nullgoods_tejiavarchar50Nullgoods_isnottejiavarchar50Nullgoods_isnottuijianvarchar50Nullgoods_catelog_idvarchar50Nullgoods_kucunvarchar50Nullgoods_delvarchar50Null(5)t_liuyan表:记录公告信息,如表5所示。表5公告表(t_liuyan)序号列名数据类型长度是否必填1liuyan_idIntNotnull2liuyan_titlevarchar50Null3liuyan_contentvarchar50Null4tliuyan_datedatetime50Nullliuyan_uservarchar50Nullhfvarchar50Null(6)t_orderItem表:记录订单详细信息,如表6所示。表6订单详细表(t_orderItem)序号列名数据类型长度是否必填1orderItem_idIntNotnull2order_idIntNull3goods_idIntNull4goods_quantityIntNull5pjnvarchar50Null(7)t_order表:记录订单信息,如表7所示。表7订单表(t_order)序号列名数据类型长度是否必填1order_idIntNotnull2order_bianhaoIntNull3order_datenvarchar50Null4order_zhuangtainvarchar50Null5order_jinenvarchar50Null6order_songhuodizhidatetime50Null7order_fukuangfangshinvarchar50Null8order_user_idnvarchar50Null(8)t_user表:记录用户信息,如表8所示。表8用户表(t_user)序号列名数据类型长度是否必填1user_idIntNotnull2user_namevarchar50Null3user_pwvarchar50Null4user_typevarchar50Null5user_realnamevarchar50Null6user_addressvarchar50Null6user_sexvarchar50Null6user_telvarchar50Null6user_emailvarchar50Null6user_qqvarchar50Null6user_manvarchar50Null6user_agevarchar50Null6user_birthdayvarchar50Null6user_xuelivarchar50Null6user_delvarchar50Null6zyvarchar50Null4系统实现4.1系统首页图4-1网上蛋糕店首页此功能模块由index1.jsp来实现,并提供了本系统绝大多数功能的入口,例如:会员注册、登录,管理员登录,查询等。会员登录主要是将用户输入的用户名和密码与数据库中my_users表中的已有的信息进行比对,如果完全一样,则是合法用户,可以成功登录,如果不一样,则登录失败。查询功能是通过输入商品名称关键字和下拉菜单中商品类别进行查询提交查询信息以后由find.Jsp显示查询结果。此功能未注册用户也可用,但是所查询商品不提供购买功能。4.2具体模块实现4.2.1图蛋糕浏览此功能模块由buy.jsp来实现。当用户进入购物中心以后,系统会显示所有的商品基本信息。但在商品数量过于庞大以后则不容易查看所需商品,所以系统提供了按类别查询的功能。下拉菜单中有商品的所有类别,用户根据类别以post方法传递表单。再在该页设置接收字段:Stringbookclass=codeToString(request.getParameter("bookclass"));通过关键字bookclass对数据库商品表my_goods进行查询:SELECT*FROMmy_goodswheregoodsclass='"+bookclass.trim()+"'这样就比较清楚的可以获得各类别的商品的信息。有了自己需要购物的商品,则可以通过点击购买将商品添加到购物车,详细信息可以查看商品的详细信息。详细信息页面xiangxi.jsp通过商品ID查询数据库,除了显示以上信息以外,还显示商品数量,备注等信息。界面如下图:图4-2商品信息为了不让庞大的数据让人看得眼花缭乱,在商品的实现时是分页显示,每页显示5项记录。分页代码如下:intdipage=1;//当前页码数默认为1Stringpages=request.getParameter("dipage");if(pages==null){pages="1";…………intcountRecord=0;//记录条数intcountPageRecord=0;//每页记录条数intcountPage=0;//总页数countPageRecord=5;//每页5条记录,要设置每页记录条数就更改这个变量的值…………countRecord=rs.getRow();//得到总页数if(countRecord/countPageRecord==0)countPage=countRecord/countPageRecord;elsecountPage=countRecord/countPageRecord+1;//把记录指针移至当前页第一条记录之前if((di1)*countPageRecord==0)rs.beforeFirst();…………4.2.2购物车此功能模块由:buybook2.Jsp,addgoods.Jsp,minusGoods.Jsp,deleteGoods,buy.java来实现。当用户选定某样商品并在登录后的情况下,可以点击购买将商品添加到购物车。在购物车中可以设置购买商品的数量。设置好数量以后按提交按钮根据商品唯一ID将商品添加到购物车。在addgoods.jsp中通过获取商品ID:Stringid=request.getParameter("id");IntGoods_Count=Integer.parseInt(request.getParameter("book_count"))以及buycar.Java中的函数publicvoidaddGoods(StringGoods_id,intGoods_Count)来实现。提交购物以后,可以选择查看购物车,也可以无限制的选择继续购买。选择继续购买以后跳转到商品购买页面buy.Jsp选择查看购物车则跳转到buybook2.Jsp。在跳转到buybook2.Jsp页面以后,如果用户不满意该选择可以删除或者更改所选商品数量,更改商品数量是通过buycar.Java和minusGoods.Jsp一起来实现。关键代码:buycar.Java:publicbooleanminusGoods(StringGoods_id,intGoods_Count){……deleteGoods(Goods_id);……}minusgoods.Jsp:intGoods_Count=Integer.parseInt(request.getParameter("book_count"))buycar.minusGoods(id,Goods_Count);用户在确定需要购买以后,就可以提交购物车,完成购物功能。图4-4购物车购物车中商品总价格totalprice是通过商品单价和数量进行结算。代码如下:doubletotalprice=0;totalprice=totalprice+rs.getFloat("price")*((Integer)list.get(goods)).intValue();4.2.3查看订单本模块划分为2个部分,一是用户对定单的管理,二是管理员对定单的管理。用户对定单的管理通过userjiemian.Jsp实现查看自己的定单状态是否付款以及删除自己的定单。查看自己的定单是通过用户名访问定单表以获取自身定单,删除定单是通过定单ID删除掉选定的定单:ahref='delcord.jsp?id="+rs.getString("indentno")+"'用户也可以通过查询指定的定单ID来查询想要知道的定单的信息。通过sqlString="deletefrommy_indentlistwhereid="+ID;语句删除以前的定单。管理员管理定单除了拥有用户管理定单的功能以外,还可以通过定单ID更新定单的状态,修改定单的付款状态以及发货状态。修改定单页面change.jsp.通过获取定单ID,用update语句更新定单信息。定单管理界面如下图:图4-5查看当前订单定单查询代码如下:SELECT*FROMmy_indentlistwhereusername='"+username+"'4.2.4用户注册此功能模块由reg.Jsp,log.Jsp,changemima.Jsp,psxinxi.jsp来实现。分别别实现用户的注册以及密码的修改。Psxinxi查看自己的基本注册情况。如下图:图4-6用户注册用户点击“个人信息”以后系统就会查询数据库my_users表显示当前用户信息。由于整个用户页面都用session变量控制访问权限,所以在进行查询的时候就根据seesion变量中的username对数据库进行查询,查询代码如下:rs=sql.executeQuery("SELECT*FROMmy_userswhereusernamelike'%"+username.trim()+"%'");reg.Jsp用来注册用户的基本信息,包括用户名,用户密码,性别,电话,地址,邮编,Email等基本信息。为了系统用户名和密码等的合法化,系统通过functionon_submit()函数来控制输入,如果为空则提示用户名为空返回重新输入。示例代码如下:if(form1.username.value==""){ alert("用户名不能为空"); ……… }同时为了保证输入合法化如Email这样的信息,系统通过判断语句来确定输入是否合法,示例代码:if(form1.email.value.length!=0) {for(i=0;i<form1.email.value.length;i++) if(form1.email.value.charAt(i)=="@") break; if(i==form1.email.value.length) {alert("非法EMAIL地址"); ……… } }在通过基本信息输入以后,系统将信息传递给log.Jsp进行处理,log.Jsp首先用字符串接收函数:Stringusername=codeToString(request.getParameter("username"));来接收reg.Jsp提交的信息。然后通过数据库执行SQL语句insert将数据写入数据库中,如果注册成功则跳转到首页,如果注册不成功,则通过:out.print("注册不成功,请检查必添项目");提示输入不成功。changemima.Jsp用来修改用户的密码信息,用户在登录以后点击修改密码的链接可以对密码进行修改。在输入两次密码时需要用到两次输入密码正确与否的判断:if(form1.passwd.value!=form1.passconfirm.value){ alert("确认密码不相符!");判断合法以后,就可以访问数据库通过update语句来更新用户密码信息。4.2.5会员登录此功能通过<%@includefile="end.htm"%>来实现,避免简单代码的重复编写,也达到美观实用的效果。图4-7会员登录5系统测试5.1前台测试完成了系统主要模块的开发后,系统需要进行必要的运行测试,以检验系统的正确性,以下将按照用户购买商品的流程和管理员对主要信息的管理来测试系统。首先来到前台用户的登陆界面,先注册一个用户名为wang的新用户,填写相关资料后,点击确定后,注册成功跳转到主页面,在测试中发现不同用户可以注册相同的ID,显然这在实际应用中是不现实的,后来在代码中添加查询比较代码,通过比较注册用户名和数据库中的用户名来判断该用户名是否有效来解决这个问题。注册成功以后回到主页登录,进入用户界面。点击商品查询以及购物等页面基本正常,但是在测试过程中发现了非常严重的问题,有的页面本来应该在登录以后才能访问,比如查看自己定单以及购买商品等注册登录用户的页面。而在不用登录直接在IP地址栏输入地址也可直接访问。这显然是不现实的。于是运用控制变量session来解决了这个问题,添加如下代码:登录页面添加的代码:session.setAttribute("username",codeToString(username));访问控制页面添加的代码:Stringusername=(String)session.getAttribute("username");if(username==null||username.equals("")){ response.sendRedirect("error.htm");以此来解决访问控制的问题,添加代码以后如果直接输入地址则会跳转到error.Htm页面提示没有登录,要求返回登录页面登录以后访问。5.2后台测试当点击管理员登录按钮时,就来到管理员管理登陆页面,当我们不输入用户名而直接点击提交时,系统会提示请输入用户名错误。这个在前台用户登陆中也同样设置了相应的验证。输入正确的用户名和密码后,便可以进入系统可以进行管理了,首先我们测试添加新商品,正确填入商品信息并提交后,系统会提示添加成功,通过打商品查看的页面可以查看到,因此证明添加成功。对商品的删除更为简便,只要在选择商品类别和商品型号后,只要点击“删除”就能够成功实现操作。对于用户管理,管理员查看当前所有用户的相关信息,并且能够删除带有不良企图的非法注册用户的ID,操作起来简便、快捷。在测试的过程中同样发现和用户模块相同的致命性错误,就是可以直接通过地址栏而不需要验证就可以具备管理员权限。这是一个
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 家长课堂课件安全问题
- 2026年汽车事故处理合同协议
- 2026年农业保险合同终止协议
- 2026年婚内财产协议解除书合同
- 2026年机场广告牌位投放合同范本
- 空运代理合同2026年保险索赔协议
- 2026年旅游Agency合作合同
- 《信息技术基础(上册)》课件 模块四课题三
- 个人林地承包合同
- 塔吊司机安全教育培训课件
- 康复治疗理疗
- 中国法制史试题题库(附答案)
- 医院保洁人员院感培训
- (高清版)DB44∕T 1031-2012 《制浆废液中甲醇含量的测定 顶空气相色谱法》
- 鹤颜堂中医苏子老师课件
- 冷板液冷标准化及技术优化白皮书
- DB13∕T 5606-2022 河湖生态清淤工程技术规程
- 人工智能在艺术史研究中的应用与创新-洞察及研究
- 备战2025年深圳中考物理《光学实验》含答案解析
- 博图考试题及答案
- 自由教练合同协议
评论
0/150
提交评论