基于JSP的网上购物系统的设计与实现—毕业设计论文_第1页
基于JSP的网上购物系统的设计与实现—毕业设计论文_第2页
基于JSP的网上购物系统的设计与实现—毕业设计论文_第3页
基于JSP的网上购物系统的设计与实现—毕业设计论文_第4页
基于JSP的网上购物系统的设计与实现—毕业设计论文_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

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

文档简介

1、毕毕 业业 设设 计计( 论论 文文)基于基于 jspjsp 的网上购物系统的设计与实现的网上购物系统的设计与实现论文作者姓名:论文作者姓名:申请学位专业:申请学位专业:申请学位类别:申请学位类别:指指导导教教师师姓姓名名(职职称称):论文提交日期:论文提交日期:基于基于 jspjsp 的网上购物系统的设计与实现的网上购物系统的设计与实现摘摘 要要近年来,随着 internet 的迅速崛起,互联网已日益成为收集提供信息的最佳渠道并逐步进入传统的流通领域。于是电子商务开始流行起来,越来越多的商家在网上建起在线商店,向消费者展示出一种新颖的购物理念,本购物系统基于 b/s 模式,实现了当前购物网站

2、的基本功能。本论文就此购物系统进行了详细全面的论述。系统中用户的主要功能有:用户登录、注册、商品浏览、商品购买、订单管理以及个人信息管理。管理员的主要功能有:商品管理、用户管理以及订单信息管理。全文共分为五个部分,第一部分是介绍相关理论知识;第二部分介绍系统总体设计;第三部分介绍系统具体实现过程;第四部分是测试工作。最后是结论。关键词关键词:电子商务;购物系统;jsp;数据库the design and realization of shopping online system based on jspabstractin recent years, internet has become t

3、he best channel for collection of information and entered the traditional field of circulation with the rapid rising. e-commerce has been popular, and more and more online stores are established on the internet, displaying a new idea of shopping. this shopping system based on b/s mode, realize the b

4、ase function of the current shopping site.this paper introduces the shopping system in detail. the main functions of people in system include login, registration, view and purchasing of goods, management of the orders and customers. the main functions of administrator include management of the goods

5、, users and orders.there are five sections in this paper, the first is introduction of related theoretical knowledge; the second is introduction of the design of system; the third is introduction of the process of realization; the forth is test; and the conclusion in the end.key words: e-commerce; s

6、hopping system; jsp; database目目 录录论文总页数:22 页1.引言.11.1网上购物系统的发展.11.2网上购物的现状.11.3网上购物系统的构建.12.相关理论基础.22.1jsp 技术 .22.1.1jsp 的简介 .22.1.2jsp 的优点 .22.1.3jsp 的工作原理 .22.2数据库及相关技术简介.32.2.1sql 语言简介 .32.2.2microsoft sql server 简介.32.2.3java 技术简介 .42.2.4tomcat 简介 .43.系统总体设计.43.1系统设计.43.1.1系统功能分析.43.1.2系统体系结构.53

7、.1.3系统流程.63.2数据库设计.63.2.1数据库需求分析.63.2.2数据库的逻辑结构分析.73.2.3数据库表的设计.73.2.4数据库的连接.84.具体设计分析.94.1系统首页.94.2具体模块实现.94.2.1商品查看.94.2.2购物车.114.2.3订单管理.124.2.4用户个人信息管理.134.2.5用户控件.164.2.6商品管理.164.2.7管理用户.175.系统测试.185.1前台测试.185.2后台测试.19结 论.20参考文献.20致 谢.21声 明.22第 1 页 共 22 页1.1. 引言引言1.11.1 网上购物系统的发展网上购物系统的发展近年来,随着

8、 internet 的迅速崛起,互联网已日益成为收集提供信息的最佳渠道并逐步进入传统的流通领域。于是电子商务开始流行起来,越来越多的商家在网上建起在线商店,向消费者展示出一种新颖的购物理念。网上订购系统作为 b2b,b2c,c2c 电子商务的前端商务平台,在其商务活动全过程中起着举足轻重的作用。本文旨在讨论如何建设 b2c 的网上购物系统。网上购物是一种具有交互功能的商业信息系统。它向用户提供静态和动态两类信息资源。所谓静态信息是指那些比经常变动或更新的资源,如公司简介、管理规范和公司制度等等;动态信息是指随时变化的信息,如商品报价,会议安排和培训信息等。网上购物系统具有强大的交互功能,可使商

9、家和用户方便的传递信息,完成电子贸易或 edi 交易。这种全新的交易方式实现了公司间文档与资金的无纸化交换。1.21.2 网上购物的现状网上购物的现状在美、日等信息化程度较高的国家和地区,网络商店发展速度迅猛,美国的世界级超一流的零售商,如沃尔玛凯玛特,家庭仓储、科罗格、j.c 培尼等纷纷挤身于网络经商的行列。调查表明:美国的家庭已越来越习惯于在家中从网上购物。在我国,网上购物从无到有也不过短短几年时间。我国第一家网上购物发生在 1996 年,燕莎友谊商场首次通过网上商城售出一个景泰蓝,虽然货款的支付不是在网上进行的,但这毕竟为我国零售业奏出了网上购物的先声。根据cnnic 的统计结果,截止

10、2006 中国有互联网用户 6962 万人,而又有 40.7%以上的网民在过去的一年里有过网上购物经历,并且这一数字还在以 17%左右的速度增长,这说明在中国发展网上购物具有良好的群众基础,网上购物方式日趋被大家所接受。1.31.3 网上购物系统的构建网上购物系统的构建现在流行的网上购物系统不仅要有漂亮的网页,更要有严谨的规划。每一个细小的环节都很重要。这样才能使得在电子交易时避免不必要错误发生。我将使用 html、jsp 等技术来编辑网页,传统的管理信息系统的信息获取方法是由专业文字录入人员将信息输入到管理系统的数据库中,这种方法在数据量不大时有很多的应用场合。当数据量比较大,并且有较强的专

11、业性时,录入的费用和出错的可能性都相应上升。本系统通过运用 jsp 技术把数据库和动态网页连接,得出错和成本都相应的降低。本文在实际应用开发中解决方案是建立网站, 以及自己的数据库,使得所第 2 页 共 22 页需商品信息可以及时的保存、更新,以更好的及时了解商品买卖的情况。2.2. 相关理论基础相关理论基础2.12.1jspjsp 技术技术.4jspjsp 的简介的简介jsp 是 java server pages 的缩写,由 sun 公司倡导,于 1999 年推出,正日益成为开发 web 动态网站的重要而快速有效的开发技术。jsp 充分利用了 java 技术的优势,具有极强

12、的扩展能力和良好的收缩性,与开发平台无关,这源于 java 的“一次编写,到处运行”的特点,同时也是一项安全的技术。它具有良好的动态页面与静态页面分离的能力,编译后运行,因而正逐渐成为 internet 开发的主流技术。.4jspjsp 的优点的优点(1)对于用户界面的更新,其实就是由web server进行的,所以给人的感觉更新很快。 (2)所有的应用都是基于服务器的,所以它们可以时刻保持最新版本。 (3)客户端的接口不是很繁琐,对于各种应用易于部署、维护和修改。.4jspjsp 的工作原理的工作原理在一个jsp文件第一次被请求时,jsp引擎把该jsp文件转换

13、成为一个servlet。而这个引擎本身也是一个servlet,在jswdk或weblogic中,它就是jspservlet。 jsp引擎先把该jsp文件转换成一个java源文件,在转换时如果发现jsp文件有任何语法错误,转换过程将中断,并向服务端和客户端输出出错信息;如果转换成功, jsp引擎用javac把该java源文件编译成相应的class文件。然后创建一个该servlet的实例,该servlet的jspinit()方法被执行,jspinit()方法在servlet的生命周期中只被执行一次。然后jspservice()方法被调用来处理客户端的请求。对每一个请求,jsp引擎创建一个新的线程来

14、处理该请求。如果有servlet从内存中移去。当这种情况发生时jspdestroy()方法首先被调用, 然后servlet实例便被标记加入垃圾收集处理。 jspinit()及j多个客户端同时请求该jsp文件,则jsp引擎会创建多个线程。每个客户端请求对应一个线程。以多线程方式执行可大大降低对系统的资源需求,提高系统的并发量及响应时间.但应该注意多线程的编程限制,由于该servlet始终驻于内存,所以响应是非常快的。 如果.jsp文件被修改了,服务器将根据设置决定是否对该文件重新编译,如果需要重新编译,则将编译结果取代内存中的servlet,并继续上述处理过程。 虽然jsp效率很高,但在第一次调

15、用时由于需要转换和编译而有一些轻微的延第 3 页 共 22 页迟。 此外,如果在任何时候如果由于系统资源不足的原因,jsp引擎将以某种不确定的方式将spdestory()格式如下:可在jspinit()中进行一些初始化工作,如建立与数据库的连接,或建立网络连接,从配置文件中取一些参数等,在jspdestory()中释放相应的资源。 2.22.2 数据库及相关技术简介数据库及相关技术简介.4 sqlsql 语言简介语言简介sql 是英文 structured query language 的缩写,意思为结构化查询语言。 sql 语言的主要功能就是同各种数据库建立联系,进行沟通。按

16、照ansi(美国国家标准协会)的规定,sql 被作为关系型数据库管理系统的标准语言。sql 语句可以用来执行各种各样的操作,例如更新数据库中的数据,从数据库中提取数据等。 目前,绝大多数流行的关系型数据库管理系统,如 oracle、 sybase、 microsoft sql server、 access 等都采用了 sql 语言标准。虽然很多数据库都对 sql 语句进行了再开发和扩展,但是包括 select、 insert、 update、 delete、 create 以及 drop 在内的标准的 sql 命令仍然可以被用来完成几乎所有的数据库操作。在众多的 sql 命令中,select

17、语句应该算是使用最频繁的。select 语句主要被用来对数据库进行查询并返回符合用户查询标准的结果数据。select 语句中位于 select 关键词之后的列名用来决定哪些列将作为查询结果返回。用户可以按照自己的需要选择任意列,还可以使用通配符“*”来设定返回表格中的所有列。select 语句中位于 from 关键词之后的表格名称用来决定将要进行查询操作的目标表格。除了上面所提到的运算符外,like 运算符在 where 条件从句中也非常重要。like 运算符的功能非常强大,通过使用 like 运算符可以设定只选择与用户规定格式相同的记录。.4microsoftmicrosof

18、t sqlsql serverserver 简介简介sql server 2000 是建立在 sql server 7.0 在可伸缩性、可用性、可管理性和数据仓库成功的基础上,并且引入了针对电子商务的重要新功能。在高性能和企业级可伸缩性领域,sql server 2000 设计成利用windows2000 对更多处理器、更大的系统内存的支持,最终达到支持 64 位硬件平台。在不断提升可用性的努力过程中,sql server 2000 采用 windows 2000 四路群集,提供了大大改进的群集支持。sql server 7.0 已经在可管理性和易第 4 页 共 22 页用性方面在行业内领先,

19、sql server 2000 通过与 windows 2000 活动目录紧密结合进一步改进了这些功能。而且,sql server 2000 还包含对现有管理工具和实用程序的重大改进,并引入更具自我调节和自我管理的引擎功能。sql server 2000 按照设计可以为部署和维护强大的、易于管理、支持商务活动的 web 站点提供最好的性能,这些站点可以从事商家和商家之间或商家与客户之间的交易。在寻求一个支持您的电子商务解决方案的数据库时,需要考虑的项目包括:可用性、性能、可管理性和价格。.4 javajava 技术简介技术简介jsp 程序开发就离不开 java 语言,这里简单介

20、绍下 java 语言的特点:java 是一种跨平台,适合于分布式计算环境的面向对象编程语言。具体来说,它具有如下特性:(1)简单性、面向对象。(2)分布式、解释型。(3)可靠、安全、平台无关。(4)可移植、高性能、多线程、动态性等。.4 tomcattomcat 简介简介tomcat 是一个免费的开源的 serlvet 容器,它是 apache 基金会的 jakarta项目中的一个核心项目,由 apache,sun 和其它一些公司及个人共同开发而成。由于有了 sun 的参与和支持,最新的 servlet 和 jsp 规范总能在 tomcat 中得到体现。由于 java 的跨平台

21、特性,基于 java 的 tomcat 也具有跨平台性。本系统采用 tomcat 作为服务器,在 tomcat5.0 环境下对系统进行测试。3.3. 系统总体设计系统总体设计3.13.1 系统设计系统设计.1 系统功能分析系统功能分析一个典型的 b2c 电子商务网上订购系统主要功能有:(1)为客户提供 24 小时方便快捷的在线订购服务。(2)商品信息的维护与管理,包括价格的调整、现有商品信息的修改、新商品信息的加入、过时商品信息的删除等。(3)高效的商品数据方案,对商品信息进行科学、灵活地分类、存储,方便客户迅速从少则几万,多则几十万甚至上百万种商品中找出自己所需商品。(4)强

22、大、方便、快捷的查询功能。提供关键字查询(如:查找所有商品)。第 5 页 共 22 页(5)订单号模块所谓订单号模块,就是客户购买完商品后,系统自动分配一个购物号码给客户,以方便客户随时查询账单处理情况。了解现在货物的状态。(6)订单管理。为分销商的 epr 系统提供数据接口。管理员可以查看历史记录、订单状态,并且能够在最短的时间内通知用户。.2 系统体系结构系统体系结构购物系统用户注册用户登录用户管理商品管理订单管理购物车图 3-1 系统功能模块图根据体系结构可将系统分为用户和管理两个角色:(1)用户:用户通过注册以后成为合法登录用户。登录以后可以查看修改个人信息在线购买商品

23、查看定单状态。(2)管理员:系统管理员可以管理整个系统,包括查看用户定单并修改相应信息查看用户信息,对不信任用户也可以对他进行删除。查看商品信息,可以删除不需要的商品。添加商品信息。第 6 页 共 22 页.3 系统流程系统流程开始是否登录是否管理员浏览普通页面管理页面用户页面管理用户管理商品管理定单个人信息管理购物车管理在线购物nyyn退出系统图 3-2 系统流程图3.23.2 数据库设计数据库设计.1 数据库需求分析数据库需求分析(1)商品数据的准备。首先要搜集分销商的所有商品数据。这些商品数据可以分为三类:纸面记录、电子数据(xml、access、exce

24、l 等文件)、网上数据。无论对于哪一种数据,都要对其进行检查,修正有问题的数据,删除重复和过期的记录。在检查的同时,还要对这些数据进行分析,为制定商品目录方案做准备。(2)商品数据方案的制定。商品数据方案制定的目的在于:对商品进行科学、灵活地分类,方便客户迅速从少则几万,多则几十万甚至上百万种商品中找出所需商品。使系统支持强大、方便、快捷的查询功能,实现模糊查询和智能查询。高效的商品数据方案能提高数据库性能,提高网页浏览速度。(3)客户信息表的制定。客户信息表内保存着在线商店中所有客户个人所拥有的个人信息和资料,是在线商店的后台管理人员进行商品销售的设计规划和进行决策的依据和参考。客户 id

25、则是客户个人身份证明的依据。第 7 页 共 22 页.2 数据库的逻辑结构分析数据库的逻辑结构分析对于系统用户信息数据库,有以下数据项和数据结构:用户信息:用户 id(自动编号) 、用户姓名、电话号码、email、地址、邮编。对于系统的商品信息系统,有以下数据项和数据结构:商品记录信息:商品的 id(自动编号) 、商品名称、商品单价、商品数量、商品所属类别。而网上购物系统就是基于以上各个数据库的连接和综合,把各个独立的数据库通过内在的关联性统一到一个主页面里,从而方便客户的访问和购买,实现了一对一的交互。用户在购买商品前可以先看看商品目录,看看有没自己需要的商品,在商品的目录里

26、有各个商品的具体的介绍,比如说商品的名称,数量,价格等,用户在看好自己的商品后,在商品的搜索中,你可以选择你所需的商品,用户在选择自己的商品时,系统则连接到后台关于此商品信息的数据库中,找到适合客户需求的信息。客户将选购的商品放入系统所提供的购物篮里,此时顾客可以继续选购另外的商品,或者删除原先购买的商品,并可对商品进行名称和数量上的修改和添加。点击“继续购买” ,重复以上进行的购买活动。直到顾客满意。购物结束后,进行提交,点击“提交” ,完成购物。.3 数据库表的设计数据库表的设计分别建立以下的表以满足需要:本系统需要建立 4 个数据表,他们分别是:管理员表(my_goods

27、adminuser):存放管理员用户名,管理员密码信息。用户表(my_users):存放用户编号,用户名,用户密码,真实姓名,性别,电话,email 等信息。商品信息表(my_goods):存放商品编号,商品名,销售员,类别,提供商,价格以及数量等信息。定单表(my_indentlist):存放定单编号,用户,总价,是否付款,是否发货,用户备注等信息。各表具体信息见下图:表 3-1 my_goodsadminuser 表中字段字段名数据类型字段描述adminuser文本管理员用户名adminpass文本管理员密码第 8 页 共 22 页表 3-2 my_users 表中字段字段名数据类型字段描

28、述id数字用户主键username文本用户名passwd文本用户密码names文本真实姓名sex文本性别address文本地址phone文本电话post文本邮编email文本email 地址表 3-3 my_goods 表中字段字段名数据类型字段描述id数字商品编号goodsname文本名称goodsclass数字类别seller数字销售员provider文本提供商price数字价格amount文本数量content文本说明表 3-4 my_indentlist 表中字段字段名数据类型字段描述id数字组 idusername文本商品购买用户price文本定单价格ispayoff文本是否付款is

29、sales文本是否发货content文本备注.4 数据库的连接数据库的连接在本系统中,系统会频繁的访问数据库。本系统采用 jsp 的 jdbc-odbc 驱动程序。数据库的连接代码是通用的。代码如下:class.forname(com.microsoft.jdbc.sqlserver.sqlserverdriver);string url=jdbc:microsoft:sqlserver:/localhost:1433;databasename=biye;string struser = sa; string strpassword = 417929; connection c

30、on = drivermanager.getconnection(url, struser, strpassword);第 9 页 共 22 页 statement st = con.createstatement(resultset.type_scroll_sensitive,resultset.concur_read_only); 4.4. 具体设计分析具体设计分析4.14.1 系统首页系统首页图 4-1 网上购物系统首页此功能模块由 index1.jsp 来实现,并提供了本系统绝大多数功能的入口,例如:会员注册、登录,管理员登录,查询等。会员登录主要是将用户输入的用户名和密码与数据库中

31、my_users 表中的已有的信息进行比对,如果完全一样,则是合法用户,可以成功登录,如果不一样,则登录失败。查询功能是通过输入商品名称关键字和下拉菜单中商品类别进行查询提交查询信息以后由 find.jsp 显示查询结果。此功能未注册用户也可用,但是所查询商品不提供购买功能。4.24.2 具体模块实现具体模块实现.1 商品查看商品查看此功能模块由 buy.jsp 来实现。当用户进入购物中心以后,系统会显示所有的商品基本信息。但在商品数量过于庞大以后则不容易查看所需商品,所以系统提供了按类别查询的功能。下拉菜单中有商品的所有类别,用户根据类别以 post 方法传递表单。再在该页第

32、 10 页 共 22 页设置接收字段:string bookclass=codetostring(request.getparameter(bookclass);通过关键字 bookclass 对数据库商品表 my_goods 进行查询:select * from my_goods where goodsclass=+bookclass.trim()+这样就比较清楚的可以获得各类别的商品的信息。有了自己需要购物的商品,则可以通过点击购买将商品添加到购物车,详细信息可以查看商品的详细信息。详细信息页面 xiangxi.jsp 通过商品 id 查询数据库,除了显示以上信息以外,还显示商品数量,备注

33、等信息。界面如下图:图 4-2 商品信息为了不让庞大的数据让人看得眼花缭乱,在商品的实现时是分页显示,每页显示 5 项记录。分页代码如下:int dipage=1;/当前页码数默认为1string pages=request.getparameter(dipage);if(pages=null) pages=1;int countrecord=0;/记录条数 int countpagerecord=0;/每页记录条数 int countpage=0;/总页数 countpagerecord=5;/每页5条记录,要设置每页记录条数就更改这个变量的值countrecord=rs.getrow();

34、/得到总页数 if(countrecord/countpagerecord=0) countpage=countrecord/countpagerecord; else第 11 页 共 22 页 countpage=countrecord/countpagerecord+1;/把记录指针移至当前页第一条记录之前 if(dipage-1)*countpagerecord=0) rs.beforefirst();.2 购物车购物车此功能模块由:buybook2.jsp,addgoods.jsp,minusgoods.jsp,deletegoods,buy.java 来实现。当用户选

35、定某样商品并在登录后的情况下,可以点击购买将商品添加到购物车。在购物车中可以设置购买商品的数量。设置好数量以后按提交按钮根据商品唯一 id 将商品添加到购物车。在 addgoods.jsp 中通过获取商品 id:string id=request.getparameter(id);int goods_count=integer.parseint(request.getparameter(book_count)以及 buycar.java 中的函数public void addgoods(string goods_id,int goods_count)来实现。 提交购物以后,可以选择查看购物车,

36、也可以无限制的选择继续购买。选择继续购买以后跳转到商品购买页面 buy.jsp 选择查看购物车则跳转到buybook2.jsp。在跳转到 buybook2.jsp 页面以后,如果用户不满意该选择可以删除或者更改所选商品数量,更改商品数量是通过 buycar.java 和minusgoods.jsp 一起来实现。关键代码:buycar.java:public boolean minusgoods(string goods_id,int goods_count)deletegoods(goods_id);minusgoods.jsp:intgoods_count=integer.parseint(

37、request.getparameter(book_count)buycar.minusgoods(id,goods_count);第 12 页 共 22 页用户在确定需要购买以后,就可以提交购物车,完成购物功能。图 4-4 购物车购物车中商品总价格 totalprice 是通过商品单价和数量进行结算。代码如下:double totalprice=0;totalprice=totalprice+rs.getfloat(price)*(integer)list.get(goods).intvalue();.3 订单管理订单管理本模块划分为 2 个部分,一是用户对定单的管理,二是管

38、理员对定单的管理。用户对定单的管理通过 userjiemian.jsp 实现查看自己的定单状态是否付款以及删除自己的定单。查看自己的定单是通过用户名访问定单表以获取自身定单,删除定单是通过定单 id 删除掉选定的定单:a href=delcord.jsp?id=+rs.getstring(indentno)+用户也可以通过查询指定的定单id来查询想要知道的定单的信息。通过sqlstring=delete from my_indentlist where id=+id;语句删除以前的定单。管理员管理定单除了拥有用户管理定单的功能以外,还可以通过定单 id 更新定单的状态,修改定单的付款状态以及发

39、货状态。修改定单页面 change.jsp.第 13 页 共 22 页通过获取定单 id,用 update 语句更新定单信息。定单管理界面如下图:图 4-5 查看当前订单定单查询代码如下:select * from my_indentlist where username=+username+.4 用户个人信息管理用户个人信息管理此功能模块由 reg.jsp,log.jsp,changemima.jsp,psxinxi.jsp 来实现。分别别实现用户的注册以及密码的修改。psxinxi 查看自己的基本注册情况。如下图:第 14 页 共 22 页图 4-6 查看用户自己基本情况用

40、户点击“个人信息”以后系统就会查询数据库 my_users 表显示当前用户信息。由于整个用户页面都用 session 变量控制访问权限,所以在进行查询的时候就根据 seesion 变量中的 username 对数据库进行查询,查询代码如下:rs=sql.executequery(select * from my_users where username like %+username.trim()+%);reg.jsp 用来注册用户的基本信息,包括用户名,用户密码,性别,电话,地址,邮编,email 等基本信息。为了系统用户名和密码等的合法化,系统通过 function on_submit()

41、函数来控制输入,如果为空则提示用户名为空返回重新输入。示例代码如下:if (form1.username.value=)alert(用户名不能为空);同时为了保证输入合法化如 email 这样的信息,系统通过判断语句来确定输入是否合法,示例代码:if(form1.email.value.length!=0) for(i=0;iform1.email.value.length;i+) if(form1.email.value.charat(i)=) break;第 15 页 共 22 页if(i=form1.email.value.length) alert(非法 email 地址);在通过基本

42、信息输入以后,系统将信息传递给 log.jsp 进行处理,log.jsp首先用字符串接收函数:string username=codetostring(request.getparameter(username);来接收 reg.jsp 提交的信息。然后通过数据库执行 sql 语句 insert 将数据写入数据库中,如果注册成功则跳转到首页,如果注册不成功,则通过:out.print(注册不成功,请检查必添项目);提示输入不成功。 changemima.jsp 用来修改用户的密码信息,用户在登录以后点击修改密码的链接可以对密码进行修改。在输入两次密码时需要用到两次输入密码正确与否的判断:if

43、(form1.passwd.value!=form1.passconfirm.value)alert(确认密码不相符!);判断合法以后,就可以访问数据库通过 update 语句来更新用户密码信息。图 4-7 用户注册信息第 16 页 共 22 页.5 用户控件用户控件此功能通过来实现,避免简单代码的重复编写,也达到美观实用的效果。.6 商品管理商品管理此功能是通过 booklist.jsp 和addbook.jsp,addbooklog.jsp,delcord.jsp 来实现addbook.jsp 主要是用来添加商品的信息,包括商品名称,销售员,厂商,编号,价格

44、,数量等信息。在下拉菜单中可以选取商品的类别进行分类添加。写好添加的商品信息以后将表单数据传递给 addbook.jsp 对数据进行处理,通过 addbooklog.jsp 的 insrt 语句将表单数据写入数据库。具体代码如下:string bookname=codetostring(request.getparameter(bookname); if(bookname=null) bookname=;string sqlstring=null; sqlstring=insert into my_goods(goodsname,goodsclass,seller,provider,goods

45、no,content,price,amount)+ values (+bookname+,+bookclass+,+author+,+publish+,+bookno+,+content+,+price+,+amount+);/数据库连接代码st.executeupdate(sqlstring);完成操作以后如果操作成功则跳转到管理员主界面,此时可以通过查看商品信息来查看刚才添加的商品,如果操作失败则会跳转到 error。htm 页面提示操作失败,可以返回添加页面重新对商品进行添加。booklist.jsp 主要是查看所有商品的信息,以及删除商品。在点击删除按钮以后,系统将商品唯一 id 传递

46、给 delcord.jsp。delcord.jsp 通过getparameter(id)接收 id 以后,根据 id 在数据库中用 delelte 语句删除该记录。操作起来十分方便和快捷。具体删除代码:id=long.parselong(request.getparameter(id);sqlstring=delete from my_goods where id=+id;/数据库连接第 17 页 共 22 页执行删除语句sql.executeupdate(sqlstring);商品添加页面如下图:图 4-8 添加商品.7 管理用户管理用户此功能模块由 userlist.jsp

47、,delusercord.jsp 来实现。userlist.jsp 用来查询所有用户的信息,同样用分页显示的方式将信息显示出来,如果有需要删除的用户,则通过传递用户 id 到delusercord.jsp。delusercord.jsp 在接收到用户 id 以后,通过访问数据库运用 delete 语句删除选定用户记录。具体删除语句如下:%/接收要删除的用户id号 long id; try id=long.parselong(request.getparameter(id);if(id!=0)/接收到的参数正确 sqlstring=delete from my_users where id=+i

48、d;sql.executeupdate(sqlstring); con.close();第 18 页 共 22 页删除成功以后跳转到 userlist.jsp 页面重新查询所有用户。如果删除失败则通过:out.print(删除失败);提示删除失败。图 4-9 用户管理5.5. 系统测试系统测试5.15.1 前台测试前台测试完成了系统主要模块的开发后,系统需要进行必要的运行测试,以检验系统的正确性,以下将按照用户购买商品的流程和管理员对主要信息的管理来测试系统。首先来到前台用户的登陆界面,先注册一个用户名为 wang 的新用户,填写相关资料后,点击确定后,注册成功跳转到主页面,在测试中发现不同用

49、户可以注册相同的 id,显然这在实际应用中是不现实的,后来在代码中添加查询比较代码,通过比较注册用户名和数据库中的用户名来判断该用户名是否有效来解决这个问题。注册成功以后回到主页登录,进入用户界面。点击商品查询以及购物等页面基本正常,但是在测试过程中发现了非常严重的问题,有的页面本来应该在登录以后才能访问,比如查看自己定单以及购买商品等注册登录用户的页面。而在不用登录直接在 ip 地址栏输入地址也可直接访问。这显然是不现实的。于是运用控制变量 session 来解决了这个问题,添加如下代码:登录页面添加的代码:session.setattribute(username,codetostring

50、(username);访问控制页面添加的代码:string username = (string)session.getattribute(username);if ( username = null | username.equals() )第 19 页 共 22 页response.sendredirect(error.htm);以此来解决访问控制的问题,添加代码以后如果直接输入地址则会跳转到error.htm 页面提示没有登录,要求返回登录页面登录以后访问。5.25.2 后台测试后台测试当点击管理员登录按钮时,就来到管理员管理登陆页面,当我们不输入用户名而直接点击提交时,系统会提示请输入

51、用户名错误。这个在前台用户登陆中也同样设置了相应的验证。输入正确的用户名和密码后,便可以进入系统可以进行管理了,首先我们测试添加新商品,正确填入商品信息并提交后,系统会提示添加成功,通过打商品查看的页面可以查看到,因此证明添加成功。对商品的删除更为简便,只要在选择商品类别和商品型号后,只要点击“删除”就能够成功实现操作。对于用户管理,管理员查看当前所有用户的相关信息,并且能够删除带有不良企图的非法注册用户的 id,操作起来简便、快捷。在测试的过程中同样发现和用户模块相同的致命性错误,就是可以直接通过地址栏而不需要验证就可以具备管理员权限。这是一个相当大的漏洞。最后也通过 session 变量得

52、以解决这个问题。第 20 页 共 22 页结结 论论通过这三个月的学习和工作,完成了网上购物系统的设计,满足了用户需求。由于设计是基于 b/s 模式,该系统具有良好的可移植性等优点,并且具有相当不错的应用前景。同时由于该系统使用 javascript 和 jsp 技术,使我对该门技术又有了更加深入的了解,并且对应用 dreamweaver 制作静态页面也有了相当的心得。在完成设计的三个月时间里,我从一个 jsp 的门外汉到最终完成自己的作品,这段时间里自身知识的丰富和开发技能的提高是显而易见的,通过该设计的制作,同样使我涉及了很多其他的相关专业知识,增长了知识的沉淀。当然,这段历程对任何一个初

53、学者来说都是充满艰难的,其间我都记不得遇到多少次这样那样的问题,但是通过老师和其它好心人的指点最终还是顺利完成了作品,还积累了很多开发过程中宝贵的经验,对以后的学习和提高都是很有帮助的。由于水平及时间有限,很多可以实现的功能都未完成,不过相信通过不断的学习和提高,在这一方面将会更上一层楼。参考文献参考文献1 刘中兵, 李伯华jsp 数据库项目案例导航m北京:清华大学出版社,2006。2 邓子云,张赐jsp 网络编程从基础到实践m北京:电子工业出版社,2006。3 方睿.网络数据库的原理及应用m. 成都:四川大学出版社,2002。4 朱仲杰.java2 全方位学习m.北京:机械工业出版社,200

54、6。5 杨思申,刘思源.dreamweare3.0 入门与提高m. 北京:清华大学出版社,2000。6(美)jennifer niederst robbins. web 设计技术手册m. 济南:东南大学出版社,2006。7 马月. 网站界面设计m. 北京:北京理工大学出版社,2006。第 21 页 共 22 页致致 谢谢本文是在李梅老师和闫丽丽老师的热情关心和指导下完成的,他渊博的知识和严谨的治学作风使我受益匪浅,对顺利完成本课题起到了极大的作用。在此向他表示我最衷心的感谢!在论文完成过程中,本人还得到了其他老师和许多同学的热心帮助,本人向他们表示深深的谢意!最后向在百忙之中评审本文的各位专家

55、、老师表示衷心的感谢!作者简介姓 名: 杨元春 性别: 男出生年月: 1983 年 9 月 29 日 民族: 汉e-mail:第 22 页 共 22 页声声 明明本论文的工作是 2007 年 02 月至 2007 年 06 月在成都信息工程学院网络工程系完成的。文中除了特别加以标注地方外,不包含他人已经发表或撰写过的研究成果,也不包含为获得成都信息工程学院或其他教学机构的学位或证书而使用过的材料。除非另有说明,本文的工作是原始性工作。关于学位论文使用权和研究成果知识产权的说明:本人完全了解成都信息工程学院有关保管使用学位论文的规定,其中包括:(1)学校有权保管并向有关部门递交学位论文的原件与复

56、印件。(2)学校可以采用影印、缩印或其他复制方式保存学位论文。(3)学校可以学术交流为目的复制、赠送和交换学位论文。(4)学校可允许学位论文被查阅或借阅。(5)学校可以公布学位论文的全部或部分内容(保密学位论文在解密后遵守此规定) 。除非另有科研合同和其他法律文书的制约,本论文的科研成果属于成都信息工程学院。特此声明! 作者签名: 年 月 日第 23 页 共 22 页sounds that were a lot like laughter. you think its funny, huh? weary inquired. he walked around to billys back. bi

57、llys jacket and shirt and undershirt had been hauled up around his shoulders by the violence, so his back was naked. there, inches from the tips of wearys combat boots, were the pitiful buttons of billys spine. weary drew back his right boot, aimed a kick at the spine, at the tube which had so many

58、of billys important wires in it. weary was going to break that tube. but then weary saw that he had an audience. five german soldiers and a police dog on a leash were looking down into the bed of the creek. the soldiers blue eyes were filled with bleary civilian curiosity as to why one american woul

59、d try to murder another one so far from home, and why the victim should laugh.threethe germans and the dog were engaged in a military operation which had an amusingly self-explanatory name, a human enterprise which is seldom described in detail, whose name alone, when reported as news or history, gi

60、ves many war enthusiasts a sort of post-coital satisfaction. it is, in the imagination of combats fans, the divinely listless loveplay that follows the orgasm of victory. it is called mopping up. the dog, who had sounded so ferocious in the winter distances, was a female german shepherd. she was shi

温馨提示

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

评论

0/150

提交评论