基于Java的网上书店系统的设计与实现书籍管理部分Word格式.docx
《基于Java的网上书店系统的设计与实现书籍管理部分Word格式.docx》由会员分享,可在线阅读,更多相关《基于Java的网上书店系统的设计与实现书籍管理部分Word格式.docx(29页珍藏版)》请在冰点文库上搜索。
![基于Java的网上书店系统的设计与实现书籍管理部分Word格式.docx](https://file1.bingdoc.com/fileroot1/2023-5/6/2b0d4c9f-2715-40fb-985b-622a20f16dc7/2b0d4c9f-2715-40fb-985b-622a20f16dc71.gif)
through
a
combination
human
and
electronic
communication,which
based
on
communication
technologies
rely
computer
networks
as
media
realize
online
trading
books.ThesystemcombinesJavawithJsptechnologytoEclipse+jdkasadevelopmentplatform,whichcombineswithMySQLdatabasetosupporttoestablishadatabaseconnectionrelations,thissystemmainlyappliestheSSHframeworkandthree-tierarchitecture.Thisreportintroducesmainlythebackgroundandresearchcontentoftheonlinebookstoresystem,usingobject-orienteddevelopmentmethods,describingthebookdisplay,booksearch,bookmaintenanceandanyotherbookmanagementfunctions.
【Keywords】:
onlinebookstore;
Java;
TheSSHFramework;
bookmanagement;
Eclipse
引言
随着Internet互联网技术和电子商务的发展,购书并不是一定要去实体书店了。
网上书店的出现对传统的经营模式是一个巨大的冲击,使得传统的实体店经营模式理念发生了巨大的变化。
和传统书店模式相比,网上书店可以让广大的图书爱好者轻松买到自己喜欢的书籍,节约时间,轻松便捷。
该网上书店系统可为用户提供一个安心、快捷、方便的购书过程。
由于是网上售书的形式,用户可以随时关注新上架书籍和热销书籍。
同时网上书店系统可以为各类书籍带来前所未有的销量和商机。
随着互联网电子商务的逐渐推广,网上书店将成为主流销售方式,会成为人们生活的一部分。
1选题背景及研究意义
1.1选题背景
网上书店是互联网技术发展的产物,有较好的发展前景、较高的实用价值。
之所以会选择这个课题,因为以前接触过这个课题,对这个课题比较了解,本人对亚马逊、当当网等知名网上书店也比较感兴趣。
经过对现有的网上书店系统的使用和认识,本人对网上书店这一概念有了更深的了解,在同学和指导老师的帮助下完全有信心、有能力完成这个课题。
1.2研究意义
本课题的研究意义如下:
(1)随着互联网的发展,网上购物渐渐在取代实体店购物。
网上购物轻松便捷、节约时间,相比实体店购物,网上购物的优势明显,潜力巨大。
(2)相比实体店而言,网上书店所需要的成本低、收益快、效率高、信息传播速度快、覆盖面广、风险低,更吸引投资。
(3)网上书店的书籍价格比实体店低。
网上书店不需要门面租金等,出售的书籍价格也相对便宜。
网上书店的书籍价格透明度高,更受广大消费者青睐。
(4)网上书店展现的是一个全新的销售渠道和经营方式,它有着24小时的全天候和全方位服务,这些是店面书店所不能比及的。
与其他商品相比,书籍运送几乎不怕碰撞破裂,不惧时效性,易判断选择,适合网上交易[1]。
(5)网上书店的书籍种类齐全。
相比实体书店,网上书店出售的书籍种类更齐全,只要市场上能买到的书籍网上都能买到。
(6)传统实体书店在满足读者购书需求服务上和在满足读者阅读体验需求上都不及网上书店,传统实体书店逐渐步入困境。
网上书店的各种购书信息可以推动购书的欲望,而传统实体书店更多的是一种阅读氛围与浓浓的书香气[2]。
1.3网上书店简述
当前Internet的迅猛发展正在从方方面面改变着人们的生活,提高着人们的生活质量。
马云说过在不久的将来网上购物将会取代实体店购物。
网上书店作为电子商务的一种,已经家喻户晓。
网上书店就是一个有着独特展示和出售书籍功能的网站,它是一个集网络书籍管理、订单管理、支付管理、账户管理、系统管理于一体的管理系统。
这样的经营模式比传统的店面经营模式更具挑战力,越来越多的人逐渐认识到Internet所蕴含的巨大经济利益和商机,都积极投入到电子商务行为的活动中来[3]。
网上书店是网上商店的一种形式,目前已经得到了广泛的应用,另外,图书因具有特征描述简单、标志简易、规格标准、同类商品个体间无太大差异等特性而能成为电子商务系统中炙手可热的商品类型[4]。
相比实体书店,网上书店也有一些缺点,比如书籍内容有时会不符合;
有质量问题更换或者退货比较慢;
在邮寄过程中可能会对书籍造成损伤;
容易购买到盗版书籍等。
2网上书店系统分析
随着Internet互联网技术的不断发展,它已经与社会各个领域融为一体,扮演着至关重要的角色。
由于网络的高效率,计算机网络技术渐渐在取代人力[5]。
该系统是一个功能齐全的网上书店系统,可以分为4个用户角色,游客只可以搜索查看书籍,注册登录之后便拥有了会员权限;
会员还可以修改个人信息、购买书籍、支付评价等;
书籍管理员可以对页面和书籍进行维护管理;
订单管理员可以对订单进行管理;
系统管理员权限最大,可以管理其他管理员和用户。
2.1需求分析
每个系统都有每个系统的目标,所以在开发系统之前必须了解用户的需求,逐步完成系统的每一个子功能。
各个子功能如下表2-1所示:
表2-1子功能
功能类别
子功能
首页浏览产品信息
默认录入顺序排序、选择分类查看、查看热销书籍和新上架书籍
根据书名查询
根据作者查询
根据书籍价格进行排序
购买产品
通过进入购买页面选择产品,数量放入购物车
通过购物车选择购买内容,删除不想购买内容
用户通过点击查看可以知道购买的商品状态
用户进入订单详情可以确认收货并添加商品评论
用户管理
管理员可以查看管理员信息
管理员可以修改管理员信息
管理员可以删除管理员信息
管理员可以添加书籍管理员和订单管理员
管理员可以查看用户信息
书籍管理
书籍管理员可以查看书籍列表
书籍管理员可以添加书籍
书籍管理员可以查看书籍类别
书籍管理员可以添加书籍类别
订单管理
订单管理员查看总订单
订单管理员查看当日订单状况
订单管理员处理订单
2.2可行性分析
可行性分析就是对目标系统进行经济、技术等综合方面进行调查和研究,以调查结果来确定目标系统是否具备开发的必要性。
这样可以避免盲目投资开发系统带来的损失或者把损失降到最低。
鉴于开发该系统需要的服务器、开发环境、操作系统、数据库等都可从网上免费下载,也具有较高的实用性;
开发该系统的技术基本符合,不足方面可以通过上网查阅资料弥补,所以开发该系统是可行的。
2.3系统开发工具
2.3.1Tomcat
Tomcat是由Apache、Sun和其他一些公司及个人共同开发而成的Apache软件基金会Jakarta项目中的一个核心项目。
最新的Servlet和Jsp规范总是能在Tomcat中得到体现。
Tomcat深受Java爱好者的喜爱并得到了部分软件开发商的认可,成为目前流行的Web应用服务器,因为Tomcat技术先进、性能稳定,而且免费。
2.3.2Eclipse
Eclipse是一个开放源代码的、基于Java的可扩展开发平台。
就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。
幸运的是,Eclipse附带了一个标准的插件集,包括Java开发工具。
2.3.3MySQL
MySQL是一个关系型数据库管理系统,由瑞典MySQLAB公司开发。
MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。
MySQL所使用的SQL语言是用于访问数据库的最常用标准化语言。
MySQL软件采用了双授权政策,它分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择MySQL作为网站数据库。
由于其社区版的性能卓越,搭配PHP和Apache可组成良好的开发环境。
2.4运行环境
系统开发环境具体运行环境要求如下表2-2所示:
表2-2运行环境
需求名称
详细要求
数据库
MySQL5.2以上
操作系统
Windows7
浏览器
IE6.3或以上版本
电脑配置
推荐:
内存4GB以上,CPU:
2G,硬盘:
50G
开发环境及Web服务平台
Eclipse6.0,Tomcat6.0
3功能模块与数据表设计
3.1模块设计
3.1.1注册会员模块
登陆了该系统但没有注册的游客只能进行一些简单的查询操作,不能购买书籍。
注册会员模块可以实现网上书店系统的用户注册。
注册填写的信息,通过Web服务器检查通过后,将其写入MySQL数据库中[6]。
3.1.2书籍管理模块
对网上书店的所有书籍进行维护管理。
游客和一般会员没有这个功能,必须要系统管理员给予权限的书籍管理员才能进行书籍维护管理。
书籍管理员登陆系统后才可以对书籍进行维护管理。
3.1.3书籍管理功能模块图
书籍管理功能模块图如下图3-1所示:
图3-1书籍管理功能模块图
3.1.4网上书店基本流程图
网上书店基本流程图如下图3-2所示:
图3-2网上书店基本流程图
3.2数据表设计
3.2.1数据表设计
数据库是本系统中非常重要的组成部分,在数据库中存储着网上书店运行过程中的大部分数据,整个系统的设计和运行也都是围绕着数据库来展开的,数据库的结构设计和安全维护将直接影响到整个系统的设计开发和系统的质量[7]。
数据表设计如下表3-1:
表3-1数据表
表名
功能说明
address
地址表:
存储收货地址的信息
book
书籍表:
存储书籍信息
book_state
书籍状态表:
存储书籍的状态信息
car
购物车表:
存储在购物车订单的信息
comments
评论表:
存储评论信息
order
订单表:
存储订单信息
order_book
订单明细表:
存储订单购买数量信息
order_state
订单状态表:
存储订单状态信息
roles
角色表:
存储角色信息
type
类型表:
存储书籍类型信息
user
用户表:
存储用户信息
valuation
评价表:
存储评价信息
3.2.2书籍管理模块数据表设计
书籍管理模块包含了表book、book_state和type,book表主要记录了书籍的详细信息,如下3-2所示:
表3-2book
列名
描述
数据类型(精度范围)
空/非空
约束条件
id
Int(11)
否
主键,自动增量
(1)
book_name
书名
varchar(50)
book_price
价格
double(10)
book_author
作者
varchar(255)
book_intro
简介
book_pic
图片地址
class_id
类别
int(11)
book_num
数量
book_state_id
状态
book_state表主要记录了书籍的状态,如下表3-3所示:
表3-3book_state
varchar(20)
type表主要记录了书籍的种类,如下表3-4所示:
表3-4type
type_name
4书籍管理模块功能实现
4.1系统简单概述
书籍管理模块作为网上书店系统中一个重要的模块,它包括了书店页面排版显示、账户注册、用户登录、搜索浏览书籍、书籍管理员管理书籍等功能。
书籍管理员通过书籍管理来保持网上书店书籍的丰富性和准确性。
用户进入主界面后,可以查看所有图书信息,对图书选择分类查看,也可根据作者、书名对书籍进行搜索[8]。
4.2功能设计与实现
4.2.1首页设计与实现
(1)首页分为4个独立的块head.Jsp、foot.Jsp、right.Jsp、left.Jsp。
可以分别通过<
Jsp:
includepage=”./commom/head.Jsp”/>
、<
includepage=”./commom/foot.Jsp”/>
includepage=”./commom/right.Jsp”/>
调用它们,以便提高代码的重用性。
(2)用户注册模块设计
没有账号的用户需要先注册账号才能登陆该系统。
注册页面Jsp是register.Jsp,控制层action是UserAction.Java,数据访问层dao是UserDao.Java。
在注册页面register.Jsp中采用了ajax技术,需要用户填写用户名、密码、真实姓名、邮箱和电话。
出现重复或者已被注册或者输入不符合的时候会自动提示,方便填写。
注册页面如下图4-1所示:
图4-1注册页面
该功能主要代码如下:
varjq=jQuery.noConflict();
jq(document)
ready(
function(){
jq("
#userName"
)
.blur(
function(){
varreg=/^\D{1}\w{2,9}$/;
varuserName=jq("
.val();
if(userName==null||userName=="
"
){
document.getElementById("
cuserName"
).innerHTML="
用户名不能为空"
;
}elseif(reg.test(userName)==false){
用户名格式不正确(第一位为字母,长度3到10)"
}else{
jq.ajax({
url:
"
user!
checkUserName"
data:
userName="
+userName,
dataType:
text"
success:
function(a){
if(a=="
false"
document.getElementById("
用户名已存在!
}else{
&
nbsp;
}}
type:
get"
});
}
});
functioncheck_userPwd(){
varuserPwd=document.getElementById("
userPwd"
).value;
varreg=/^\w{6,15}$/;
if(userPwd==null||userPwd=="
cuserPwd.innerHTML="
密码不能为空"
returnfalse;
if(reg.test(userPwd)==false){
密码为6到15"
cuserPwd.innerHTML="
returntrue;
functioncheck_reuserPwd(){
varreuserPwd=document.getElementById("
reuserPwd"
if(reuserPwd==null||reuserPwd=="
creuserPwd.innerHTML="
确认密码不能为空"
if(reuserPwd!
=userPwd){
两次密码不一致"
creuserPwd.innerHTML="
functioncheck_realName(){
varrealName=document.getElementById("
realName"
if(realName==null||realName=="
crealName.innerHTML="
真实姓名不能为空"
crealName.innerHTML="
functioncheck_tel(){
vartel=document.getElementById("
tel"
varreg=/^1\d{10}$/;
if(tel==null||tel=="
ctel.innerHTML="
电话不能为空"
}elseif(!
reg.test(tel)){
电话必须是11位,第一位为1"
ctel.innerHTML="
functioncheck_email(){
varemail=document.getElementById("
email"
varreg=/^\w+@\w+(\.\w{2,3})$/;
if(email==null||email=="
cemail.innerHTML="
邮箱不能为空"
if(reg.test(email)==false){
邮箱格式不对"
cemail.innerHTML="
functioncheck(){
if(check_userPwd()&
check_reuserPwd()&
check_realName()
check_tel()&
check_email()){
returntrue;
returnfalse;
functionbb(){
varmsg=document.getElementById("
msg"
if(msg!
="
alert(msg);
(3)用户登陆模块设计
已拥有账号或者注册账号后即可登陆该网上书店系统。
用户登陆的页面我把它写在了right.Jsp中。
控制层是UserAction.Java,数据访问层dao是UserDao.Java,登陆页面如下图4-2所示:
图4-2登陆页面
登陆功能主要代码:
functiond_userName(){
varuserName=document.getElementById("
userName"
if(userName==null||userName=="
duserName.innerHTML="
请写用户名"
duserName.innerHTML="
functiond_userPwd(){
duserPwd.innerHTML="
请填写密码"
duserPwd.innerHTML="
functiond_che