西安电子科技大学网络与继续教育学院.docx
《西安电子科技大学网络与继续教育学院.docx》由会员分享,可在线阅读,更多相关《西安电子科技大学网络与继续教育学院.docx(20页珍藏版)》请在冰豆网上搜索。
西安电子科技大学网络与继续教育学院
西安电子科技大学网络与继续教育学院
2014学年下学期
《网络程序设计》期末考试试题
(综合大作业)
题号
一
总分
题分
100
得分
考试说明:
1、大作业于2014年12月25日下发,2015年1月10日交回;
2、考试必须独立完成,如发现抄袭、雷同均按零分计;
3、纸质文档打印提交。
请根据以下需求完成电子商务网站的设计与实现:
电子商务网站分为前台页面和后台管理。
前台页面包括商品展示、用户登录、用户基本信息维护、商品订购、购物车等。
后台管理包括商品管理、订单管理、用户管理等模块。
主要模块的功能如下:
(1)用户管理:
注册用户,包括用户名、密码等信息。
修改用户信息、删除用户信息。
(2)商品管理:
添加商品类别,修改商品类别,删除商品类别,添加商品信息,(包括商品的类别、名称、编号、生产公司等信息。
)商品图片上传、修改和删除,修改商品信息,删除商品信息,查看商品信息。
(3)订单的管理:
生成订单,发货,结账,删除订单。
要求结合课程所学内容选择合适的数据库和开发语言完成电子商务网站设计与开发。
提交作业报告,内容包括:
需求分析,总体设计,实现方案,功能模块设计,数据库设计,网页结构设计,运行结果,源程序等。
1系统开发背景与意义
1.1系统开发背景与意义
当下电子商务成为人们生活、工作的重要组成部分。
购物不再是单一的现实、实体形式,B2C(企业对个人)电子商务网上购物日渐成为购买商品的主要形式。
本文阐述了电子商务的背景和发展前景,介绍一个具体的的电子商务网站购物网上商城的实现过程,实现了电子购物网站前台和后台功能。
前台包括商品浏览模块、用户登录注册模块、购物车模块,其中购物车模块是电子商城的关键,后台包括订单、商品、会员管理模块。
通过后台的管理将商品展示到前台,供会员浏览、购买。
这样人们就可以足不出户购买到所需商品,方便、省时,企业也减少了成本。
2设计运用技术及工具
2.1.JSP运行原理
JSP全名为JavaServerPages,中文名叫java服务器页面,其根本是一个简化的Servlet设计,它[1]是由SunMicrosystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。
JSP本质上就是把Java代码嵌套到HTML中,然后经过JSP容器(Tomcat、Resin、Weblogic等)的编译执行,再根据这些动态代码的运行结果生成对应的HTML代码,从而可以在客户端的浏览器中正常显示。
如果JSP页面是第一次被请求运行,服务器的JSP编译器会生成JSP页面对应的JAVA代码,并且编译成类文件。
当服务器再次收到对这个JSP页面请求的时候,会判断这个JSP页面是否被修改过,如果被修改过就会重新生成Java代码并且重新编译,而且服务器中的垃圾回收方法会把没用的类文件删除。
如果没有修改过,服务器就会直接调用以前已经编译过的类文件。
2.2平台选择
Microsoft软件是日常生活中使用最为广泛的软件,基于这一特点,我们选用的平台是JavaServerPage(简称JSP)+SQL2005数据库,它适应于Windows操作系统并能很好的与其应用程序结合,而且SQLServer2005数据库也易操作,从而大大降低了编程难度。
具体如下:
●采用了Internet架构,Bowser/Server模式。
●Web服务器采用Tomcat6.0服务器,数据库管理系统为SQLServer2005。
●开发工具使用Dreamweaver搭建系统页面框架,再用MyEclipse在其中插入JSP语句,JavaBean使用MyElipse编写。
2.3系统开发工具
本系统是基于JSP+SQLServer2005数据库技术实现的,现对JSP技术和SQLServer2005数据库作简要的介绍。
2.4Server2005数据库技术
SQLServer是一个关系数据库管理系统。
SQLServer2005是Microsoft公司推出的SQLServer数据库管理系统的较新版本。
SQLServer2005数据库引擎提供完整的XML支持。
它还具备构成最大的Web站点的数据存储组件所需的可伸缩性、可用性和安全功能。
SQLServer2005关系数据库引擎支持当今苛刻的数据处理所需的功能。
数据库引擎充分保护数据完整性,同时将管理众多并发修改数据库的用户的开销减到最小。
SQLServer2005分布式查询使得以引用来自不同数据源的数据,就好像这些数据是SQLServer2005数据库的一部分,同时分布式事务支持充分保护分布式数据更新的完整性。
3系统分析
3.1需求分析
电子商务购物过程的实现与传统的实体店购物方式不同。
首先购物者必须要有一个唯一的身份,用户通过这个身份登录网站,查看购买信息,这样才能确保一对一的购买和用户的安全。
而且在线购物的整个过程都是通过网络进行的,购买者无法真是看到商家和商品,对商品信息的了解只能通过网络前台展示,所以商家必须分类、详细、真实的展示商品信息[5]。
在线购物网站的一般流程是:
商家将上架的商品信息通过系统后台管理功能发布到网上,然后购买者登录,通过系统前台页面浏览商品详细信息,并且可以根据自己的需要搜索更具针对性的商品信息,将自己所选物品加入购物车,进去购物车付款。
根据网上购物的过程,同时参考、分析目前市场上已有的电子购物网站,本系统要实现前台展示和系统管理两大模块。
其中的前台功能由购物者使用,可以进行各类商品信息的浏览,如果是注册会员那么可以选购商品到购物车并实现结算。
系统系统管理功能由发布商品的商家使用,实现注册会员管理、商品信息管理、订单管理等功能。
3.2可行性分析
随着网络的快速发展,对比传统的商场销售,淘宝在2014年和2013年双十一交易额600亿元和350亿元,说明电子商务给我们来到很大的变化。
改变了人们的购物方式。
B2C电子商务网站以及其方便、快捷、省时的特点收到了越来越多用户的青眯,B2C电子商务网站可以将商品详细分类,为用户提供更大的选择空间;通过前台商品展示,可以使顾客更好的了解商城内的商品;网络购物车的实现使顾客真实实现足不出户、网上购物的目的
4总体设计
4.1功能设计
电子商务网站主要实现以下功能:
(1)用户管理:
注册用户,包括用户名、密码等信息。
修改用户信息、删除用户信息。
(2)商品管理:
添加商品类别,修改商品类别,删除商品类别,添加商品信息,(包括商品的类别、名称、编号、生产公司等信息。
)商品图片上传、修改和删除,修改商品信息,删除商品信息,查看商品信息。
(3)订单的管理:
生成订单,发货,结账,删除订单。
(4)后台管理模块是管理员所见到的界面,管理员可通过这部分来管理网站。
具体功能又细分为:
A管理员登陆模块;B商品信息管理模块;C用户管理模块;D订单管理模块。
4.2功能结构
B2C电子商务网站功能流程图展示整个网站的各个功能,如图4-1所示。
图4-1网站功能流程图
4.3数据库设计
本系统数据库采用SQLServer2005数据库,系统数据库名称为db_shop,共包含9张表。
(1)tb_superType(商品大分类信息表)
商品大分类信息表主要用来保存商品类别中大的类别信息。
表tb_superType的结构如表4-1所示。
表4-1商品大分类信息表
字段名
数据类型
长度
是否主键
描述
id
int
4
是
类别ID
TypeName
varchar
50
类别名称
(2)tb_subType(商品小分类信息表)
商品小分类信息表主要用来保存商品类别中小的类别信息。
表tb_subType的结构如表4-2所示。
表4-2商品小分类信息表
字段名
数据类型
长度
是否主键
描述
ID
Int
4
是
类别ID
superType
Int
4
父类ID
TypeName
Varchar
50
类别名称
(3)tb_rebate(折扣表)
折扣表用来保存顾客在购买商品时的折扣信息。
表tb_rebate的结构如表4-3所示。
表4-3折扣表
字段名
数据类型
长度
是否主键
描述
grade
Varchar
20
是
等级
Amount
Money
8
消费额
rebate
Float
8
折扣
(4)tb_order_detail(订单明细表)
订单明细表用来保存订单的详细信息。
表tb_order_detail的结构如表4-4所示。
表4-4订单明细表
字段名
数据类型
长度
是否主键
描述
ID
bigint
8
是
ID号
orderID
bigint
8
与tb_Order表的OrderID字段关联
goodsID
bigint
8
商品ID
price
money
8
价格
number
int
4
数量
(5)tb_order(订单信息主表)
订单信息主表用来保存订单的概要信息。
表tb_order的结构如表4-5所示。
表4-5订单信息主表
字段名
数据类型
长度
是否主键
描述
OrderID
Bigint
8
是
订单编号
bnumber
smallint
2
品种数
username
Varchar
15
用户名
Truename
varchar
15
真实姓名
address
Varchar
100
联系地址
postcode
varchar
10
邮政编码
tel
Varchar
20
电话
pay
Varchar
20
付款方式
carry
Varchar
20
运送方式
rebate
float
8
折扣
OrderDate
smalldatetime
4
订货日期
enforce
int
4
是否执行
bz
varchar
200
备注
(6)tb_member(会员信息表)
会员信息表主要用来存储所注册的会员的信息。
表tb_member的结构如表4-6所示。
表4-6会员信息表
字段名
数据类型
长度
是否主键
描述
ID
int
4
是
会员ID
userName
varchar
20
用户名
trueName
varchar
20
真实姓名
passWord
varchar
20
密码
city
varchar
20
所在城市
address
varchar
100
联系地址
postcode
varchar
6
邮政编码
cardNO
varchar
24
证件号码
cardType
varchar
20
证件类型
grade
int
4
等级
Amount
money
8
消费额
tel
varchar
20
电话
email
varchar
100
Email地址
freeze
Int
4
是否冻结
(7)tb_manager(管理员信息表)
管理员信息表用来保存管理员信息。
表tb_manager的结构如表4-7所示。
表4-7管理员信息表
字段名
数据类型
长度
是否主键
描述
ID
Int
4
是
ID号
manager
varchar
30
管理员名称
PWD
varchar
30
密码
(8)tb_goods(商品信息表)
商品信息表主要用来保存商品信息。
表tb_goods的结构如表4-8所示。
表4-8商品信息表
字段名
数据类型
长度
是否主键
描述
ID
bigint
8
是
商品ID
typeID
Int
4
类别ID
goodsName
varchar
200
商品名称
introduce
text
16
商品简介
price
money
8
定价
nowPrice
money
8
现价
picture
varchar
100
图片文件
INTime
datetime
8
录入时间
newGoods
Int
4
是否新品
sale
Int
4
是否特价
hit
Int
4
浏览次数
(9)tb_BBS(公告信息表)
公告信息表主要用来保存商城的公告信息。
表tb_BBS的结构如表4-9所示。
表4-9公告信息表
字段名
数据类型
长度
是否主键
描述
ID
Int
4
是
ID号
title
varchar
100
公告标题
content
varchar
40000
公告内容
INTime
datetime
8
录入时间
第5章实现方案
本系统所采用的是Internet架构,三层B/S模式,采用JSP+SQLServer2005数据库技术实现,同时利用了JavaBean、JavaScript、JDBC-ODBC桥接器等技术。
本节将首先介绍系统开发工具、再介绍系统各部分的实现方法。
5.1系统各部分的实现方法
从系统功能模块划分中可以看出,系统功能模块分为前台和后台。
前台包括有用户注册、用户登录、修改个人信息、查询商品、特价商品展示、新品展示、购买商品、加入购物车、支付等功能。
后台模块总要有添加商品、删除商品、添加商品类别、管理用户、管理公告、管理订单等。
各模块虽然是独立的,但又统一于同一数据库中,便于管理员管理维护数据库,同时也便于用户的操作。
5.1.1创建与数据库的连接
在JSP中可以使用Java的JDBC技术,实现对数据库中表记录的查询、修改和删除等操作。
JDBC技术在JSP中占有很重要的位置。
JDBC(JavaDataBaseConnectivity)是Java数据库连接API。
简单地说,JDBC能完成三件事:
●与一个数据库建立连接
●向数据库发送SQL语句
●处理数据库返回的结果
JDBC-ODBC桥是一个JDBC驱动程序,它通过将JDBC操作转换为ODBC操作来实现JDBC操作。
对ODBC,它像是通常的应用程序,桥为所有对ODBC可用的数据库实现JDBC。
JDBC在设计上和ODBC很相似。
JDBC和数据库建立连接的一种常见方式是建立一个JDBC-ODBC桥接器。
由于ODBC驱动程序被广泛的使用,建立这种桥接器,是的JDBC有能力访问几乎所有类型的数据库。
JDBC也可以直接加载数据库渠道程序访问数据库。
5.1.2访问数据库的JavaBean
JavaBean是一种Java语言写成的可重用组件。
为写成JavaBean,类必须是具体的和公共的,并且具有无参数的构造器。
JavaBean通过提供符合一致性设计模式的公共方法将内部域暴露成为属性。
众所周知,属性名称符合这种模式,其他Java类可以通过自省机制发现和操作这些JavaBean属性。
用户可以使用JavaBean将功能、处理、值、数据库访问和其他任何可以用Java代码创造的对象进行打包,并且其他的开发者可以通过内部的JSP页面、Servlet、其他JavaBean、Applet程序或应用来使用这些对象。
用户可以认为JavaBean提供了一种随时随地的复制和粘贴的功能,而不用关心任何改变。
JSP的一个重要特性就是可以用JavaBean实现功能的扩展。
将大部分功能放在JavaBean中完成,以使JSP页面程序更干净简洁、利于维护。
JavaBean可以很方便的用来捕获页面表单的输入并完成各种业务逻辑的处理。
●连接数据库的JavaBean—ConnDB。
通过JSP页面调用此JavaBean,可以实现对数据库的连接,数据表的添加、删除、更新等操作。
●编译及使用JavaBean
例如用JDK的javac命令编译ConnDB.java,得到ConnDB.class文件,即表示建立了一个JavaBean。
在JSP页面中要使用这个JavaBean,先使用语句:
<%@pageimport="com.wgh.DB.connDB"%>,通过该引用就可以实现Bean中相关功能函数,这样就可以方便的完成对数据库的增、删、改和查询等操作。
5.2系统界面设计
5.2.1网站页面设计
在西部商城的首页中,用户不但可以在第一时间内掌握商城推出的本月特价商品、促销商品、最新公告等,还可以查看销售排行、搜索指定商品、商品分类查询等。
西部商城前台首页的运行结果.
图5-1网站前台首页
图5-2网站后台页面
图5-3网站购物车页面
5.2.2本月特价商品模块设计
特价商品模块共有两个入口,一个是网站导航条中的【特价商品】导航按钮,另一个是网站前台的居中位置,分栏列出了商城中特价商品中最新的两条特价商品信息,单击特价商品展区中的“More…”超链接可以进入到特价商品页面,在该页面中将列出商城中的全部特价商品。
主要包括商品图片、名称、原价、现价等信息。
同时设置了【购买】按钮和【详细信息】按钮,分别用于将商品信息添加至购物车和查看商品详细信息。
特价商品模块在网站首页的设计效果如图5-2所示。
图5-2特价商品页面
查询数据表中的特价商品。
特价商品信息同商品基本信息同时保存在商品信息表tb_goods中,以字段sale标识,当sale字段的值为1时,代表该商品为特价商品。
部分实现代码如下:
ResultSetrs=conn.executeQuery("selecttop10ID,GoodsName,Introduce,price,nowprice,picturefromtb_goodswheresale=1orderbyGoodsName");
¥:
<%=nowprice%>(元)
|
line-through;color:
#FF0000">¥:
<%=price%>(元)
|
<%=introduce%>
|
<%if(username! =null&&username! =""){%> goodsID=<%=goodsID%>'"value="购买"><%}%>
|
5.2.3新品上架模块设计
新品上架模块也有两个入口,一个是网站导航条中的【新品上架】导航按钮,另一个是网站前台的居中位置,列出了商城中上架新品中的最新上市的4条商品信息,单击新品上架展区中的“More…”超链接可以进入到新品上架页面,在该页面中将列出商城中的全部上架新品。
主要包括商品图片、名称、现价等信息。
同时设置了【购买】按钮和【查看详细信息】按钮,分别用于将商品信息添加至购物车和查看商品详细信息。
下面只以首页中的新品上架为例进行介绍。
新品上架模块在网站首页中的设计效果如图5-3所示。
图5-3新品上架页面
新品上架信息同商品基本信息同时保存在商品信息表tb_goods中,以字段newGoods标识,当newGoods字段的值为1时,代表该商品为上架新品。
在网站首页中查询新上架商品。
部分实现代码如下:
target="_blank"onClick="window.location.href='goods_detail.jsp?
ID=<%=new_ID%>'">">
在网站首页的右侧以树状菜单的形式列出了商品的大、小分类信息,用户单击大类别结点可以显示出该类的所有小类信息,单击小类结点可以进入到分类商品显示页面查看该类别的全部商品信息,在分类商品显示页面中,单击商品名称可以查看相应商品的详细信息。