




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 基于基于 JSPJSP 的网上购物系统的设计与实现的网上购物系统的设计与实现 摘摘 要要 近年来,随着 Internet 的迅速崛起,互联网已日益成为收集提供信息的最 佳渠道并逐步进入传统的流通领域。于是电子商务开始流行起来,越来越多的 商家在网上建起在线商店,向消费者展示出一种新颖的购物理念,本购物系统 基于 B/S 模式,实现了当前购物网站的基本功能。 本论文就此购物系统进行了详细全面的论述。系统中用户的主要功能有: 用户登录、注册、商品浏览、商品购买、订单管理以及个人信息管理。管理员 的主要功能有:商品管理、用户管理以及订单信息管理。 全文共分为五个部分,第一部分是介绍相关理论知识;第
2、二部分介绍系统 总体设计;第三部分介绍系统具体实现过程;第四部分是测试工作。最后是结 论。 关键词关键词:电子商务;购物系统;JSP;数据库 The Design and Realization of shopping Online System Based on JSP Abstract In recent years, Internet has become the best channel for collection of information and entered the traditional field of circulation with the rapid rising
3、. 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 base function of the current Shopping site. This paper introduces the Shopping system in detail. The main functions
4、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, users and Orders. There are five sections in this paper, the first is introduction of Related theoretical knowle
5、dge; 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; Shopping System; JSP; Database 目目 录录 论文总页数:22 页 1.引言.1 1.1网上购物系统的发展.1 1.2网上购物的现状.1 1.3网上购物系统的构建.1 2.相关理论基础.2 2.1J
6、SP 技术 .2 2.1.1JSP 的简介 .2 2.1.2JSP 的优点 .2 2.1.3JSP 的工作原理 .2 2.2数据库及相关技术简介.3 2.2.1SQL 语言简介 .3 2.2.2Microsoft SQL Server 简介.3 2.2.3JAVA 技术简介 .4 2.2.4TOMCAT 简介 .4 3.系统总体设计.4 3.1系统设计.4 3.1.1系统功能分析.4 3.1.2系统体系结构.5 3.1.3系统流程.6 3.2数据库设计.6 3.2.1数据库需求分析.6 3.2.2数据库的逻辑结构分析.7 3.2.3数据库表的设计.7 3.2.4数据库的连接.8 4.具体设计分
7、析.9 4.1系统首页.9 4.2具体模块实现.9 4.2.1商品查看.9 4.2.2购物车.11 4.2.3订单管理.12 4.2.4用户个人信息管理.13 4.2.5用户控件.16 4.2.6商品管理.16 4.2.7管理用户.17 5.系统测试.18 5.1前台测试.18 5.2后台测试.19 结 论.20 参考文献.20 致 谢.21 声 明.22 1.1. 引言引言 1.11.1 网上购物系统的发展网上购物系统的发展 近年来,随着 Internet 的迅速崛起,互联网已日益成为收集提供信息的最 佳渠道并逐步进入传统的流通领域。于是电子商务开始流行起来,越来越多的 商家在网上建起在线商
8、店,向消费者展示出一种新颖的购物理念。 网上订购系统作为 B2B,B2C,C2C 电子商务的前端商务平台,在其商务活动全 过程中起着举足轻重的作用。本文旨在讨论如何建设 B2C 的网上购物系统。网 上购物是一种具有交互功能的商业信息系统。它向用户提供静态和动态两类信 息资源。所谓静态信息是指那些比经常变动或更新的资源,如公司简介、管理 规范和公司制度等等;动态信息是指随时变化的信息,如商品报价,会议安排 和培训信息等。网上购物系统具有强大的交互功能,可使商家和用户方便的传 递信息,完成电子贸易或 EDI 交易。这种全新的交易方式实现了公司间文档与 资金的无纸化交换。 1.21.2 网上购物的现
9、状网上购物的现状 在美、日等信息化程度较高的国家和地区,网络商店发展速度迅猛,美国 的世界级超一流的零售商,如沃尔玛凯玛特,家庭仓储、科罗格、J.C 培尼等 纷纷挤身于网络经商的行列。调查表明:美国的家庭已越来越习惯于在家中从 网上购物。 在我国,网上购物从无到有也不过短短几年时间。我国第一家网上购物发 生在 1996 年,燕莎友谊商场首次通过网上商城售出一个景泰蓝,虽然货款的支 付不是在网上进行的,但这毕竟为我国零售业奏出了网上购物的先声。根据 CNNIC 的统计结果,截止 2006 中国有互联网用户 6962 万人,而又有 40.7%以上 的网民在过去的一年里有过网上购物经历,并且这一数字
10、还在以 17%左右的速 度增长,这说明在中国发展网上购物具有良好的群众基础,网上购物方式日趋 被大家所接受。 1.31.3 网上购物系统的构建网上购物系统的构建 现在流行的网上购物系统不仅要有漂亮的网页,更要有严谨的规划。每一 个细小的环节都很重要。这样才能使得在电子交易时避免不必要错误发生。我 将使用 HTML、JSP 等技术来编辑网页,传统的管理信息系统的信息获取方法是 由专业文字录入人员将信息输入到管理系统的数据库中,这种方法在数据量不大 时有很多的应用场合。当数据量比较大,并且有较强的专业性时,录入的费用和 出错的可能性都相应上升。本系统通过运用 JSP 技术把数据库和动态网页连接,
11、得出错和成本都相应的降低。 本文在实际应用开发中解决方案是建立网站, 以及自己的数据库,使得所 需商品信息可以及时的保存、更新,以更好的及时了解商品买卖的情况。 2.2. 相关理论基础相关理论基础 2.12.1JSPJSP 技术技术 .4JSPJSP 的简介的简介 JSP 是 JAVA SERVER PAGES 的缩写,由 SUN 公司倡导,于 1999 年推出,正 日益成为开发 WEB 动态网站的重要而快速有效的开发技术。 JSP 充分利用了 JAVA 技术的优势,具有极强的扩展能力和良好的收缩性, 与开发平台无关,这源于 JAVA 的“一次编写,到处运行”的特点,同时也是一
12、 项安全的技术。它具有良好的动态页面与静态页面分离的能力,编译后运行, 因而正逐渐成为 internet 开发的主流技术。 .4JSPJSP 的优点的优点 (1)对于用户界面的更新,其实就是由Web Server进行的,所以给人的感 觉更新很快。 (2)所有的应用都是基于服务器的,所以它们可以时刻保持最新版本。 (3)客户端的接口不是很繁琐,对于各种应用易于部署、维护和修改。 .4JSPJSP 的工作原理的工作原理 在一个JSP文件第一次被请求时,JSP引擎把该JSP文件转换成为一个 servlet。而这个引擎本身也是一个servlet,在JSWDK或WEBLO
13、GIC中,它就是 JspServlet。 JSP引擎先把该JSP文件转换成一个Java源文件,在转换时如果发 现jsp文件有任何语法错误,转换过程将中断,并向服务端和客户端输出出错信 息;如果转换成功, JSP引擎用javac把该Java源文件编译成相应的class文件。 然后创建一个该SERVLET的实例,该SERVLET的jspInit()方法被执行,jspInit()方 法在servlet的生命周期中只被执行一次。然后jspService()方法被调用来处理 客户端的请求。对每一个请求,JSP引擎创建一个新的线程来处理该请求。如果 有servlet从内存中移去。当这种情况发生时jspDe
14、stroy()方法首先被调用, 然 后servlet实例便被标记加入垃圾收集处理。 jspInit()及j多个客户端同时 请求该JSP文件,则JSP引擎会创建多个线程。每个客户端请求对应一个线程。 以多线程方式执行可大大降低对系统的资源需求,提高系统的并发量及响应时间.但 应该注意多线程的编程限制,由于该servlet始终驻于内存,所以响应是非常快 的。 如果.jsp文件被修改了,服务器将根据设置决定是否对该文件重新编译, 如果需要重新编译,则将编译结果取代内存中的servlet,并继续上述处理过程。 虽然JSP效率很高,但在第一次调用时由于需要转换和编译而有一些轻微的延 迟。 此外,如果在任
15、何时候如果由于系统资源不足的原因,JSP引擎将以某种 不确定的方式将spDestory()格式如下:可在jspInit()中进行一些初始化工作, 如建立与数据库的连接,或建立网络连接,从配置文件中取一些参数等,在 jspDestory()中释放相应的资源。 2.22.2 数据库及相关技术简介数据库及相关技术简介 .4 SQLSQL 语言简介语言简介 SQL 是英文 Structured Query Language 的缩写,意思为结构化查询语 言。 SQL 语言的主要功能就是同各种数据库建立联系,进行沟通。按照 ANSI(美国国家标准协会)的规定,SQL 被作为关系型数据库管理
16、系统的标准 语言。SQL 语句可以用来执行各种各样的操作,例如更新数据库中的数据,从 数据库中提取数据等。 目前,绝大多数流行的关系型数据库管理系统,如 Oracle、 Sybase、 Microsoft SQL Server、 Access 等都采用了 SQL 语言标准。虽然很多数据 库都对 SQL 语句进行了再开发和扩展,但是包括 Select、 Insert、 Update、 Delete、 Create 以及 Drop 在内的标准的 SQL 命令仍然可以被用 来完成几乎所有的数据库操作。 在众多的 SQL 命令中,select 语句应该算是使用最频繁的。select 语句主 要被用来对
17、数据库进行查询并返回符合用户查询标准的结果数据。select 语句 中位于 select 关键词之后的列名用来决定哪些列将作为查询结果返回。用户可 以按照自己的需要选择任意列,还可以使用通配符“*”来设定返回表格中的所 有列。select 语句中位于 from 关键词之后的表格名称用来决定将要进行查询 操作的目标表格。 除了上面所提到的运算符外,LIKE 运算符在 where 条件从句中也非常重要。 LIKE 运算符的功能非常强大,通过使用 LIKE 运算符可以设定只选择与用户规 定格式相同的记录。 .4MicrosoftMicrosoft SQLSQL ServerServe
18、r 简介简介 SQL Server 2000 是建立在 SQL Server 7.0 在可伸缩性、可用性、可管 理性和数据仓库成功的基础上,并且引入了针对电子商务的重要新功能。 在高性能和企业级可伸缩性领域,SQL Server 2000 设计成利用 Windows2000 对更多处理器、更大的系统内存的支持,最终达到支持 64 位硬 件平台。 在不断提升可用性的努力过程中,SQL Server 2000 采用 Windows 2000 四路群集,提供了大大改进的群集支持。SQL Server 7.0 已经在可管理性和易 用性方面在行业内领先,SQL Server 2000 通过与 Windo
19、ws 2000 活动目录紧 密结合进一步改进了这些功能。而且,SQL Server 2000 还包含对现有管理工 具和实用程序的重大改进,并引入更具自我调节和自我管理的引擎功能。 SQL Server 2000 按照设计可以为部署和维护强大的、易于管理、支持商 务活动的 Web 站点提供最好的性能,这些站点可以从事商家和商家之间或商家 与客户之间的交易。在寻求一个支持您的电子商务解决方案的数据库时,需要 考虑的项目包括:可用性、性能、可管理性和价格。 .4 JAVAJAVA 技术简介技术简介 JSP 程序开发就离不开 JAVA 语言,这里简单介绍下 JAVA 语言的特点: Ja
20、va 是一种跨平台,适合于分布式计算环境的面向对象编程语言。具体来 说,它具有如下特性: (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)高效的商品数据方案,对商品信息进行科学、灵活地分类、存储,方便 客户迅速从少则几万,多则几十万甚至上百万种商品中找出自己所需商品。
22、 (4)强大、方便、快捷的查询功能。提供关键字查询(如:查找所有商品)。 (5)订单号模块所谓订单号模块,就是客户购买完商品后,系统自动分配 一个购物号码给客户,以方便客户随时查询账单处理情况。了解现在货物的状 态。 (6)订单管理。为分销商的 EPR 系统提供数据接口。管理员可以查看历史 记录、订单状态,并且能够在最短的时间内通知用户。 .2 系统体系结构系统体系结构 购物系统 用 户 注 册 用 户 登 录 用 户 管 理 商 品 管 理 订 单 管 理 购 物 车 图 3-1 系统功能模块图 根据体系结构可将系统分为用户和管理两个角色: (1)用户:用户通过注册以后成为合
23、法登录用户。登录以后可以查看修改个人 信息在线购买商品查看定单状态。 (2)管理员:系统管理员可以管理整个系统,包括查看用户定单并修改相应信 息查看用户信息,对不信任用户也可以对他进行删除。查看商品信息,可以删 除不需要的商品。添加商品信息。 .3 系统流程系统流程 开始 是否登录 是否管理员 浏览普通页面 管理页面用户页面 管 理 用 户 管 理 商 品 管 理 定 单 个 人 信 息 管 理 购 物 车 管 理 在 线 购 物 N Y YN 退出系统 图 3-2 系统流程图 3.23.2 数据库设计数据库设计 .1 数据库需求分析数据库需求分析 (1)商品数
24、据的准备。首先要搜集分销商的所有商品数据。这些商品数据 可以分为三类:纸面记录、电子数据(XML、Access、Excel 等文件)、网上数据。 无论对于哪一种数据,都要对其进行检查,修正有问题的数据,删除重复和过期的 记录。在检查的同时,还要对这些数据进行分析,为制定商品目录方案做准备。 (2)商品数据方案的制定。商品数据方案制定的目的在于: 对商品进行科学、灵活地分类,方便客户迅速从少则几万,多则几十万甚 至上百万种商品中找出所需商品。 使系统支持强大、方便、快捷的查询功能,实现模糊查询和智能查询。 高效的商品数据方案能提高数据库性能,提高网页浏览速度。 (3)客户信息表的制定。客户信息表
25、内保存着在线商店中所有客户个人所 拥有的个人信息和资料,是在线商店的后台管理人员进行商品销售的设计规划 和进行决策的依据和参考。客户 ID 则是客户个人身份证明的依据。 .2 数据库的逻辑结构分析数据库的逻辑结构分析 对于系统用户信息数据库,有以下数据项和数据结构: 用户信息:用户 ID(自动编号) 、用户姓名、电话号码、Email、地址、邮 编。 对于系统的商品信息系统,有以下数据项和数据结构: 商品记录信息:商品的 ID(自动编号) 、商品名称、商品单价、商品数量、 商品所属类别。 而网上购物系统就是基于以上各个数据库的连接和综合,把各个独立的数 据库通过内在的关联性统一到
26、一个主页面里,从而方便客户的访问和购买,实 现了一对一的交互。 用户在购买商品前可以先看看商品目录,看看有没自己需要的商品,在商 品的目录里有各个商品的具体的介绍,比如说商品的名称,数量,价格等,用 户在看好自己的商品后,在商品的搜索中,你可以选择你所需的商品,用户在 选择自己的商品时,系统则连接到后台关于此商品信息的数据库中,找到适合 客户需求的信息。 客户将选购的商品放入系统所提供的购物篮里,此时顾客可以继续选购另 外的商品,或者删除原先购买的商品,并可对商品进行名称和数量上的修改和 添加。点击“继续购买” ,重复以上进行的购买活动。直到顾客满意。购物结束 后,进行提交,点击“提交” ,完
27、成购物。 .3 数据库表的设计数据库表的设计 分别建立以下的表以满足需要: 本系统需要建立 4 个数据表,他们分别是: 管理员表(my_goodsadminuser):存放管理员用户名,管理员密码信息。 用户表(my_users):存放用户编号,用户名,用户密码,真实姓名,性 别,电话,email 等信息。 商品信息表(my_goods):存放商品编号,商品名,销售员,类别,提供商, 价格以及数量等信息。 定单表(my_indentlist):存放定单编号,用户,总价,是否付款,是否发 货,用户备注等信息。 各表具体信息见下图: 表 3-1 my_goodsadminuser
28、表中字段 字段名数据类型字段描述 adminuser 文本管理员用户名 adminpass 文本管理员密码 表 3-2 my_users 表中字段 字段名数据类型字段描述 id 数字用户主键 username 文本用户名 passwd 文本用户密码 Names 文本真实姓名 Sex 文本性别 Address 文本地址 Phone 文本电话 Post 文本邮编 Email 文本Email 地址 表 3-3 my_goods 表中字段 字段名数据类型字段描述 ID 数字商品编号 Goodsname 文本名称 Goodsclass 数字类别 Seller 数字销售员 Provider 文本提供商 P
29、rice 数字价格 Amount 文本数量 Content 文本说明 表 3-4 my_indentlist 表中字段 字段名数据类型字段描述 ID 数字组 ID username 文本商品购买用户 Price 文本定单价格 ispayoff 文本是否付款 issales 文本是否发货 content 文本备注 .4 数据库的连接数据库的连接 在本系统中,系统会频繁的访问数据库。本系统采用 JSP 的 JDBC-ODBC 驱 动程序。数据库的连接代码是通用的。代码如下: Class.forName(com.microsoft.jdbc.sqlserver.SQLServerDr
30、iver); String url=jdbc:microsoft:sqlserver:/localhost:1433; DatabaseName=biye; String strUser = sa; String strPassword = ; Connection con = DriverManager.getConnection(url, strUser, strPassword); Statement st = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_ READ_ONLY); 4.4. 具体
31、设计分析具体设计分析 4.14.1 系统首页系统首页 图 4-1 网上购物系统首页 此功能模块由 index1.jsp 来实现,并提供了本系统绝大多数功能的入口, 例如:会员注册、登录,管理员登录,查询等。 会员登录主要是将用户输入的用户名和密码与数据库中 my_users 表中的已 有的信息进行比对,如果完全一样,则是合法用户,可以成功登录,如果不一 样,则登录失败。 查询功能是通过输入商品名称关键字和下拉菜单中商品类别进行查询提交 查询信息以后由 find.Jsp 显示查询结果。此功能未注册用户也可用,但是所查 询商品不提供购买功能。 4.24.2 具体模块实现具体模块实现 4.2.14.
32、2.1 商品查看商品查看 此功能模块由 buy.jsp 来实现。 当用户进入购物中心以后,系统会显示所有的商品基本信息。但在商品数 量过于庞大以后则不容易查看所需商品,所以系统提供了按类别查询的功能。 下拉菜单中有商品的所有类别,用户根据类别以 post 方法传递表单。再在该页 设置接收字段: String bookclass=codeToString(request.getParameter(bookclass); 通过关键字 bookclass 对数据库商品表 my_goods 进行查询: SELECT * FROM my_goods where goodsclass=+bookclass
33、.trim()+ 这样就比较清楚的可以获得各类别的商品的信息。有了自己需要购物的商品, 则可以通过点击购买将商品添加到购物车,详细信息可以查看商品的详细信息。 详细信息页面 xiangxi.jsp 通过商品 ID 查询数据库,除了显示以上信息以 外,还显示商品数量,备注等信息。 界面如下图: 图 4-2 商品信息 为了不让庞大的数据让人看得眼花缭乱,在商品的实现时是分页显示,每 页显示 5 项记录。分页代码如下: int dipage=1;/当前页码数默认为1 String pages=request.getParameter(dipage); if(pages=null) pages=1;
34、int countRecord=0;/记录条数 int countPageRecord=0;/每页记录条数 int countPage=0;/总页数 countPageRecord=5;/每页5条记录,要设置每页记录条数就更改这 个变量的值 countRecord=rs.getRow();/得到总页数 if(countRecord/countPageRecord=0) countPage=countRecord/countPageRecord; else countPage=countRecord/countPageRecord+1;/把记录指针移至当前 页第一条记录之前 if(dipage-
35、1)*countPageRecord=0) rs.beforeFirst(); .2 购物车购物车 此功能模块由: buybook2.Jsp,addgoods.Jsp,minusGoods.Jsp,deleteGoods,buy.java 来 实现。 当用户选定某样商品并在登录后的情况下,可以点击购买将商品添加到购 物车。在购物车中可以设置购买商品的数量。设置好数量以后按提交按钮根据 商品唯一 ID 将商品添加到购物车。在 addgoods.jsp 中通过获取商品 ID: String id=request.getParameter(id); Int Goods_Count=I
36、nteger.parseInt(request.getParameter(book_count) 以及 buycar.Java 中的函数 public void addGoods(String Goods_id,int Goods_Count)来实现。 提 交购物以后,可以选择查看购物车,也可以无限制的选择继续购买。选择继续 购买以后跳转到商品购买页面 buy.Jsp 选择查看购物车则跳转到 buybook2.Jsp。在跳转到 buybook2.Jsp 页面以后,如果用户不满意该选择可以 删除或者更改所选商品数量,更改商品数量是通过 buycar.Java 和 minusGoods.Jsp 一
37、起来实现。 关键代码: buycar.Java: public boolean minusGoods(String Goods_id,int Goods_Count) deleteGoods(Goods_id); minusgoods.Jsp: intGoods_Count=Integer.parseInt(request.getParameter(book_count) buycar.minusGoods(id,Goods_Count); 用户在确定需要购买以后,就可以提交购物车,完成购物功能。 图 4-4 购物车 购物车中商品总价格 totalprice 是通过商品单价和数量进行结算。代码
38、如 下: double totalprice=0; totalprice=totalprice+rs.getFloat(price)*(Integer)list.get(goo ds).intValue(); .3 订单管理订单管理 本模块划分为 2 个部分,一是用户对定单的管理,二是管理员对定单的管 理。用户对定单的管理通过 userjiemian.Jsp 实现查看自己的定单状态是否付 款以及删除自己的定单。查看自己的定单是通过用户名访问定单表以获取自身 定单,删除定单是通过定单 ID 删除掉选定的定单: a href=delcord.jsp?id=+rs.getString
39、(indentno)+ 用户也可以通过查询指定的定单ID来查询想要知道的定单的信息。通过 sqlString=delete from my_indentlist where id=+ID; 语句删除以前的定单。 管理员管理定单除了拥有用户管理定单的功能以外,还可以通过定单 ID 更 新定单的状态,修改定单的付款状态以及发货状态。修改定单页面 change.jsp. 通过获取定单 ID,用 update 语句更新定单信息。定单管理界面如下图: 图 4-5 查看当前订单 定单查询代码如下: SELECT * FROM my_indentlist where username=+username+
40、.4 用户个人信息管理用户个人信息管理 此功能模块由 reg.Jsp,log.Jsp,changemima.Jsp,psxinxi.jsp 来实现。分 别别实现用户的注册以及密码的修改。Psxinxi 查看自己的基本注册情况。 如下图: 图 4-6 查看用户自己基本情况 用户点击“个人信息”以后系统就会查询数据库 my_users 表显示当前用户 信息。由于整个用户页面都用 session 变量控制访问权限,所以在进行查询的 时候就根据 seesion 变量中的 username 对数据库进行查询,查询代码如下: rs=sql.executeQuery(SELECT * FRO
41、M my_users where username like %+username.trim()+%); reg.Jsp 用来注册用户的基本信息,包括用户名,用户密码,性别,电话, 地址,邮编,Email 等基本信息。为了系统用户名和密码等的合法化,系统通 过 function on_submit()函数来控制输入,如果为空则提示用户名为空返回重 新输入。示例代码如下: if (form1.username.value=) alert(用户名不能为空); 同时为了保证输入合法化如 Email 这样的信息,系统通过判断语句来确定 输入是否合法,示例代码: if(form1.email.value
42、.length!=0) for(i=0;iform1.email.value.length;i+) if(form1.email.value.charAt(i)=) break; if(i=form1.email.value.length) alert(非法 EMAIL 地址); 在通过基本信息输入以后,系统将信息传递给 log.Jsp 进行处理,log.Jsp 首先用字符串接收函数: String username=codeToString(request.getParameter(username); 来接收 reg.Jsp 提交的信息。然后通过数据库执行 SQL 语句 insert 将数
43、据写 入数据库中,如果注册成功则跳转到首页,如果注册不成功,则通过: out.print(注册不成功,请检查必添项目); 提示输入不成功。 changemima.Jsp 用来修改用户的密码信息,用户在登录以后点击修改密 码的链接可以对密码进行修改。在输入两次密码时需要用到两次输入密码正确 与否的判断: if (form1.passwd.value!=form1.passconfirm.value) alert(确认密码不相符!); 判断合法以后,就可以访问数据库通过 update 语句来更新用户密码信息。 图 4-7 用户注册信息 .5 用户控件用户控件 此功能通过来实现,避免
44、简单代码的重复 编写,也达到美观实用的效果。 .6 商品管理商品管理 此功能是通过 booklist.Jsp 和 addbook.JsP,addbooklog.Jsp,delcord.jsp 来实现 addbook.Jsp 主要是用来添加商品的信息,包括商品名称,销售员,厂商, 编号,价格,数量等信息。在下拉菜单中可以选取商品的类别进行分类添加。 写好添加的商品信息以后将表单数据传递给 addbook.Jsp 对数据进行处理,通 过 addbooklog.Jsp 的 insrt 语句将表单数据写入数据库。具体代码如下: String bookname=codeToString(
45、request.getParameter(bookname); if(bookname=null) bookname=; String sqlstring=null; sqlstring=insert into my_goods(goodsname,goodsclass,seller,provider,goodsno,content,price,a mount)+ values (+bookname+,+bookclass+,+author+,+publish+,+bookno+ ,+content+,+price+,+amount+); /数据库连接代码 st.executeUpdate(s
46、qlstring); 完成操作以后如果操作成功则跳转到管理员主界面,此时可以通过查看商 品信息来查看刚才添加的商品,如果操作失败则会跳转到 ERROR。HTM 页面提示 操作失败,可以返回添加页面重新对商品进行添加。 booklist.Jsp 主要是查看所有商品的信息,以及删除商品。在点击删除按 钮以后,系统将商品唯一 ID 传递给 delcord.Jsp。delcord.Jsp 通过 getParameter(id) 接收 ID 以后,根据 ID 在数据库中用 delelte 语句删除该记录。操作起来十 分方便和快捷。具体删除代码: id=Long.parseLong(request.get
47、Parameter(id); sqlString=delete from my_goods where id=+id; /数据库连接 执行删除语句 sql.executeUpdate(sqlString); 商品添加页面如下图: 图 4-8 添加商品 .7 管理用户管理用户 此功能模块由 userlist.Jsp,delusercord.Jsp 来实现。 userlist.Jsp 用来查询所有用户的信息,同样用分页显示的方式将信息显 示出来,如果有需要删除的用户,则通过传递用户 ID 到 delusercord.Jsp。delusercord.Jsp 在接收到用户 ID 以后,
48、通过访问数据库 运用 delete 语句删除选定用户记录。具体删除语句如下: %/接收要删除的用户ID号 long id; try id=Long.parseLong(request.getParameter(id); if(id!=0)/接收到的参数正确 sqlString=delete from my_users where id=+id; sql.executeUpdate(sqlString); con.close(); 删除成功以后跳转到 userlist.Jsp 页面重新查询所有用户。如果删除失败 则通过: out.print(删除失败); 提示删除失败。 图 4-9 用户管理 5
49、.5. 系统测试系统测试 5.15.1 前台测试前台测试 完成了系统主要模块的开发后,系统需要进行必要的运行测试,以检验系 统的正确性,以下将按照用户购买商品的流程和管理员对主要信息的管理来测 试系统。 首先来到前台用户的登陆界面,先注册一个用户名为 wang 的新用户,填 写相关资料后,点击确定后,注册成功跳转到主页面,在测试中发现不同用户 可以注册相同的 ID,显然这在实际应用中是不现实的,后来在代码中添加查询 比较代码,通过比较注册用户名和数据库中的用户名来判断该用户名是否有效 来解决这个问题。 注册成功以后回到主页登录,进入用户界面。点击商品查询以及购物等页 面基本正常,但是在测试过程
50、中发现了非常严重的问题,有的页面本来应该在 登录以后才能访问,比如查看自己定单以及购买商品等注册登录用户的页面。 而在不用登录直接在 IP 地址栏输入地址也可直接访问。这显然是不现实的。于 是运用控制变量 session 来解决了这个问题,添加如下代码: 登录页面添加的代码: session.setAttribute(username,codeToString(username); 访问控制页面添加的代码: String username = (String)session.getAttribute(username); if ( username = null | username.equals() ) response.sendRedirect(error.htm); 以此来解决访问控制的问题,添加代码以后如果直接输入地址则会跳转到 error.Htm 页面提示没有登录,要求返回登录页面登录以后访问。 5.25.2 后台测试后台测试 当点击管理员登录按钮时,就来到管理员管理登陆页面,当我们不输入用 户名而直接点击提交时,系统会提示请输入用户名错误。这个在前
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论