基于J2EE三层体系结构的网上商城的设计与实现

更新时间:2024-01-21 20:55:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

本科毕业论文(设计)

题 目 基于J2EE三层体系结构的网上商城的设计与实现

系 别 信息管理系 专 业 信息管理与信息系统 年 级 2010级 学 号 222010602063029 姓 名 高 明 举 指 导 教 师 李 瑞 成 绩

2014年 5月2日

目 录

西南大学本科毕业论文(设计)任务书 ..................................... I 文献综述 ............................................................... i 西南大学本科毕业论文(设计)开题报告 ................................... 1 正文 .................................................. 错误!未定义书签。 第1章 引言 ............................................................. 2 第2章 网站的设计思想 .................................................. 5 第3章 开发工具的选用及关键技术 ........................................ 6 第4章 系统的概要设计 .................................................. 9 4.1需求分析 ............................................................ 9 4.2系统的功能模块 ...................................................... 9 4.3 系统的流程分析 .................................................... 10 4.4数据库设计 ......................................................... 11 第5章 系统详细设计 ................................................... 20 5.1 前台设计 .......................................................... 20 5.2 后台设计 .......................................... 错误!未定义书签。 第6章 系统的测试过程 ................................................. 38 6.1 系统测试的内容 ................................................... 38 6.2 系统测试的方法 ................................................... 39 6.3 系统测试活动评估 ................................................. 39 6.4 系统测试结果 ..................................................... 39 6.5 系统规避措施 ..................................................... 39 结束语 ................................................................ 40 参考文献 .............................................................. 41 致谢 .................................................................. 41 本科毕业论文(设计)指导教师评阅表 ..................................... a 本科毕业论文(设计)交叉评阅表 ......................................... b 本科毕业论文(设计)答辩记录 ........................................... c

西南大学本科毕业论文(设计)任务书

论文(设计)题目 基于J2EE三层体系结构的网上商城的设计与实现

系别、专业 信管系信息管理与信息系统学生姓名高明举学号 222010602063029

指导教师姓名 李瑞 开题日期 2013年11月30日 论文(设计)的主要内容(技术指标)与要求: 采用B/S结构实现一个网上商城的系统,包括前台和后台,功能模块大致如下: 前台:显示公告,商品销售排行,新品展示,特价商品展示,查看订单,查看及修改购物车信息,查询商品信息,用户登录与注册。 后台:维护商品信息,订单的管理,公告的管理,系统用户管理。 该网上商城的系统主要由前台商品展示及销售和后台管理两部分组成。前台部分可以查看商品详情,会员登录后才能购买;后台登陆后,不仅可以查看商品销售情况,还可以管理会员、商品、公告等。 进 度 安 排 1)2013年11月初-12月初:根据需求,完成文献搜索和撰写开题报告。 2)2013年12月初-2014年2月末:完成系统分析设计和总体设计。 3)2014年3月初-2014年4月初:完成设计程序实现以及毕业设计文档的撰写 4)2014年4月初-2014年5月初:毕业设计论文改进和文档定稿 5)2014年5月中旬:提交论文和系统,准备论文答辩。 系意见: 注:1、任务书由指导老师填写。 2、任务书必须在第七学期13周前下达给学生。 I

文献综述

基于J2EE三层体系结构的网上商城的设计与实现

高明举

西南大学荣昌校区信息管理系,重庆荣昌 402460

摘要:本论文探讨网上购物逐渐走入人们的生活中来,人们只要在家中上网浏览一下网页,就可

以买到自己中意的商品,比起传统的购物方式来说,网上购物具有可挑选的范围更广,更新的速度更快,价格更低等优势。系统是用JSP在网络上架构一个动态的在线购物系统,用MyEclipse作为网页开发工具,SQL Server2005作为系统数据库,Tomcat6.0作为Web服务器。该系统包括了现在网上购物系统的主要基本功能。用户可以方便的使用,完成网上浏览、购物等操作,管理员也可以在后台方便的进行对网站和用户的管理操作。

关键词:jsp,网上购物,在线购物系统。

(1)引言

随着计算机和网络的日趋普及,越来越多的商家在网上升起商店,向消费者展示出一片新鲜的购物大地。在美、日等信息化程度较高的国家和地区,网络商店发展速度迅猛,美国的世界级超一流的零售商,如沃尔玛凯玛特、家庭仓储、科罗格、J.C培尼等纷纷跻身于网络经商的行列。调查表明:美国的家庭已越来越习惯于在家中从网上购物。

在我国,网上购物从无到有也不过短短几年时间。我国第一家网上购物发生在1996年,燕莎友谊商场首次通过网上商城售出一个景泰蓝,虽然货款的支付不是在网上进行的,但这毕竟为我国零售业奏出了网上购物的先声。如今,在北京、上海、深圳等大城市,已有200多家商场,专卖店开设了网上商店,还有一些正处在观望阶段。真正意义上的网上购物,即货款的结算在网上进行,已在国内实现。深圳无虹商场去年5月开办了我国第一家实行计单和支付一体上的网上商店,上网的消费者只要拥有一张招商银行的“一卡通”,便可轻松购物, 24小时内商家送货上门。商家投资网上商店目的是赚钱。但从目前网上商店的运营情况来看,上网者不购物、购物者不上网的现象非常普遍,网上生意渗淡已是目前各大网上商店共同的困惑。上海首家

i

网上商店——上海亿样购物中心由于经营不善,开业不到半年即关门停业,北京的一些大型零售商场,其网上商店“门庭冷落”。

结算方式的原始落后是网上购物致命的弱点。在国外,计算机一般都与银行的帐户相联,消费者和网络商店只需和网上银行打交道,不必当面直接支取现金。在我国目前除淘宝、拍拍等几家网上商店进行网上购物结算外,大部分商家结算只能采取 “送货上门、到货付款”或“邮寄上门、贷款邮资先付”的方式。这样不但浪费了时间和人力,而且限制了网络的覆盖范围和商品的结构种类。因此,安全、快捷、方便的电子支付手段将是今后网上商店健康发展的主要要素。 (2)研究目的及意义

电子商务是伴随着信息经济的脚步,在20世纪90年代兴起于美国、欧洲等发达国家的一个新概念。目前,国际上对电子商务尚无统一的定义。一般来说,狭义的概念是指在开放的国际互联网及其它网络的环境下,通过服务器的运用,实现消费者的网上购物、企业间商业交易的一种新型交易运营模式。即电子商务=Web(服务器)+IT(信息技术)+企业业务。

电子商务的类型:从其交易对象来看,电子商务的应用包括企业与企业之间的电子商务 (B2B)、企业与消费者之间的电子商务(B2C)、企业与政府之间的电子商务 (B2G)、政府与消费者之间的电子商务(G2C)、企业内部的电子商务。

电子商务的本质特点:电子商务的重点在于商务、电子商务的核心竞争力在于信息平台、电子商务的使命在于利用互联网技术对传统资源的整合。

电子商务实现贸易的全球化、直接化、网络化,发展电子商务是不可阻挡的趋势,而我国的电子商务尚不完善。要实现全过程的电子商务,就要加快网络基础设施建设和网络互联,实现金融电子化及海关、税务、行政监管部门电子化,市场环境网上支付,建立安全体系认证结构,健全相关法律法规等等。

电子商务系统是保证以电子商务为基础的网上交易实现的体系。网上交易的信息沟通是通过数字化的信息渠道实现的,交易双方必须拥有相应的信息技术工具。为保证交易双方进行等价交换,必须提供相应的货物配送和支付结算手段。此外,为保证企业、组织和消费者能够利用数字化沟通渠道,保证交易能顺利进行配送和支付,需要由专门提供服务的中间商参与,即需要电子商务服务商。一个完整的电子商务系统。

(3)国内外研究现状

ii

进入二十一世纪,是一个网络高度发达的时代。从九十世纪四十年代第一台计算机问世到现在,仅仅经历了半个世纪,网络就如此发展迅猛,来得势不可挡,会带来什么样的变革呢?其中带来变革之一,那就是缩短了销售环节。

由于交通工具的发展,网络的发达,人们传递信息的速度加快。产品从工厂生产出来,可以直接运送到消费者手中。也就是说不经过中间太多的环节,直接工厂——专卖店或零售商——消费者。十九世纪四十年代,犹太人创立了安利公司,也就是现在全球最大的直销公司。现实了产品从工厂直接到消费者手中。从07年5月份,在中国诞生十多家直销公司。这正是生产力发展的必然结果,未来最好的销售方式,必然是工厂---零售商---消费者。而实现这一模式,其中起桥梁作用的就是网络。美国的亚马逊网,中国的当当网,淘宝,拍拍,易趣。正是这一种模式的见证。网上销售的产生是一种网络革命。

电子商务是伴随着信息经济的脚步,在20世纪90年代兴起于美国、欧洲等发达国家的一个新概念。目前,国际上对电子商务尚无统一的定义。一般来说,狭义的概念是指在开放的国际互联网及其它网络的环境下,通过服务器的运用,实现消费者的网上购物、企业间商业交易的一种新型交易运营模式。即电子商务=Web(服务器)+IT(信息技术)+企业业务。

电子商务的类型:从其交易对象来看,电子商务的应用包括企业与企业之间的电子商务 (B2B)、企业与消费者之间的电子商务(B2C)、企业与政府之间的电子商务 (B2G)、政府与消费者之间的电子商务(G2C)、企业内部的电子商务。

电子商务的本质特点:电子商务的重点在于商务、电子商务的核心竞争力在于信息平台、电子商务的使命在于利用互联网技术对传统资源的整合。

电子商务实现贸易的全球化、直接化、网络化,发展电子商务是不可阻挡的趋势,而我国的电子商务尚不完善。要实现全过程的电子商务,就要加快网络基础设施建设和网络互联,实现金融电子化及海关、税务、行政监管部门电子化,市场环境网上支付,建立安全体系认证结构,健全相关法律法规等等。

电子商务系统是保证以电子商务为基础的网上交易实现的体系。网上交易的信息沟通是通过数字化的信息渠道实现的,交易双方必须拥有相应的信息技术工具。为保证交易双方进行等价交换,必须提供相应的货物配送和支付结算手段。此外,为保证企业、组织和消费者能够利用数字化沟通渠道,保证交易能顺利进行配送和支付,需要由专门提供服务的中间商参与,即需要电子商务服务商。

iii

为了完成这次电子商务系统的设计,我们去浏览了国内电子商务网站的三大巨头:淘宝网、易趣网和拍拍网。经过研究与分析,并且结合以往的购物经历,我们认为电子商务与传统的商务活动方式相比,具有以下几个特点:交易虚拟化;交易成本低;交易效率高。 (4)总结

网上商城的开发与利用,必将成为未来人们购物的主要趋势。电子商务的重点在于商务、电子商务的核心竞争力在于信息平台、电子商务的使命在于利用互联网技术对传统资源的整合。电子商务系统是保证以电子商务为基础的网上交易实现的体系。网上交易的信息沟通是通过数字化的信息渠道实现的,交易双方必须拥有相应的信息技术工具。为保证交易双方进行等价交换,必须提供相应的货物配送和支付结算手段。

所以,研究与开发网上购物的网上商城的设计与实现,势在必行。 参考文献

[1]清宏计算机工作室.JSP编程起步[M].北京: 机械工业出版社, 2009:21-35. [2]王国辉.JSP数据库系统开发完全手册[M].人民邮电出版社,2010年3月: 45-50. [3]赵寒 ,王明微, 李山 .Eclipse 完全手册[M].北京:电子工业出版社, 2010:17-28. [4]张桂元,贾燕枫 .Eclipse开发入门与项目实践[M].北京: 人民邮电出版社,2010:52-60. [5]章立民.SQL Server 2005中文版完全实战.入门篇[M].北京: 中国铁道出版社,2009:10-50. [6] 宋昆、李严.SQL Server数据库开发实例解析[M].机械工业出版社,2010年1月:47-53. [7] 王珊,萨师煊.数据库系统概论(第四版)[M]. 北京:高等教育出版社,2010:17-23. [8]陈威,白伟明.JSP工程应用与项目实践[M].机械工业出版社,2010年2月:110-117. [9]印旻.Java语言与面向对象程序设计(第2版) [M].北京:清华大学出版社,2007.11:83-87. [10]蒋蕾基于JSP开发的网上购物系统[J]. 电脑知识与技术, 2010.8:72-83.

iv

西南大学本科毕业论文(设计)开题报告

论文题目 系别专业 学 号 基于J2EE三层体系结构的网上商城的系统设计与实现 信息管理与信息系统 222010602063029 年 级 2010级 姓 名 高明举 开题日期 指导教师 2013.11.30 李瑞 1.本课题研究意义: 近年来,Internet技术得到迅速的发展,已经成为计算机产业的一个技术热点。促成Internet高速发展的因素之一就是Web技术。Web技术的发展使得那些具有交互动态页面、有条理的数据库查询、丰富信息内容的页面成为最吸引人的网页。浏览Web有着执行Windows程序一样的感觉和操作性。随着Internet技术的发展,它已经成为一种操作平台,为用户提供强大的服务,例如网上购物,网上电子商务,社会信息数据库服务等。 2.研究内容: 该网上商城的设计与实现主要由前台商品展示及销售和后台管理两部分组成。前台部分可以查看商品详情,会员登录后才能购买;后台登陆后,不仅可以查看商品销售情况,还可以管理会员、商品、公告等。 (1)前台 a).商品展示:特价商品、销售排行、新品上架等。 b).检索功能:主要用于按商品大分类模糊查询。 c).会员:登录、注册。 d).购物车:和实际生活中的购物车一样,用于暂时保存挑选的商品。 本系统前台要实现的功能结构如下: (2)后台: a).商品管理:显示商品信息、添加商品信息、修改商品信息、删除商品信息等功能。 - 1 -

b).后台会员管理:主要是查看会员基本信息和对于经常失信的会员解冻或冻结。 c).订单管理:主要是执行订单和查看订单的详细信息,但不能修改订单信息。 d).公告管理:主要是查看公告信息、添加公告信息和删除公告信息。 本系统后台要实现的功能结构如下: 3.技术路线、研究方法和研究进度: (1)技术路线: 开发环境: JDK7.0;MyEclipce8.5;SQL Server 2005 开发模式: B/S三层架构的模式 设计语言: java语言 (2)研究方法: 调查法:实际调查网上在线购物需求,根据其需求进行设计分析。 文献收集法:在图书馆和互联网搜索相关资料,全面分析系统需求。 比较研究法:通过个别案例进行分析研究,吸取开发经验,完成自己的系统开发。 (3)研究进度: 2013年11月初-12月初:根据需求,完成文献搜索和撰写开题报告。 2013年12月初-2014年2月:完成系统分析设计和总体设计。 2014年3月初-2014年4月初:完成毕业设计程序实现以及毕业设计文档的撰写 2014年4月初-2014年5月初:毕业设计论文改进和文档定稿 2014年5月中旬:提交论文和系统,准备论文答辩。 4.导师意见: 指导教师(签名): 年 月 日 - 2 -

5.系意见: 系(盖章) 年 月 日 说明:开题报告应在教师指导下由学生独立撰写。在毕业论文(毕业设计)开始二周内完成,交指导教师审阅,并接受学校和学院检查。

- 3 -

正文

基于J2EE三层体系结构的网上商城的设计与实现

高明举

西南大学荣昌校区信息管理系,重庆荣昌 402460

摘要:本论文探讨了基于J2EE三层体系结构的网上商城的设计与实现,现在网上购物已成为一

种社会潮流。对于现在功能更好的,更全面的关于网上商城的系统,已成为人们的一种呼应。。该网上商城的系统是用JSP在网络上架构一个动态的在线购物系统,本系统包括了两大主要板块:前台购物、后台管理。这两大板块包括了现在网上购物系统的主要基本功能。用户可以方便的使用,完成网上浏览、购物等操作,管理员也可以在后台方便的进行对网站和用户的管理操作。本系统操作便捷,界面明了,具有很好的可扩展性和可维护性

关键词:jsp,网上购物,在线购物系统。

Design and implementation of J2EE three layer system structure based

on the online shopping mall

Gao Mingju

Department of Information Management, Southwest University, Chongqing 402460, China

Abstract: This paper discusses the design and implementation of J2EE three layer system

structure based on the online shopping mall, now online shopping has become a social trend. For now the function better, more comprehensive system of online shopping mall, has become a kind of echo people.. The online shopping system is the online shopping system in a dynamic network architecture with JSP, the system includes two major parts: the shopping, the backstage management. The two plates are now online shopping system including the main basic functions. The user can conveniently use, complete the online browsing, shopping and other operations, the administrator can also convenient in the background of websites and user management operations. This system operation is convenient, the interface is clear, has good scalability and maintainability.

Key word: JSP, Online shopping, E-commerce system

1

第1章 引言

1.1研究背景

随着计算机和网络的日趋普及,越来越多的商家在网上升起商店,向消费者展示出一片新鲜的购物大地。在美、日等信息化程度较高的国家和地区,网络商店发展速度迅猛,美国的世界级超一流的零售商,如沃尔玛凯玛特、家庭仓储、科罗格、J.C培尼等纷纷跻身于网络经商的行列。调查表明:美国的家庭已越来越习惯于在家中从网上购物。

在我国,网上购物从无到有也不过短短几年时间。我国第一家网上购物发生在1996年,燕莎友谊商场首次通过网上商城售出一个景泰蓝,虽然货款的支付不是在网上进行的,但这毕竟为我国零售业奏出了网上购物的先声。如今,在北京、上海、深圳等大城市,已有200多家商场,专卖店开设了网上商店,还有一些正处在观望阶段。真正意义上的网上购物,即货款的结算在网上进行,已在国内实现。深圳无虹商场去年5月开办了我国第一家实行计单和支付一体上的网上商店,上网的消费者只要拥有一张招商银行的“一卡通”,便可轻松购物, 24小时内商家送货上门。商家投资网上商店目的是赚钱。但从目前网上商店的运营情况来看,上网者不购物、购物者不上网的现象非常普遍,网上生意渗淡已是目前各大网上商店共同的困惑。上海首家网上商店——上海亿样购物中心由于经营不善,开业不到半年即关门停业,北京的一些大型零售商场,其网上商店“门庭冷落”。

结算方式的原始落后是网上购物致命的弱点。在国外,计算机一般都与银行的帐户相联,消费者和网络商店只需和网上银行打交道,不必当面直接支取现金。在我国目前除淘宝、拍拍等几家网上商店进行网上购物结算外,大部分商家结算只能采取 “送货上门、到货付款”或“邮寄上门、贷款邮资先付”的方式。这样不但浪费了时间和人力,而且限制了网络的覆盖范围和商品的结构种类。因此,安全、快捷、方便的电子支付手段将是今后网上商店健康发展的主要要素。

1.2研究目的及意义

电子商务是伴随着信息经济的脚步,在20世纪90年代兴起于美国、欧洲等发达国家的一个新概念。目前,国际上对电子商务尚无统一的定义。一般来说,狭义的概念是指在开放的国际互联网及其它网络的环境下,通过服务器的运用,实现消费者的

2

网上购物、企业间商业交易的一种新型交易运营模式。即电子商务=Web(服务器)+IT(信息技术)+企业业务。

电子商务的类型:从其交易对象来看,电子商务的应用包括企业与企业之间的电子商务 (B2B)、企业与消费者之间的电子商务(B2C)、企业与政府之间的电子商务 (B2G)、政府与消费者之间的电子商务(G2C)、企业内部的电子商务。

电子商务的本质特点:电子商务的重点在于商务、电子商务的核心竞争力在于信息平台、电子商务的使命在于利用互联网技术对传统资源的整合。

电子商务实现贸易的全球化、直接化、网络化,发展电子商务是不可阻挡的趋势,而我国的电子商务尚不完善。要实现全过程的电子商务,就要加快网络基础设施建设和网络互联,实现金融电子化及海关、税务、行政监管部门电子化,市场环境网上支付,建立安全体系认证结构,健全相关法律法规等等。

电子商务系统是保证以电子商务为基础的网上交易实现的体系。网上交易的信息沟通是通过数字化的信息渠道实现的,交易双方必须拥有相应的信息技术工具。为保证交易双方进行等价交换,必须提供相应的货物配送和支付结算手段。此外,为保证企业、组织和消费者能够利用数字化沟通渠道,保证交易能顺利进行配送和支付,需要由专门提供服务的中间商参与,即需要电子商务服务商。一个完整的电子商务系统。

1.3MyEclipce平台的搭建

MyEclipse企业级工作平台(MyEclipse Enterprise Workbench ,简称MyEclipse)是对Eclipse IDE的扩展,利用它我们可以在数据库和JavaEE的开发、发布,以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的JavaEE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML, Struts, JSP, CSS, Javascript, SQL, Hibernate。在结构上,MyEclipse的特征可以被分为以下几类:

①J2EE模型。②WEB开发工具。③EJB开发工具。④应用程序服务器的连接器。对于每一种功能上的类别,在Eclipse中都有相应的功能部件,并通过一系列的插件来实现它们。MyEclipse结构上的这种模块化,可以让我们在不影响其他模块的情况下,对任一模块进行单独的扩展和升级。

简单而言,MyEclipse是Eclipse的插件,也是一款功能强大的J2EE集成开发环境,支持代码编写、配置、测试以及除错,MyEclipse6.0以前版本需先安装Eclipse。

3

⑤J2EE项目部署服务。⑥数据库服务。⑦MyEclipse整合帮助。[3]

1.3数据源的配置

JDBC驱动程序是独立于数据库系统的,但几乎所有的数据库系统都有自己的私有协议,用来与客户端应用程序通信。所以JDBC驱动程序可以部分的利用这些已有上网数据库引擎。按照JDBC对这些数据库引擎的依赖程度,可以分为四类:JDBC-ODBC桥、通过本地客户机网络代码连接数据库、通过中间件连接数据库、与DBMS直接连接,我选择的就是JDBC-ODBC桥。下面就简述创建新数据源的步骤。

首先,要定义一个数据库名称(DSN)。打开“开始-->设置-->控制面板-->管理工具-->数据源(ODBC)”。在弹出的“ODBC数据源管理器”对话框中选择“系统DSN”选项卡,单击“添加”按纽,选择“SQL Server”为数据库驱动程序,单击“完成”按纽。然后在弹出的“创建SQL Server的新数据源”对话框的“数据源名称”文本框输入“db_shop”,在“描述”文本框中可以写上数据库的功能。在“服务器”下拉列表中选择要连接的SQL Server,此处要安装的本地服务器,所以选择“local”即可。单击“下一步”按钮,选择“使用用户输入登录ID和密码的SQL Server验证”单选按钮,“登录ID”默认为“sa”,密码为空。单击“下一步”按钮,在下拉列表中选择该数据库的数据库为“db_shop”。单击“下一步”按钮,再单击“完成”按钮,在“ODBC Microsoft SQL Server 安装”对话框中单击“确定”即可。

4

第2章 网站的设计思想

在互联网服务业务方面:电子邮件、搜索引擎、网上银行、在线交易、网络广告、网络新闻、网络游戏等服务业务仍然快速的发展着。

而本次设计的任务是,构建一个电子商务网站,采用的主要技术是基于服务器端的JSP、Java的组件JavaBean,以及网页编程语言HTML。

JSP是Java Server Page的缩写,是由Sun Microsystems公司倡导、许多公司参与建立一种动态网页技术标准,它在动态网页的建设中有强大而特别的功能。JSP是一种服务器端HTML(或XML)嵌入Java代码的脚本语言,是开发Web动态网站快速而有效的工具,JSP的技术的优势:

(1). JSP技术是用Java语言作为脚本语言的。Java语言是成熟的、强大的、易扩充的编程语言。

(2). 高效性与安全性。JSP在执行前先被编译成字节码,字节码由Java虚拟机解释执行,比源码解释效率高。

(3). 可维护性。由于JSP技术是一种开放的、跨平台的结构,因此Web服务器、平台及其他组件能很容易升级或切换,且不会影响JSP基本的应用程序。

(4).稳定性。 (5).产品的多样性。

目前,在国内JSP还是一种较新的技术。但JSP+Servlet+JDBC+JavaBean目前已经成为开发电子商务平台的主流技术。随着国内与国际的接轨,JSP必将成为网站开发技术的首选。

5

第3章 开发工具的选用及关键技术

该系统是用JSP在网络上架构一个动态的在线购物的设计与实现,它是在WindowsXP下,采用B/S三层架构的模式,客户端使用浏览器进行访问,服务器端使用JDK6.0+Tomcat6.0的访问形式,以提高系统的安全性;在系统开发时,使用MyEclipse作为网页开发工具,SQL Server2000作为系统数据库,Tomcat6.0作为Web服务器。

3.1 JSP技术 3.1.1 JSP简介

在传统的网页HTML文件(*.htm,*.html)中加入Java程序片段(Scriptlet)和JSP标记(tag),就构成了JSP网页(*.jsp)。JSP页面看上去象标准的HTML和XML页面,并附带有JSP引擎能够处理和抽取的额外元件。

Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序片段,然后将执行结果以HTML格式返回给用户。

程序片段可以操作数据库、重新定向网页以及发送E-mail等,这就是建立动态网站所需要的功能。

所有程序都在服务器端执行,网络上传送给客户端的仅是得到的结果,对客户浏览器的要求最低。它基于强大的Java语言,具有良好的伸缩性,在网络数据库应用开发领域具有得天独厚的优势。 3.1.2 JavaBean简介

JavaBean是一种基于Java的软件组件,JavaBean和Active控件一样,可以通过封装业务逻辑建立一整套可重复利用的对象库。JSP对于在Web应用中集成JavaBean组件提供了完善的支持,这种支持不仅能缩短开发时间(可以直接利用经过测试和可信任的已有组件),避免重复开发,也为JSP应用带来了更多的可伸缩性。JavaBean组件可以用来执行复杂的计算任务,或负责与数据库的交互及数据提取等。

由于Java语言在这些方面所具有的特点和优势,使得基于它的软件JavaBean组件技术倍受人们关注。它的任务就是:一次编写,可以在任何地方执行,可以在任何地方重用。JavaBean组件可以在任何地方重用包括了可以在应用程序、其他组件、文档、Web站点和应用程序构造器工具等多种方案中再利用。

6

为了创建和使用Java软件组件,JavaBean被实现为一种独立于平台和结构的应用程序接口,它的实现可以忽略内部的结构和细节问题,只需定义其外部的特征及对外功能就行。其中,属性、方法和事件三种接口可以独立对外进行开发。

3.2 SQL Server数据库 3.2.1 SQL Server概述

SQL全称是“结构化查询语言(Structured Query Language)”,最早的是IBM的圣约瑟研究实验室为其关系数据库管理系统SYSTEM R开发的一种查询语言,它的前身是SQUARE语言。SQL语言结构简洁,功能强大,简单易学,所以自从IBM公司1981年推出以来,SQL语言,得到了广泛的应用。如今无论是像Oracle ,Sybase,Informix,SQL server这些大型的数据库管理系统,还是像Visual Foxporo,PowerBuilder这些微机上常用的数据库开发系统,都支持SQL语言作为查询语言。

SQL很简单,一方面是工作量不大,一方面是已经标准化。现代数据库大多数都是用SQL的变形,大多数符合American National Standards Institute(ANSI)92标准。这个标准使我们可以用相近的SQL代码访问许多不同的数据库。

Structured Query Language包含4个部分:数据查询语言DQL-Data Query Language SELECT、数据操纵语言DQL-Data Manipulation Language INSERT, UPDATE, DELETE、数据定义语言DQL-Data Definition Language CREATE, ALTER, DROP、数据控制语言DQL-Data Control Language COMMIT WORK, ROLLBACK WORK。 3.2.2 SQL Server的特点

SQL数据库技术具备以下特点: (1)综合统一

1)SQL语言集数据定义语言DDL、数据操纵语言DML、数据控制语言DCL的功能于一体,语言风格统一,可以独立完成数据库生命周期中的全部活动,包括定义关系模式、录入数据以建立数据库、查询、更新、维护、数据库重构、数据库安全性控制等一系列操作要求,这就为数据库应用系统开发提供了良好的环境,例如用户在数据库投入运行后,还可根据需要随时地逐步地修改模式,并不影响数据库的运行,从而使系统具有良好的可扩充性。

2)在关系模型中实体和实体间的联系均用关系表示,这种数据结构的单一性带

7

来了数据操作符的统一,即对实体及实体间的联系的每一种操作(如:查找、插入、删除、修改)都只需要一种操作符。

(2)高度非过程化非关系数据模型的数据操纵语言是面向过程的语言,用其完成某项请求,必须指定存取路径(如:早期的FoxPro)。而用SQL语言进行数据操作,用户只需提出“做什么”,而不必指明“怎么做”,因此用户无需了解存取路径,存取路径的选择以及SQL语句的操作过程由系统自动完成。这不但大大减轻了用户负担,而且有利于提高数据独立性。 (3)面向集合的操作方式

1)非关系数据模型采用的是面向记录的操作方式,任何一个操作其对象都是一条记录。例如:查询所有平均成绩在80分以上的学生姓名,用户必须说明完成该请求的具体处理过程,即如何用循环结构按照某条路径一条一条地把满足条件的学生记录读出来。

2)SQL语言采用集合操作方式,不仅查找结果可以是元组的集合,而且一次插入、删除、更新操作的对象也可以是元组的集合。 (4)以同一种语法结构提供两种使用方式

1)SQL语言既是自含式语言,又是嵌入式语言。且在两种不同的使用方式下,SQL语言的语法结构基本上是一致的。

2)作为自含式语言,它能够独立地用于联机交互的使用方式,用户可以在终端键盘上直接键入SQL命令对数据库进行操作。

3)作为嵌入式语言,SQL语句能够嵌入到高级语言(例如:VC、VB、Delphi、Java\\FORTRAN)程序中,供程序员设计程序时使用。

8

第4章 系统的概要设计

4.1需求分析

此基于JSP的购物网站分前台功能和后台功能:

前台部分由用户使用,主要包括新品上架、特价商品、销售排行、购物车、会员管理、商品公告及订单查询、商品查询等。

后台部分由管理员使用,主要包括对商城内的一些基础数据进行有效管理,包括商品管理、会员管理、订单管理、公告管理等。

4.2系统的功能模块

根据如上得到的用户需求,我们将本系统分为前台和后台。

(1)前台部分由用户使用,主要包括新品上架、特价商品、销售排行、购物车、会员管理、商品公告及订单查询、商品查询等。

系统前台功能结构如图2.1所示。

Fig. 2.1 In front of the system function structure diagram

图2.1 系统前台功能结构图

新品上架:在首页展示几条上架新品的商品信息,点击进该模块后展示更多新上架商品。

特价商品:在首页展示几条特价商品信息,点击进该模块后展示更多特价商品。 销售排行:统计销售数量再按统计后的销售数量降序排列。 购物车:和实际生活中的购物车一样,用于暂时保存挑选的商品。

9

会员管理:包括会员注册、会员登录、会员资料修改三部分。

商品查询:在首页选择需要查询的商品种类,查看该类别的全部商品信息,然后单击商品名称查看相应商品的详细信息。

(2)后台部分由管理员使用,主要包括对商城内的一些基础数据进行有效管理,包括商品管理、会员管理、订单管理、公告管理等。

系统后台功能结构如图2.2所示。

Fig. 2.2 Backend system function structure diagram

图2.2 系统后台功能结构图

商品管理:实现对商品信息的管理,包括分页显示商品信息、添加商品信息、修改商品信息、删除商品信息等功能。

会员管理:主要是查看会员基本信息和对于经常失信的会员解冻或冻结。 订单管理:主要是执行订单和查看订单的详细信息,但不能修改订单信息。 公告管理:主要是查看公告信息、添加公告信息和删除公告信息。

4.3 系统的流程分析

系统前台处理业务流程如图2.3所示

此图显示的是系统的整体数据流程。用户首先在注册界面进行注册,填好个人相关信息,系统会把提交的信息进行核对并且记录数据库。已注册的用户首先在登陆界面输入账号和密码,选择核对身份,点击确认后系统将会把用户输入的信息与数据库中用户表里面的数据进行对照核实,以确认账号是否正确,若正确又是何种身份登陆。当用户成功登陆后,根据自己的身份对于系统可以进行相应的操作,并与数据库中的数据交互。登陆成功后,用户可根据自己的需要对相应功能进行操作。

开始 10 登陆网站首页

4.4数据库设计 4.4.1 概念设计

Fig. 2.3 The flow diagram of the business reception

图2.3前台业务流程图

11

根据以上各节对系统所做的需求分析和系统设计,规划本系统中使用的数据库试题分别为商品大类别实体、商品小类别实体、商品实体、会员实体、会员订单实体、会员订单明细实体、管理员信息实体、公告信息实体和友情链接实体。下面分别介绍几个关键实体的E-R图。

(1)管理员实体

管理员信息包括管理员编号、管理员登录名称、管理员登陆密码属性。管理员不能再网站上注册生产,只能直接在数据库里直接添加,其E-R图如图3.1所示。

Fig. 3.1 E-R graph of The administrator

图3.1管理员的E-R图

管理员名称 管理员 密码 编号

(2)商品实体

商品信息包括自动生产的商品编号、类别编号、商品名称、商品介绍、商品定价、商品现价、商品图片、录入时间、是否新品、是否特价和浏览次数属性。商品实体的E-R图如图3.2所示。

图片文件 录入时间 是否新品 Fig. 3.2 E-R graph of The commercia

图3.2商品的E-R图

是否特价 商品简介 商品定价 商品现价 商品 浏览次数 商品名称 类别号 商品号 (3)会员实体

12

会员信息包括自动生成的会员编号、登录账号、登录密码、真实姓名、所在城市、联系地址、邮政编码、证件号码、证件类型、等级、消费额、电话、电子邮箱、是否冻结属性,会员的E-R图如图3.3所示。

等级 证件类型 证件号码 邮政编码 电话 消费额 联系地址 是否冻结 Email地址 会员 会员编号 用户名 真实姓名 密码 所在城市 Fig. 3.3E-R graph of The Members

图3.3会员的E-R图

(4)订单实体

订单信息包括订单编号、品种数、订货人账号、订货人真实姓名、订货人地址、订货人邮政编码、订货人电话、付款方式、运送方式、折扣、订货时间、订货是否执行及备注属性。其中订货是否执行信息中,1代表货物已经发送出去,0代表货物没有发送出去。会员订单的E-R图如图3.4所示。

是否已执行

折扣 运送方式

Fig. 3.4 E-R graph of The order

13

用户名 订单编号 备注 真实姓名 品种数 订单 电话 订货日期 联系地址 邮政编码 付款方式

图3.4订单的E-R图

4.4.2 逻辑结构设计

本系统数据库采用SQL Server 2000数据库,系统数据库名称为db_shop,共包含9张表,下面给出主要数据表的结构。

(1)tb_superType(商品大分类信息表)

商品大分类信息表主要用来保存商品类别中大的类别信息。表tb_superType的结构如表3-1所示。

Table 3-1 The structure of tb_superType

表3-1表tb_superType的结构

字段名 id TypeName

int varchar

数据类型

4 50

长度

是否主键

描述 类别ID 类别名称

(2)tb_subType(商品小分类信息表)

商品小分类信息表主要用来保存商品类别中小的类别信息。表tb_subType的结构如表3-2所示。

Table 3-2 The structure of tb_subType

表3-2表tb_subType的结构

字段名 ID superType TypeName

int int varchar

数据类型

长度 4 4 50

是否主键 是

描述 类别ID 父类ID 类别名称

(3)tb_rebate(折扣表)

折扣表用来保存顾客在购买商品时的折扣信息。表tb_rebate的结构如表3-3所示。

Table 3-3 The structure of tb_rebate

表3-3表tb_rebate的结构

字段名 grade Amount rebate

money float

数据类型

varchar

长度 20 8 8

是否主键 是

等级 消费额 折扣

描述

(4)tb_order_detail(订单明细表)

订单明细表用来保存订单的详细信息。表tb_order_detail的结构如表3-4所示。

Table 3-4 The structure of tb_order_detail

表3-4表tb_order_detail的结构

字段名 ID

数据类型 bigint

长度 8

是否主键 是

ID号

描述

14

orderID goodsID price number

bigint bigint money int

8 8 8 4

与tb_Order表的OrderID字段关联 商品ID 价格 数量

(5)tb_order(订单信息主表)

订单信息主表用来保存订单的概要信息。表tb_order的结构如表3-5所示。

Table 3-5The structure of tb_order

表3-5表tb_order的结构

字段名 OrderID bnumber username Truename address postcode tel pay carry rebate OrderDate enforce bz

bigint smallint varchar varchar varchar varchar varchar varchar varchar float smalldatetime int varchar

数据类型

长度 8 2 15 15 100 10 20 20 20 8 4 4 200

是否主键 是

描述 订单编号 品种数 用户名 真实姓名 联系地址 邮政编码 电话 付款方式 运送方式 折扣 订货日期 是否执行 备注 (6)tb_member(会员信息表)

会员信息表主要用来存储所注册的会员的信息。表tb_member的结构如表3-6所示。

Table3-6 The structure of tb_member

表3-6表tb_member的结构

字段名 ID userName trueName passWord city address postcode cardNO cardType grade Amount tel email

int varchar varchar varchar varchar varchar varchar varchar varchar int money varchar varchar

数据类型

长度 4 20 20 20 20 100 6 24 20 4 8 20 100

15

是否主键 是

描述 会员ID 用户名 真实姓名 密码 所在城市 联系地址 邮政编码 证件号码 证件类型 等级 消费额 电话 Email地址

Fig.5.5 The operation results web page 图5.5 网站前台首页的运行结果

下面以列表形式给出前台页面各部分的说明信息,如表5-1所示。

Table 5-1 The front page description

表5-1 前台页面说明

区域 1 2 3 4 5 6 7 8 9 10 11

名称 网站导航 用户登录 商品搜索 商城公告 特价商品 商品分类 销售排行 商品上架 广告招商位 后台登录入口 版权信息

说明

主要展示网站的旗帜广告和站内导航条 主要用于会员登录和提供会员注册的入口 主要用于按商品的大分类模糊查询商品信息 主要用于显示网站最新公告 用于显示最新的两条特价商品的信息 按类别展示商品信息

显示商城中销售量最好的10种商品 主要用于显示最新上架的4种商品信息 用于显示网站的广告招商信息 网站后台登录入口 显示网站版权信息

对应文件 navigation.jsp left.jsp search.jsp left.jsp index.jsp right.jsp left.jsp index.jsp right.jsp copyright.jsp copyright.jsp

5.1.3 会员管理模块设计

在前台的会员管理模块中主要包括会员注册、会员登录、会员资料修改3部分。由于会员资料修改同会员注册的实现方法类似,只是调用的SQL语句不同,所以此处只给出会员注册和会员登录进行介绍。

(1).会员注册

会员注册的入口位于网站首页的左侧。用户单击【注册】按钮即可进入到会员注册页面Login_U.jsp。会员注册模块由两个页面组成,一个是用于收集用户输入的注册信息的会员注册页面register.jsp,该页面主要由各个表单元素组成,用于提示用户填写注册信息,在用户名的填写框旁还有一个checkUserName.jsp的链接,可以先检测用户名是否可用再继续填写下面的信息。另一个用于将会员注册信息保存到数据表中的处理页register_deal.jsp,当用户名已存在就弹出“该用户名已存在,请重新注册!”的提示,并将页面重定向到注册页面;如果用户名不存在则使用member.java中的member类保存客户端输入的会员信息,再通过调用

21

memberDaoImpl.java中的insert()方法将会员信息保存到会员信息表中,如果插入成功则提示“用户注册成功!”,否则提示“用户注册失败!”。

其流程图如图5.6所示。

开 始 是 是 注册失败 接收注册信息 数据是否为空 否 两次密码是否一致 否 查询数据库 用户名是否被占用 否 是 注册成功 Fig.5.6 User registration system flow chart (2).会员登录

图5.6 结用户注册系统流程图 束 会员登录用于网站会员登录本网站进行购物或查看订单情况。

会员登录入口位于网站首页的左侧,当用户在登录页面Login_U.jsp中输入用户名和密码后,单击【登录】按钮,系统将对输入的用户名和密码进行验证,如果用户输入的用户名存在并且冻结字段的值不为1,则判断用户输入的密码是否正确,如果密码正确,则重新进入网站首页,显示登录用户的用户名、【修改资料】按钮、【退出登录】按钮,否则提示登录失败。[10]但无论失败还是成功都将页面重定向到主页面index.jsp。其流程图如图5.7所示。 接收登录信息 登录失败 查询数据库 22 开 始

Fig.5.7 User login process map

图5.7 用户登录流程图

5.1.4 会员资料修改模块设计

个人资料修改模块在前台主页的导航条上,单击“会员资料修改”链接,进入用户资料修改页面modifyMember.jsp,该页面主要给用户修改用户信息,用户只有在登录后才有权限修改个人资料信息。

个人信息填写完毕后单击“修改”,则调用member.java中的member类保存客户端更新的会员信息,再通过调用memberDaoImpl.java中的update()方法将会员信息保存到会员信息表中,再在modifyMember_deal.jsp判断用户信息是否成功更新,如果更新成功则提示“会员信息修改成功!”,否则提示“会员信息修改失败!”。 个人资料修改模块流程图如图5.8所示。

23

开 始 修改失败 接收修改资料信息 将信息更新到数据库中 否 更新是否成功 是 修改成功 结 束

Fig.5.8 Personal data updated module flow chart

图 5.8 个人资料修改模块流程图

5.1.5 购物车模块设计

购物车模块中,主要包含以下几个功能,即:添加购物车、查看购物车、生成订单和清空购物车。

(1).添加至购物车

添加购物车就是把用户选中的商品暂时存放在购物车中。当用户在首页或商品详情展示页面goods_detail.jsp中单击 “购买”按钮时,运行cart_add.jsp页面将商品的信息从数据库调出来,再重定向到购物车页面cart_see.jsp,便将该商品放入购物车中并查看。

添加商品的代码流程是从session中读取cart对象,如果为空则说明还没有进行购物或者已经清空了购物车,需要新建购物车对象;将商品名称与购物车列表中的商品名称对比,如果已经存在,则把商品数量加1。

在这段代码流程中,还使用了集合类型。集合类型在Java中又称为向量,是一元集合,可以加入重复数据,它的作用和数组相同,可以保存一系列数据,但集合类型也有它独特的优点,就是可以方便地对集合内的数据进行查找、增加、删除和修改等操作。

(2).查看购物车

24

为了方便用户随时查看购物情况,在网站的首页加入了查看购物车的链接,通过它可以将用户所有选中的商品信息放入购物车中显示出来。

首先要判断用户是否登录和购物车是否为空,如果用户没登陆,则提示用户还没登陆,然后跳转到主页面;如果购物成为空,则跳转到cart_null.jsp页面,告诉用户购物车为空,可以单击其间的“我要购买商品”按钮跳转去主页面选购商品。进入到非空的购物车页面cart_see.jsp,则可以将保存在session中的购物信息利用for语句输出到浏览器中,同时根据商品的现价、购买数量自动计算每种商品的金额和购物车中全部商品的合计金额。

在查看购物车页面还提供了“继续购物”去首页index.jsp、“去收银台结账”去cart_checkout.jsp页面、“清空购物车”去cart_clear.jsp页面和“修改数量”的链接,可以执行接下来要执行的操作。

(3).修改购物车中指定商品的购买数量

购物车中还需加入修改商品数量的功能才合理。在购物车中,由于商品的数量被存放在文本框中,用户只有在某种商品后面的文本框中输入相应的数量即可。购物车页面中的“修改数量”超链接是为确保修改购买数量而设置的。

具体有两种方法可以修改商品数量,一种就是用户可以在cart_clear.jsp页面文本框中输入想要购买的数量,然后单击“修改”按钮。“修改”的执行是在cart_modify.jsp页面中,根据用户的输入修改商品数量,完成修改后再自动重定向到cart_see.jsp页面;另一种就是购物车中已经加入了某种商品,然后去商品信息页面继续购买这种商品,商品数量就会加1,也达到了修改的目的。

(4).从购物车中移去指定商品

如果欲删除该商品,可以在数量文本框里输入“0”,并需要单击“修改”按钮来更新购物车中商品的数量,也可以直接点击商品“退回”项对应的图标到cart_move.jsp页面执行删除操作后再重定向到cart_see.jsp页面,删除即完成。系统每次只会将1个商品放入购物车中,如果用户需要多个同种商品,可以通过修改商品信息右侧相应文本框的值来完成。

(5).清空购物车

清空购物车是指当用户订单生成后,倘若还想继续购物一定要清空购物车再进行选购商品,这样防止重复购物,而且不想要购物车中的物品时,也可以单击“清空购物车”来一次性删除全部商品,方便快捷。其实清空购物车实现起来非常简单,在

25

cart_clear.jsp页面中将session中存储的cart对象清空,再重定向到

cart_null.jsp页面,此时可以点击其间的“我要去购物”按钮去主页面选购商品。

购物车模块流程图如图5.9所示。

查询数据库 否 数据是否存在 是 显示商品的信息 否 是否放入购物车 是 购物车是否为空 没有该商品 否 购物车中已 存在该商品 是 该商品数量加1 是 新建购物车 否 将商品添加入购物车 修改商 品数量 显示购物车信息 是否继续购物 否 是否修改商品数量 否 是否清空购物车 否 是 删除购物 车中商品 是 是 否 是否去收银台 是 接收填写的订单信息 数据是否为空 是 否 Fig.5.9 The shopping cart module flow chart 订单信息存入数据库 否 图5.9 购物车模块流程图 更新是否成功 是 结 束 26

5.1.6 收银台模块设计

生成订单时网上购物商城的最终目的,前面所有功能的实现都是为最后生成一个用户满意的订单作基础,在此要生成一个可供用户随时查询的订单号,还要保存用户订单中所购买的商品信息。当用户确认对购物车内商品不再改变以后,就可以到收银台结帐并生成订单。结帐的流程为:从购物车cart_see.jsp页面中单击“去收银台结账”,跳转到cart_checkout.jsp页面,系统用户登录名到数据库tb_member表中提取用户的基本信息展示在页面,在用户自己选择付款方式、运送方式、填写备注后单击“提交”按钮,如果必填项都填写了,就跳转到cart_order.jsp页面,否则提示用户数据不完整。在跳转过程中系统根据用户的消费等级在tb_rebate表中级得出相应折扣值,再将相应数据插入数据库中的订单表tb_order中并生成订单号、订单明细表tb_order_detail表,并更新用户tb_member表的消费额,修改用户的消费等级,方便下次购物时计算折扣。如果其间那里没完成,就提示订单生成失败,否则就弹出提示成功生成订单,然后跳转到主页面index.jsp。

在生成订单模块中主要使用了调出用户信息并生成唯一订单号,调出用户信息就是完全的对数据库进行操作,利用session对象把登录后的用户名保存起来,在订单生成时把保存的用户名从数据库的用户标中取出即可;生成唯一订单号方法有很多,只要确保订单号码的唯一性及方便用户记录以便于查询自己订单的执行状态即可。

5.2 后台设计 5.2.1 后台总体框架

后台部分由管理员使用,主要包括对商城内的一些基础数据进行有效管理,包括商品管理、会员管理、订单管理、公告管理等。

(1).功能模块介绍

商品管理:实现对商品信息的管理,包括分页显示商品信息、添加商品信息、修改商品信息、删除商品信息等功能。

会员管理:主要是查看会员基本信息和对于经常失信的会员解冻或冻结。 订单管理:主要是执行订单和查看订单的详细信息,但不能修改订单信息。 公告管理:主要是查看公告信息、添加公告信息和删除公告信息。 (2).后台文件结构

27

系统后台文件结构,如图5.10所示。 会员管理 manage/membermanage.jsp 订单管理 manage/ordermanage.jsp 公告管理 manage/placardmanage.jsp 后台首页 后台登录 manage/login_m.jsp 解冻 manage/member_tha w.jsp 冻结 manage/member_ freeze.jsp 大分类信息管理 manage/superType.jsp 详细信息 manage/member_detail.jsp 执行订单 manage/order_enforce.jsp 添加公告信息 manage/placard_add.jsp 删除公告信息 manage/Del_deal.jsp 详细信息 manage/order_detail.jsp 商品管理 manage/index.jsp 退出后台 manage/logout.jsp 添加商品信息 manage/goods_add.jsp 详细信息 manage/goods_detail.jsp 删除商品信息 manage/goods_del.jsp 小分类信息管理 修改商品信息 manage/subType.jmanage/goods_ modify.jsp sp Fig.5.10 The background document composition diagram 图5.10 后台文件组成图

5.2.2 后台登录模块设计

在系统前台首页的底部提供了后台管理员入口,通过该入口可以进入到后台登录页面manage/Login_M.jsp。在该页面,管理员通过输入正确的用户名和密码即可登录到系统后台首页manage/index.jsp。当用户没有输入用户名或密码为空,系统都将通过check.js中的checkM()进行判断并给予提示信息,否则进入到管理员登录处理页验证用户信息。

(1).设计管理员登录界面

28

管理员登录页面主要实现收集用户输入信息及通过JavaScript的自定义函数验证用户身份。管理员登录页面所涉及的重要表单元素如表5-2所示。

Table 5-2 An administrator login page form elements involved

表5-2 管理员登录页面所涉及的重要表单元素

名称 元素类型 form1 form Manage text PWD password Submit button Submit3 button 含义

表单 管理员名 密码

“确认”按钮 “返回”按钮 重要属性

action=“login_M_deal.jsp” size=“20” Size=“20”

Value=“确认”onClick=“checkM(form1)” Value=“返回”“onClick=window.location.href=’../index.jsp’;” (2).编写用户身份验证的JSP处理页

当用户在登录窗口中输入用户名和密码后,单击“确认”按钮,系统将在manage/Login_M_deal.jsp页面对输入的用户名和密码进行验证:如果用户输入的用户名存在,则判断用户名输入的密码是否正确,如果密码也正确,则进入到网站后台首页,这时管理员才可以对系统后台进行管理,否则就回到前台的首页。其流程图如图5.11所示:

结 束 Fig.511 system administrator login of Flow chart

图5.11 管理员登录系统流程图 否 数据是否有效 是 登录成功 数据是否为空 否 查询数据库 是 接收登录信息 开 始 为了防止一些不法份子蓄意破坏,需要为网站后台设计用于验证用户身份的文件manage/safe.jsp,在网站后台页面中都加入语句,

29

这样当管理员没有正常登录时,会弹出“您还没有登录”的提示对话框,然后返回网站首页。

5.2.3 商品管理模块设计

Go购电子商城系统的商品管理模块主要实现对商品信息的管理,包括分页显示商品信息、管理商品分类、添加商品信息、修改商品信息、删除商品信息等功能。下面分别进行介绍。

(1).分页显示商品信息

商品管理模块的首页manage/index.jsp是分页显示商品信息,主要用于将商品信息表中的商品信息以列表的方式显示,并为之添加“修改”和“删除”功能,方便管理员对商品信息进行修改和删除。

在分页显示商品信息页面中主要显示商品名称、简介、是否新品、是否特价等信息,至于商品的其他信息,可以单击商品名称进入到商品详细信息页面manage/goods_detail.jsp查看。

要分页显示商品信息,首先要从数据表中查询出商品信息。实现商品查询的代码比较简单,只需使用page指令的import属性将数据库操作的JavaBean引到当前页面中,再创建并实例化connDB的一个对象“conn”,最好执行“conn”的executeQuery的方法即可实现。

(2).管理商品分类

在商品显示页面分别提供了大分类小分类信息管理的链接。

点击“大分类信息管理”就到跳转到manage/superType.jsp页面。在该页面以列表的形式显示大商品类别,可以进行删除操作。当你选择一个类别然后单击删除,则在super_Del_deal.jsp中会进行判断,如果大类别下还有小类别,则会提示删除小类别才能删除大类别,否则会提示删除成功,然后跳转到manage/superType.jsp。其中还设置了一个“全选/反选”的复选框,可以全选或全不选大分类名。页面右上角还提供了一个添加商品分类的链接,点进去就进入manage/super_add.jsp页面,输入类名后点击“保存”,就在其中的JavaScript脚本mycheck()进行判断,如果为空就出现提示框,否则进入manage/superType_add_deal.jsp页面再进行判断类名是否已经存在、是否添加成功。

30

点击“小分类信息管理”就跳转到manage/subType.jsp页面。在该页面以列表的形式显示大类别和小类别,也可以进行删除操作。当你选择一个小类别然后单击删除,则在subType_Del_deal.jsp中会进行判断,是否删除成功,然后跳转到manage/subType.jsp。其中还设置了一个“全选/反选”的复选框,可以全选或全不选大分类名。页面右上角还提供了一个添加商品分类的链接,点进去就进入manage/sub_add.jsp页面,先要选择大类别,再输入小分类名后点击“保存”,就在其中的JavaScript脚本mycheck()进行判断,如果为空就出现提示框,否则进入manage/subType_add_deal.jsp页面再进行判断小类名是否已经存在、是否添加成功。

(3).添加商品信息

在商品管理首页中单击“添加商品信息”即可进入到添加商品信息页面

manage/goods_add.jsp。添加商品信息页面主要用于向数据库中添加新的商品信息。

1)制作添加商品信息页面,该页面主要用于收集用户添加的商品信息和验证用户的输入信息是否合法。

添加商品信息页面所涉及的重要表单元素如表5.3所示。

Table 5-3 administrator login page form elements involved

表5.3 管理员登录页面所涉及的重要表单元素

名称 form1 goodsName Supertype typeID picture price newGoods sale

introduce Button Submit3

元素类型 form text select select text text radio radio textarea button button

含义 表单 商品名称 商品大分类 商品小分类 商品图片 商品定价 是否为新品 是否特价 商品简介 “保存”按钮 “返回”按钮

重要属性

action=”goods_add_deal.jsp”method=”post” Size=”50”

onChange=”F_super(this.value)”

class=”noborder” class=”noborder” cols=”60”row=”5”

value=”保存”onClick=”mycheck()” value=”返回”

onClick=”Jscript:history.back(-1)”

将商品信息分为两个类别(即大分类和小分类)。同时将商品的两个类别设置为级联菜单,即当管理员选定商品大类后,在商品小类的下拉列表中将显示出数据库中的该类别的子类信息,这时管理员即可很方便地选择商品的所属分类。

首先创建显示商品大分类的结果集,并将大分类中的第一个分类设置了小分类列表框的父类的默认值。然后将大分类中的第一个分类设置了小分类列表框的父类的默认值,并通过下拉列表显示商品大分类信息。当用户改变下拉列表框的值时,调用JavaScript函数解决用户刷新表单时下拉列表框恢复默认值的情况。

31

2)制作添加商品信息处理页面。 当用户输入信息单击保存后就进入manage/superType_Del_deal.jsp页面,判断商品是否已存在,如果不存在则使用JavaBean中的goods类保存客户端输入的商品信息,再通过调用GoodsDaoImpl中的insert方法将商品信息保存到商品信息表中。其流程图如图5.12所示。 插入是否成功 是 添加商品成功 结 束 Fig.5.12 Add the commodity information module flow chart

图 5.12 添加商品信息模块流程图

否 是否重复录入 否 信息插入数据库 是 否 是 开 始 接收商品信息 数据是否为空 否 数据是否正确 是 查询数据库 添加商品失败 (5).修改商品信息

在商品管理首页中单击想要修改的商品信息后面的修改图标,即可进入到修改商品信息页面manage/goods_modify.jsp,该页面主要用于修改指定商品的基本信息。

1)制作修改商品信息页面。修改商品信息页面同添加商品信息类似,只是在收集商品修改信息页面中需要为每个表单元素赋初值。

32

从上面可以看出如何为text类型的表单元素赋值,但是并不能看出如何为radio表单元素单选按钮赋值。radio表单元素的默认值是通过其checked属性控制的。下面给出“是否新品”单选按钮组的代码:

value=\否

从上面的代码中可以看出,当商品为新品时“是”按钮被选中,否则选中“否”按钮。

2)制作修改商品处理页面。修改商品信息的处理页

manage/goods_modify_deal.jsp同添加商品信息的处理页类似,只是在修改商品信息页中需要调用GoodsDaoImpl中的update方法修改商品信息。

(6).删除商品信息

在商品管理首页中单击想要删除的商品信息后面的删除图标即可进入到删除商品信息页面manage/goods_del.jsp。该页面也主要用于删除指定商品的基本信息。

1)制作删除商品信息页面。在制作删除商品信息页面时,首先也需要判断从商品管理首页传递的参数ID是否为空,如果为空值,则说明用户不是正常操作,需要将页面重定向到manage/index.jsp页面,否则才根据参数ID查询商品的基本信息并显示在页面中。实现该功能的流程图同修改商品信息的类似,这里不再赘述。

2)制作删除商品信息的处理页。删除商品信息的处理页也是通过JavaBean“GoodsDaoImpl”实现,只是此处需要调用其删除方法delete()。

5.2.4 会员管理模块设计

单击后台导航条中的“会员管理”即可进入到会员信息管理首页

manage/membermanage.jsp。对于会员信息的管理主要是查看会员基本信息和对于经常失信的会员给予冻结或解冻,但对于会员密码管理员是无权查看的。

查看会员基本信息manage/member_detail.jsp页面的实现方法同商品管理模块中分页显示商品信息类似,这里不再赘述。下面介绍如何冻结会员和对已经被冻结的会员进行解冻。

在会员信息表tb_member中,除了包括用户基本信息字段外,还包括一个标记会员信息是否被冻结的字段freeze,该字段为int型,默认值为0,该字段被规定值只

33

有0和1两个,0代表未被冻结,1代表已经被冻结。由此可见,实现冻结用户只需将该会员的freeze字段值置为1,实现解冻只需将freeze字段的值置为0。

当要冻结会员,点击“冻结/解冻”项对应的图标,然后就进入

manage/member_freeze.jsp页面,并更新数据库中会员的信息,然后提示已成功冻结会员,跳转回会员管理页面否则提示冻结失败。

当要解冻会员,点击“冻结/解冻”项对应的图标,然后就进入

manage/member_thaw.jsp页面,并更新数据库中会员的信息,然后提示已成功解冻会员,跳转回会员管理页面,否则提示解冻失败。其流程图如图5.13所示。

是 冻结/解冻用户成功 更新是否成功 否 没有用户注册 否 是否冻结/解冻用户 是 更新数据库 冻结/解冻用户失败 是 数据库是否为空 否 显示用户的信息 查询数据库 开 始 结 束 Fig.5.13 Member management flow chart

图5.13会员管理流程图

5.2.5 订单管理模块设计

34

单击后台导航条中的“订单管理”即可进入到订单信息管理首页

manage/ordermanage.jsp对于订单的管理主要执行订单和查看订单的详细信息,但不能修改订单信息。订单管理首页主要用于分页显示订单概要信息、执行订单和提供查看订单详细信息的接口。

(1).分页显示订单概要信息

分页显示订单概要信息的实现过程同分页显示商品信息类似,所不同的是在订单列表的执行列中需要根据订单的状态显示不同的信息,如果订单已被执行,则显示“已执行”文字,否则提供执行订单的图标。

(2).查看订单的详细信息

制作查看订单的详细信息页面manage/order_detail.jsp时,首先通过订单管理首页传递的订单编号在订单主表tb_order中查询订单的主信息,然后通过视图V_order_detail查询订单的详细信息,再显示到页面即可。

(3).执行订单

用户在网站前台购物并到收银台结账生产订单后,还需要执行订单。订单的状态分为将商品送到客户手中和通过银行或其他方式收取货款两个步骤。这时需通过manage/order_enforce.jsp页面将订单的状态改为已执行状态。在订单主表tb_order中有一个用于标示订单是否执行的字段enforce,该字段的默认值为0 代表订单没有执行,值为1代表订单已经被执行。由此可见要执行某份订单只需将其enforce字段的值修改为1即可,流程图如图5.14所示。

35

开 始 查询数据库 是 数据库是否为空 否 显示全部订单信息 查看订购详单 否 是否执行订单 是 更新数据库 没有未处理的订单 否 更新数据库是否成功 是 执行订单成功 结 束

Fig.5.14 Order information management module flow chart

图 5.14 订单信息管理模块流程图

5.2.6 公告管理模块设计

单击后台导航条中的“公告管理”即可进入到公告管理首页

manage/placardmanage.jsp。对于公告的管理主要是查看公告信息、添加公告信息和删除公告信息。由于公告信息涉及到发布公告的时间,所以没有修改公告信息的功能。

由于公告信息属于即时信息,需保证其时效性,所以当公告内容过期后需及时将其删除。而且公告信息的删除可以设置为批量删除,即可以将选中的信息一次性删除。实现该功能主要通过在每条公告信息后加入一个复选框,并在所以记录的最下面添加一个控制其“全选/反选”的复选框。

当用户单击“删除”超级链接时,还需要判断用户是否选择了要删除的记录,如果是,则提示“是否删除”;否则提示“请选择要删除的记录”,这可以通过调用

36

JavaScript的自定义函数checkdel()实现。当用户确定要删除所选中的记录后,会将页面提交到删除公告信息处理页面placard_Del_deal.jsp删除选中的记录,提示是否删除成功,然后跳转回公告管理页面。 在公告管理首页中单击“添加公告信息”超级链接时,则跳转到manage/placard_add.jsp页面,当管理员输入公告标题和内容后单击保存,先判断标题和内容是否为空,为空则弹出提示框,否则就进入manage/superType_Del_deal.jsp页面,判断商品是否已存在,如果不存在则使用JavaBean中的placard类保存输入的商公告信息,再通过调用Placard DaoImpl中的insert方法将商品信息保存到商品信息表中。其流程图如图5.15所示。 是 添加公告成功 存放是否成功 否 公告栏中没有信息 是 数据是否为空 否 信息存入数据库 接收添加的公告信息 是 开 始 查询数据库 数据库是否为空 否 显示公告信息 添加公告失败 结 束 Fig.5.15 Announcement management module flow chart

图5.15公告管理模块的流程图

37

5.2.7 退出系统模块设计

网站后台对于整个网站的正常运行起着至关重要的作用。当管理员对网站维护工作完成后,必须退出系统。实现退出网站后台只需要在单击“退出后台”超级链接时,进入logout.jsp页面主要是将保存有管理员信息的session变量清空,并将页面重定向到网站前台首页。关键代码如下:

<%

session.invalidate();

response.sendRedirect(\

第6章 系统的测试过程

6.1 系统测试的内容

系统测试是将经过集成测试的软件,作为计算机系统的一个部分,与系统中其他部分结合起来,在实际运行环境下对计算机系统进行的一系列严格有效地测试,以发现软件潜在的问题,保证系统的正常运行。

系统测试的目的是验证最终软件系统是否满足用户规定的需求。 主要内容包括:

功能测试。即测试软件系统的功能是否正确,其依据是需求文档,如《产品需求规格说明书》。由于正确性是软件最重要的质量因素,所以功能测试必不可少。

健壮性测试。即测试软件系统在异常情况下能否正常运行的能力。健壮性有两层含义:一是容错能力,二是恢复能力 6.2 系统测试的方法

比较常见的、典型的系统测试包括恢复测试、安全测试、压力测试。下面对这几种测试进行一一介绍:

1)恢复测试

恢复测试作为一种系统测试,主要关注导致软件运行失败的各种条件,并验证其恢复过程能否正确执行。在特定情况下,系统需具备容错能力。另外,系统失效必须在规定时间段内被更正,否则将会导致严重的经济损失。

2)安全测试

安全测试用来验证系统内部的保护机制,以防止非法侵入。在安全测试中,测试人员扮演试图侵入系统的角色,采用各种办法试图突破防线。因此系统安全设计的准

38

则时要想方设法使侵入系统所需的代价更加昂贵。

3)压力测试

压力测试是指在正常资源下使用异常的访问量、频率或数据量来执行系统。在压力测试中可执行以下测试:

①如果平均中断数量是每秒一到两次,那么设计特殊的测试用例产生每秒十次中断。

②输入数据量增加一个量级,确定输入功能将如何响应。

③在虚拟操作系统下,产生需要最大内存量或其它资源的测试用例,或产生需要过量磁盘存储的数据 6.3 系统测试的活动评估

对测试活动过程进行简要描述,总结主要的测试活动和事件。总结资源消耗数据,如总人员、总工时,每个主要测试活动花费的时间。总结本次测试活动的经验教训,给出活动过程中遇到的问题及解决思路、方法,对活动中不能实现的部分做对版本测试影响的风险评估。比如一些不可重现的缺陷,如何定位等。评估活动的可靠性、可持续性、充分性等。 6.4系统测试结果 6.4.1 系统的优点:

1)系统的用法简单,运行可靠,适合人群较广。 2)系统稳定性好,具有良好的健壮性,扩展性。 3)系统交互性好,能实时处理数据,相互性好。 6.4.2 系统的不足:

1)可能由于平台的不同,导致一些问题的存在,需要进一步维护和修改。 2)系统各种用户使用权限的开放性和安全性需要进一步维护。 4)系统设计面较,较为复杂,成本有待于降低。 6.5系统规避措施

评估的标准必须基于测试计划中确定的被测对象通过失败准则。版本质量评价不能用模糊词语表述,比如:基本上、差不多等词语。对测试活动过程中出现的缺陷在客观环境不允许或无法实现的情况下给出折中方案,通过采用的规避措施确保软件的正常运行、版本可用,以避免最大利益损失。

39

结束语

现在越来越多的中小型企业已经成为未来经济增长的关键动力。企业的发展需要跟随现代科技的进步。建设一个具有电子商务功能的网站不仅能打破时空的界限,而且能有效的降低销售成本,提高企业的竞争能力。因此设计并开发一个具有电子商务功能的门户网站具有非常重要的意义。

通过这次本科毕业设计,使我对网站开发有了更为深刻的理解,积累了一定的网站建设经验。虽然在以前的项目实训中接触了网页登陆界面等的制作,但是只是比较单一页面的设计,没有综合成一个完整的应用项目的各情况。而在这次毕业设计中,通过实际调查研究与编写程序,使自己理论与实践结合 ,熟悉了编程环境的配置及使用,掌握了一些社会经验和编程经验,对自己今后的工作和学习有着良好的促进作用。在开发过程中遇到了许多不可预知的困难,但最终在老师好同学的帮助下一一解决了,在解决了各种难题的同时,我也学到了许多技术知识和开发技巧,相信这些知识和技巧将在我以后的工作和学习中发挥作用。

在这几个月时间里,在我的不懈努力和老师同学们的帮助下,我完成了此次毕业设计,但更重要的是对已学知识的回顾,对未学知识的学习与累积,通过调研阶段的系统学习,以及在后来设计过程中对细枝末节的补充和技巧的掌握,是我受益匪浅。但另一方面,我也发现有很多的需要学习与掌握,在IT行业里,技术日新月异,想要在这个行业里有更好的发展,必须时时领会最新的思想,掌握最新的技术,迎合最新的趋势。在今后的学习及生活中,我将会更加努力,不懂完善丰富自己,跟上时代的步伐。

40

本文来源:https://www.bwwdw.com/article/4wro.html

Top