网上图书销售系统
一、 系统简介
随着社会经济的迅速发展,网上购物成为人们生活中必不可少的一部分。网上购物系统是在网络上建立一个虚拟的购物商场,避免了挑选商品的烦琐过程,使您的购物过程变得轻松、快捷、方便,很适合现代人快节奏的生活;同时又能有效的控制“商场”运营的成本,开辟了一个新的销售渠道。
本系统是一个中小型的网上图书销售系统,可以为各类用户提供方便的在线购书环境,符合目前国内流行的网上购物模式。用户可以再系统中实现注册、登录、修改个人信息、分类查询图书信息、购书、管理购物车、结账和查看各种图书条款等功能。本系统采用Tomcat开发环境,利用Jsp+Tag,以SQL server 2005为系统数据库开发,整个系统操作简便、界面友好、灵活实用。
二、系统主要模块如下图所示:
1、各个模块主要功能简介:
(1)注册:用户填写
表
关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf
单,包括注册的用户名、Email地址等信息、如果输入的用户名已经被其他用户注册使用,系统提示新用户更改自己的注册用户名。
(2)登录:输入注册的用户名、密码。如果用户输入的用户名或密码有误,系统会提示错误信息。
(3)购物车:登录的用户可以将自己所购买的图书放入购物车。
(4)浏览图书:用户在不必注册的情况下可直接该页面浏览所需图书的相关信息,但是当用户欲将所买的图书放入购物车时系统将要求用户必须登录。
(5)查阅图书:用户不必注册并登录可直接进入该页面,在该页面用户可以按XX进行查询操作,但是当用户将欲购买的图书放入自己的购物车时,系统将要求用户必须登录。
(6)订单预览:登录的用户可以预览自己的订单。
(7)确认订单:登录的用户可以确认自己的订单。
(8)查询订单:登录的用户可以查询自己的全部订单。
(9)图书信息:用户不必登录,可以查看图书的内容摘要。
(10)修改密码:成功登陆的会员可以在该页面修改自己的登录密码,如果用户直接进入该页面或没有成功登陆就进入该页面,将被连接到“会员登录”页面。
(11)修改注册信息:成功登陆的会员可以在该页面修改自己的注册信息,比如联系电话,通信地址等等,如果用户直接进入该页面或没有成功登陆就进入该页面,将被连接到“会员登录” 页面。
(12)退出系统:成功登录的用户可以使用该模块退出登录。
2、用户与各个模块之间的主要关系如下图所示:
3、数据库设计与连接:
(1)数据库设计:使用SQLServer 2005建立一个bookshop,该数据库共有三个表,以下是这些表的名称,结构和用途。
1) user表
● 表名:user 。
● 结构:如下图所示
● 用途:存储用户的注册信息。即会员的注册信息存入user表中,user表的主键是logname,各个字段值得说明如下:
Logname:存储注册的用户名(属性是字符型)。
password:存储登录密码(属性是字符型)。
phone:存储电话(属性是字符型)。
address:存储通讯地址(属性是字符型)。
realname:存储真实姓名(属性是字符型)。
2) bookForm表:
● 表名:bookForm 。
● 结构:如下图所示
● 用途:存储图书信息,bookForm表的主键是bookISBN,各字段值得说明如下:
bookPic: 存储和图书相关的一幅图像文件的名字。
bookISBN: 图书的ISBN号码(属性是字符型)。
bookName: 图书的名称(属性是字符型)。
bookAuthor: 图书的作者(属性是字符型)。
bookPrice: 图书的价格(属性是单精度浮点型)。
bookPublish: 图书的出版商(属性是字符型)。
bookAbstract: 图书摘要(属性是字符型)。
3) orderForm表
● 表名:orderForm 。
● 结构:如下图所示
● 用途:存储订单信息,orderForm表的主键是 orderNumber,各个字段的说明如下:
orderNumber:存储订单号(属性是int型)。
Logname:存储注册的用户名(属性是字符型)。
orderMess:订单信息(属性是字符型)。
sum:所定图书的价格总和(属性是单精度浮点型)。
(2)数据库连接:
系统采用JDBC-ODBC桥接器方式访问数据库。设置的数据源是bookshop。选择“控制面板”
“管理工具” “ODBC数据源”。双击“ODBC数据源”,设置数据源,本系统设置的数据源名称是bookshop.
4、系统管理
● 页面管理
所有的页面将包括一个导航条、该导航条有注册、登录、浏览物品等组成。为了便于维护,其他页面通过使用JSP的<%@ include…%>标记将导航条文件head.txt嵌入到自己的页面。
Head.txt
<%@page contentType="text/html;charset=GB2312" %>
● Tag文件的管理
在当前Web服务目录chapter下建立如下的目录结构:
Chapter\WEB-INF\tags
网站所涉及的Tag文件保存在以上结构中。
5、用户注册
该模块要求用户必须输入用户名、密码信息,否则不允许注册。用户的注册信息被存入在数据库user中
该模块有一个JSP页面register.jsp和一个Tag文件Register.tag构成。
● Register.jsp页面负责提供输入注册信息界面,并显示注册反馈信息。该页面将用户提交的注册信息交给Register.tag文件,并显示Tag文件返回的有关注册是否成功的信息。Register.jsp页面效果如下图所示:
注册页面
6会员登录
用户在该模块输入曾注册的用户名和密码,该模块将对用户和密码进行验证,如果输入的用户名和密码有错误,将提示用户输入的用户名和密码不正确。
该模块有一个JSP页面login.jsp和一个Tag文件Login.tag构成,该JSP页面负责提交用户的登录信息到本页面,然后页面调用Login.tag文件。Login.tag负责验证用户名和密码是否正确,并返回登陆是否成功的消息给logi.jsp页面
● JSP页面login.jsp负责提交用户的登录信息到本页面,然后页面调用Login.tag文件,并显示Login.tag文件的反馈信息,比如登录是否成功等,login.jsp效果如下图所示:
登录页面
● Tag文件
Login.tag负责连接数据库,查询user表中的注册信息,以便验证用户名和密码是否正确,并返回登录是否成功的消息给JSP页面login.jsp。
7、浏览物品信息
该模块有一个JSP页面lookBook.jsp和一个Tag文件ShowBookPage.tag构成。lookBook.jsp负责调用Tag文件ShowBookPage.tag,ShowBookPage.tag文件负责显示图书信息。
● JSP页面
lookBook.jsp负责调用Tag文件ShowBookPage.tag,并将有关数据源、表的名称以及需要显示的页面等信息传递给该Tag文件,然后显示Tag文件返回的有关信息,lookBook.jsp的效果如下图所示:
浏览物品页面
● Tag文件
ShowBookPage.tag负责连接数据库,查询bookForm表,并将查询到的图书信息反馈给JSP页面lookBook.jsp。
8、查询物品
该模块有一个JSP页面findBook.jsp和一个Tag文件FindBook.Tag构成。findBook.jsp负责调用Tag文件FindBook.Tag,FindBook.Tag文件负责显示图书的信息。
● JSP页面
findBook.jsp负责调用Tag文件FindBook.Tag,并将有关数据源、表的名称以及ISBN号、作者姓名或图书名称等信息传递给Tag文件,然后显示Tag文件返回的有关信息,findBook.jsp效果如下图所示:
物品查询页面
● Tag文件
FindBook.Tag负责连接数据库,查询bookForm表,并将查询到的物品信息反馈给JSP页面findBook.Tag。
9、查看购物车
该模块由一个JSP页面lookPurchase.jsp和一个Tag文件LookPurchase.tag构成。lookPurchase.jsp负责调用Tag文件LookPurchase.tag,LookPurchase.tag文件负责显示用户购物车(session对象)中的图书。
● JSP页面
lookPurchase.jsp负责将用户购买的图书添加到购物车(session对象)中,并可以根据用户的选择从购物车中删除曾添加到购物车的图书。lookPurchase.jsp负责调用Tag文件LookPurchase.Tag,并显示Tag文件返回的有关信息。用户在lookPurchase.jsp页面可以确定是否生成订单。lookPurchase.jsp页面效果如下图所示:
购物车页面
● Tag文件
LookPurchase.tag文件负责显示用户购物车(session对象)中的图书,并计算出购物车中图书的总价,然后将这些信息返回给lookPurchase.jsp页面。
10、订单预览
该模块由一个JSP页面previewOrderForm.jsp和一个Tag文件PreviewOrderForm.tag构成。previewOrderForm.jsp负责调用Tag文件PreviewOrderForm.tag,并显示PreviewOrderForm.tag文件返回的待确定的订单。
● JSP页面
previewOrderForm.jsp页面负责调用LookPurchase.tag,并显示Tag文件返回的订单。用户在previewOrderForm.jsp页面可以选择是否确定订单。previewOrderForm.jsp页面效果如图所示:
订单预览页面
● Tag文件
PreviewOrderForm.tag文件根据用户购物车中的物品生成订单,然后将订单返回给previewOrderForm.jsp页面。
11、确认订单
该模块由一个JSP页面makeOrderForm.jsp和一个Tag文件MakeOrderForm.tag构成。makeOrderForm.jsp负责调用MakeOrderForm.tag,并显示MakeOrderForm.tag返回的确认订单。
● JSP页面
makeOrderForm.jsp页面负责调用Tag文件MakeOrderForm.tag,并将订购物品的有关信息传递给该Tag文件。makeOrderForm.jsp的页面效果如下图所示:
确认订单页面
● Tag文件
MakeOrderForm.tag文件负责连接数据库,将订单写入到数据库中的orderForm表中,达到确定订单的目的,然后将订单信息返回给makeOrderForm.jsp页面。
12、查看订单
该模块由一个JSP页面queryOrderForm.jsp和一个Tag文件QueryOrderForm.tag构成。queryOrderForm.jsp负责调用Tag文件QueryOrderForm.tag,并显示QueryOrderForm.tag返回的订单信息。
● JSP页面
queryOrderForm.jsp页面负责调用Tag文件QueryOrderForm.tag,并将用户登录的用户名传递给Tag文件。queryOrderForm.jsp页面效果如下图所示。
查看订单信息
● Tag文件
QueryOrderForm.tag文件负责连接数据库,查询orderForm表,然后将订单信息返回给queryOrderForm.jsp页面。
13、查看物品摘要
该模块有一个JSP页面lookBookAbstract.jsp和一个Tag文件BookAbstract.tag构成。lookBookAbstract.jsp负责调用Tag文件BookAbstract.tag,并显示BookAbstract.tag返回的图书摘要。
● JSP页面
lookBookAbstract.jsp页面负责调用Tag文件BookAbstract.tag,并将图书的ISBN传递给Tag文件。lookBookAbstrcat.jsp的页面效果如下图所示。
查看物品摘要
● Tag文件
BookAbstract.tag文件负责连接数据库,查询orderForm,然后将图书摘要返回给lookBookAbstract.jsp页面
14、修改密码
该模块有一个JSP页面mdifyPassword.jsp和一个Tag文件ModifyPassword.tag构成。mdifyPassword.jsp负责调用Tag文件ModifyPassword.tag,并显示ModifyPassword.tag返回的有关修改密码是否成功的信息。
● JSP页面
modifyPassword.jsp页面负责调用Tag文件ModifyPassword.tag,并将用户名、当前密码和新密码传递给Tag文件。modifyPassword.jsp效果如下图所示:
修改密码
● Tag文件
ModifyPassword.tag文件负责连接数据库,查询、更新user表,然后将密码是否更新成功的信息返回给modifyPassword.jsp页面。
15、修改注册信息
该模块由一个JSP页面modifyRegister.jsp和两个Tag文件modifyRegister.tag和GetRegister.tag构成。modifyRegister.jsp负责调用Tag文件GetRegister.tag,显示GetRegister.tag返回的用户曾注册的有关信息;modifyRegister.jsp调会的用Tag文件ModifyRegister.tag,并显示ModifyRegister.tag返回的有关修改注册信息是否成功的信息。
● JSP页面
modifyRegister.jsp页面调用Tag文件GetRegister.tag,显示GetReister.tag返回的用户曾注册的有关信息。modifyRegister.jsp页面负责调用Tag文件modifyRegister.tag,并将用户名的新信息传递给该Tag文件。modifyRegister.jsp效果页面如下图所示:
修改注册信息
● Tag文件
GetReister.tag文件负责连接数据库,从user表查询用户曾注册的信息,ModifyRegister.tag文件负责连接数据库,更新user表,以便改变用户的注册信息。
16、退出系统
该模块只有一个名字exitLogin.jsp,负责销毁用户的session对象,导致登录失效。exitLogin.jsp的效果如下图所示:
退出登录