电子书店系统Word格式文档下载.docx
- 文档编号:22933986
- 上传时间:2023-02-06
- 格式:DOCX
- 页数:87
- 大小:643.61KB
电子书店系统Word格式文档下载.docx
《电子书店系统Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《电子书店系统Word格式文档下载.docx(87页珍藏版)》请在冰豆网上搜索。
4.查看图书功能:
任何登录论坛的用户均可以使用查看图书功能。
用户进入书店后,可以通过单击图书名称查看书籍的详细信息。
普通用户可以查看到书名、作者、出版社、出版日期、ISBN、类别、价格、封面图片和内容简介等信息,并可以单击“加入购物车”超链接将此图书放入购物车中保存。
管理员还可以查看到此书的销量信息。
5.添加图书功能:
只有管理员可以使用添加图书功能。
通过单击导航栏上的“添加新图书”超链接进入添加页面,将图书的各种基本信息填写好后提交。
6.修改图书功能:
只有管理员可以使用修改图书功能。
通过单击图书列表右侧的“修改”超链接进入修改页面,在原有信息的基础上修改并提交。
7.删除图书功能:
只有管理员可以使用删除图书功能。
通过单击图书列表右侧的“删除”超链接删除该图书信息。
8.查看用户信息功能:
只有管理员可以使用查看用户信息功能。
可以通过单击用户列表中的用户名查看该用户的详细信息。
9.修改个人信息功能:
任何登录书店的用户均可以使用修改个人信息功能。
用户可以通过单击导航栏上的“修改个人信息”超链接进入该页面,可以对该用户的真实姓名、密码、性别、年龄、身份证号、电话、电子邮件、联系地址等信息进行修改。
若输入的修改信息合法,则修改成功。
10.修改用户功能:
只有管理员可以使用修改用户信息功能。
可以通过单击用户列表中右侧的“修改”超链接进入用户信息修改页面,在原有信息的基础上修改并提交。
11.删除用户功能:
只有管理员可以使用删除用户信息功能。
可以通过单击用户列表中右侧的“删除”超链界将该用户信息删除,与此同时,也将会删除属于该用户的所有订单信息。
12.查询订单功能:
任何登录书店的用户均可以使用查询订单功能。
普通用户可以按订单号、订单日期和订单状态进行查询,管理员还可以按订单所属的用户进行查询。
13.查看订单功能:
任何登录书店的用户均可以使用查看订单功能。
其中,普通用户只能查看自己的订单信息,包括此订单中所购买的书籍名称、共计金额、订单号、下单日期、订单状态等信息。
管理员可以查看所有订单。
单击订单号可以进入查看订单详细信息页面。
14.修改订单功能:
只有管理员可以使用修改订单功能。
通过单击订单列表中的订单号进入查看订单详细信息页面,根据提示进行订单状态的修改。
15.删除订单功能:
只有管理员可以使用删除订单功能。
通过单击订单列表中右侧的“删除”超链接删除相应的订单记录。
16.生成订单功能:
当普通用户决定购买购物车中的书籍时,系统将为本次交易生成一个订单号,此订单号唯一,可做为交货的依据之一。
17.购物车功能:
当普通用户单击“加入购物车”超链接时,所对应的书籍放入购物车内,该书籍在整个会话期间一直保留在购物车中,直到用户决定购买生成订单为止。
用户还可以单击“从购物车中删除”超链接将该书籍从购物车中清除。
18.退出功能:
当用户所有操作结束后,单击导航栏上的“退出”超链接退出书店。
退出操作会销毁该用户登录时保存在session中的所有信息,下次再使用本系统时,必须重新登录。
2总体设计
2.1开发与设计的总体思想
电子书店系统的目的是为广大的网络用户提供一个网上购书平台,利用网络的便捷方便人们的日常生活。
为了使它适合更多的用户使用,系统的界面设计应该尽量做到友好、简洁,功能的实现更注重人性化,方便用户的购买,使得用户很快便可以熟练掌握使用方法。
本系统采用B/S模式,服务器端使用JSP进行动态网页的开发。
2.2系统模块结构图
依据需求分析结果,电子书店系统大体上可以分为六个模块:
数据库访问模块、用户管理模块、图书管理模块、购物车模块、订单管理模块和分页显示模块。
如图6-1所示:
图6-1系统模块结构图
2.3模块设计
1.数据库访问模块:
利用JavaBean封装对数据库的操作,主要包括连接数据库、添加、修改、删除、查询数据表、关闭连接等功能。
当JSP页面中需要访问数据库时直接调用这个JavaBean即可。
数据库访问模块功能树如图6-2所示:
图6-2数据库访问模块
2.用户管理模块:
用户管理模块负责管理电子书店所有的合法注册用户的信息并实现用户登录、登出、权限验证等操作。
主要功能包括新用户注册、用户登录、查看和查询用户信息、修改和删除用户等功能。
用户管理模块功能树如图6-3所示:
图6-3用户管理模块
3.图书管理模块:
图书管理模块负责管理电子书店中的所有图书信息。
包括查看、查询、添加、修改、删除图书等功能。
图书管理模块功能树如图6-4所示:
图6-4图书管理模块
4.购物车模块:
购物车模块包括将图书加入或拿出购物车、显示购物车中的物品、清空购物车等功能。
购物车模块功能树如图6-5所示:
图6-5购物车模块
5.订单管理模块:
订单管理模块负责管理当前的所有订单信息,包括生成订单、查看订单、修改订单状态、删除订单等功能。
订单管理模块功能树如图6-6所示:
图6-6订单管理模块
6.分页显示模块:
分页显示模块包括分页显示用户信息列表、图书信息列表和订单信息列表等功能。
分页显示模块功能树如图6-7所示:
图6-7分页显示模块
2.4系统流程描述
系统的流程图如图6-8所示:
图6-8系统流程图
2.5界面设计
电子书店系统的界面设计仍遵循简洁美观、方便易用的基本原则。
为了方便用户在各个功能模块间快速切换,本系统使用了系统导航栏,在各个页面的头部均包含了导航文件。
系统的具体设计如下:
1.系统登录页面设计,具体设计效果图如图6-9所示:
图6-9系统登录页面设计效果图
2.用户注册页面设计,具体设计效果如图6-10所示:
图6-10用户注册页面设计效果图
3.电子书店首页面,负责显示当前销量排在前十位的图书信息列表,具体设计效果如图6-11所示:
图6-11电子书店首页面设计效果图
4.修改个人信息页面设计,具体设计效果如图6-12所示:
图6-12修改个人信息页面设计效果图
5.查看图书信息页面设计,具体设计效果如图6-13所示:
图6-13查看图书信息页面设计效果图
6.查看购物车页面设计,具体设计效果如图6-14所示:
图6-14查看购物车页面设计效果图
7.购买确认页面设计,具体设计效果如图6-15所示:
图6-15购买确认页面设计效果图
8.订单生成页面设计,具体设计效果如图6-16所示:
图6-16订单生成页面设计效果图
9.查看订单信息列表页面设计,具体设计效果如图6-17所示:
图6-17查看订单信息列表页面设计效果图
10.用户管理页面设计,具体设计效果如图6-18所示:
图6-18用户管理页面设计效果图
11.图书管理页面设计,具体设计效果如图6-19所示:
图6-19图书管理页面设计效果图
12.订单管理页面设计,具体设计效果如图6-20所示:
图6-20订单管理页面设计效果图
13.修改订单状态页面设计,具体设计效果如图6-21所示:
图6-21修改订单状态页面设计效果图
2.6数据库设计
本系统采用Access数据库,在数据库中使用数据表book来存储书店现有的图书信息,表的结构如表6-1所示:
表6-1数据表book的结构
名称
字段名称
数据类型
主键
非空
图书id号
bookid
数字(自动编号)
Yes
图书名称
bookname
文本
No
作者
author
出版日期
pubdate
日期/时间
出版社
pubhouse
ISBN号
isbn
图书类型
type
图书封面
cover
内容简介
profile
备注
价格
price
数字
销售量
salenum
另外,还使用了user数据表存储书店用户的基本信息,表的结构如表6-2所示:
表6-2数据表user的结构
用户id号
userid
用户名
name
真实姓名
truename
密码
password
性别
sex
年龄
age
身份证号
IDcard
电话
phone
电子邮件
联系地址
address
用户级别
rank
订单信息使用数据表orderinfo来存储表的结构如表6-3所示:
表6-3数据表orderinfo的结构
订单id号
id
订单号
orderid
所属用户id号
所属用户名
username
购买图书id号
下单日期
orderdate
订单状态
orderstate
本系统中采用JDBC-ODBC桥的方式连接数据库,因此要首先配置一个ODBC数据源,数据源名定为bookstore。
3详细设计
基于系统需求分析与系统总体设计的结论,本节中会分别阐述系统的详细设计和实现过程。
3.1应用部署图
论坛系统对应于一个名为bookstore的Web应用,具体的部署情况及目录结构如图6-22所示:
图6-22应用部署图
3.2访问数据库的JavaBean
由于在本系统的多个JSP页面中都需要访问数据库,我们使用一个JavaBean来专门完成数据库的连接、访问等操作,把数据库操作封装在一个类中,每次需要访问数据库时只需实例化这个类并利用类里面提供的各种公有方法来完成对应的功能即可。
这样,既可以节省编码时间,也提高了代码的利用率。
1.模块描述
负责完成与数据库的连接、访问、关闭等操作。
2.类的设计与实现
(1)名称:
DBBean.java
(2)功能:
负责完成与数据库的连接、访问、关闭操作。
(3)属性设计:
如表6-4所示。
表6-4类属性定义表
属性名
属性类型
访问控制
描述
driverStr
String
私有(private)
要加载的驱动程序类名
ConnStr
连接得数据库url
Conn
Connection
驱动程序和指定数据库之间的连接对象
Stmt
Statement
语句对象
(4)构造方法设计
1)方法定义:
publicDBBean()
2)IPO图:
输入:
无。
处理:
加载由属性driverStr指定的驱动程序,若加载中出现异常,则显示异常描述信息。
输出:
3)程序清单:
publicDBBean()
{
try{
//加载驱动程序
Class.forName(driverStr);
}
catch(ClassNotFoundExceptionex){
System.out.println(ex.getMessage());
}
(5)主要方法设计
方法一:
executeQuery方法
publicResultSetexecuteQuery(Stringsql)
要执行的SQL语句。
创建驱动程序和指定数据库间的连接对象,建立语句对象,利用语句对象的executeQuery()方法执行SQL语句,并将执行结果存放于局部变量rs中。
查询结果集rs。
//执行查询SQL语句,返回值是一个满足查询条件的结果集
publicResultSetexecuteQuery(Stringsql)
ResultSetrs=null;
//获取驱动程序对象和指定数据库之间的连接对象
conn=DriverManager.getConnection(connStr);
//建立语句对象
stmt=conn.createStatement();
//执行SQL语句,返回一个结果集对象
rs=stmt.executeQuery(sql);
}
catch(SQLExceptionex){
returnrs;
方法二:
executeUpdate方法
publicintexecuteUpdate(Stringsql)
创建驱动程序和指定数据库间的连接对象,建立语句对象,利用语句对象的executeUpdate()方法执行SQL语句,并将执行结果存放于局部变量result中。
更新的记录个数result。
//执行添加、修改和删除SQL语句,返回值是受到此次操作影响的记录个数
publicintexecuteUpdate(Stringsql)
intresult=0;
try{
conn=DriverManager.getConnection(connStr);
result=stmt.executeUpdate(sql);
catch(SQLExceptionex){
returnresult;
方法三:
close方法
publicvoidclose()
调用Connection对象和Statement对象的close()方法,关闭语句对象和连接对象。
//关闭方法
publicvoidclose()
//关闭语句对象
stmt.close();
//关闭连接对象
conn.close();
(6)编译和部署JavaBean
编写好的JavaBean,可以使用JDK中的javac命令进行编译,需要注意的是,不带参数的javac命令没有生成目录的能力,需要使用带-d参数的命令进行编译:
javacDBBean.java–d.
其中的“.”代表当前目录,编译成功后,会在当前目录下生成一个名为dbBean的目录,在该目录中有编译好的字节码文件DBBean.class。
然后,将dbBean子目录以及该目录中的字节码文件复制到“Tomcat安装目录\webapps\bookstore\WEB-INF\classes”中(bookstore为电子书店系统对应的Web应用名),重启Tomcat服务器即可在bookstore应用中的各个JSP页面里使用该JavaBean来完成对数据库的访问。
3.3用户管理模块
用户管理模块主要提供新用户注册、用户登录功能以及用户信息的查看、查询、修改、删除等功能。
在多个JSP页面中均需要访问数据库,因此直接调用了刚刚实现并发布好的DBBean来完成数据库操作。
另外,由于多个模块中均要使用分页显示方式,因此我们仍然把分页功能利用一个JavaBean单独实现,在需要分页显示的页面直接调用即可。
提供新用户注册、登录功能以及基本信息的管理功能。
2.源文件定义
(1)login.jsp
名称:
登录页面
功能:
显示登录表单,供用户输入登录信息。
用户名、密码。
将表单信息提交给相应的处理程序verify.jsp。
登录表单、错误提示信息。
程序清单:
略
(2)verify.jsp
登录验证页面
主要负责检查用户输入的登录信息的合法性。
登录页面的表单提交信息。
若是合法用户,则将其用户级别、用户名、id号等信息保存到session中,便于以后识别该用户的身份和权限时使用。
其中,用户级别为对应记录的rank字段值,“0”代表普通用户,“1”代表系统管理员。
根据验证结果转到相应的页面。
(3)register.jsp
用户注册页面
主要负责显示用户注册时输入信息的表单。
用户需要填写用户名、真实姓名、密码、性别、年龄、身份证号、电话、电子邮件、联系地址等基本信息。
提供了客户端验证方法,判断填写的信息是否有效,避免无效信息被提交。
按“提交”按钮提交注册信息。
用户注册表单。
(4)adduser.jsp
注册处理页面
负责获取用户在注册时填写的个人信息
注册页面的表单提交信息
获取表单输入信息,首先对注册时使用的新用户名进行了判断,如果注册时输入的用户名和已有用户重复,则提示错误信息。
验证成功后,形成一条新记录插入到user表中。
显示注册成功信息或错误提示信息。
(5)detailuser.jsp
显示用户详细信息页面
当管理员用户单击用户信息列表中的用户名时,在新打开的浏览器窗口中显示该用户的基本信息。
需查看详细信息的用户id号。
根据id号在user表中查找相应的用户记录。
由于只有管理员能够查看其他用户信息,因此需要在文件头包含管理员验证文件。
该用户的个人详细信息显示。
(6)updateuser.jsp
修改用户信息页面
提供用户信息的修改界面。
当非管理员用户单击导航栏上的“修改个人信息”超链接时,显示当前登录用户的个人信息,可以对其中的真实姓名、密码、性别、年龄、身份证号、电话、电子邮件、联系地址等基本信息进行修改。
若用户为管理员,在用户管理页面单击每条用户记录右侧的“修改”超链接时,也可以进入此页面修改该用户的个人信息。
需修改信息的用户的id号。
根据用户id号在user表中查找相应的用户记录。
提供了客户端验证方法,对一些用户信息的格式或写法做了限制,避免无效的信息被提交。
把该用户的详细信息显示在表单控件中供用户修改。
(7)dealupdateuser.jsp
修改处理页面
处理用户信息修改页面的表单提交信息。
修改用户信息页面提交的表单信息。
这里要依据session中保存的用户权限及登录用户的id号做权限验证,限制普通用户仅能修改自己的个人信息。
只有管理员有权修改其他用户的信息。
验证通过后,获取用户提交的修改信息,更新user表中相应的记录。
根据验证结果重定向到不同页面。
<
%@pagecontentType="
text/html;
charset=gb2312"
import="
java.sql.*"
%>
%--包含登录验证文件,防止未登录用户直接进入论坛--%>
%@includefile="
check.jsp"
jsp:
useBeanid="
conn"
class="
dbBean.DBBean"
scope="
session"
/>
%
Stringid="
0"
;
Stringtruename="
"
Stringpassword="
Stringsex="
Stringage="
Stringidcard="
Stringphone="
Stringemail="
Stringaddress="
Stringrank="
Stringlogrank="
Stringlogid="
ResultSetrs=null;
request.setCharacterEncoding("
gb2312"
);
if(session.getAttribute("
rank"
)!
=null)
logrank=(String)session.getAttribute("
if(session.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 电子 书店 系统