java eE 网上书店系统Word下载.docx
《java eE 网上书店系统Word下载.docx》由会员分享,可在线阅读,更多相关《java eE 网上书店系统Word下载.docx(14页珍藏版)》请在冰点文库上搜索。
![java eE 网上书店系统Word下载.docx](https://file1.bingdoc.com/fileroot1/2023-4/29/65eb56b5-862b-451f-b8d0-30180ebc68c7/65eb56b5-862b-451f-b8d0-30180ebc68c71.gif)
2、掌握使用Servlet、JavaBean技术进行开发的方法。
1.2课程设计任务及要求
1.2.1课程设计任务
使用JSP、Servlet、JavaBean等技术创建一个在线图书销售网站BookStore。
该网站应实现以下功能:
1、实现用户的注册、登陆、修改、退出等用户管理功能。
2、实现图书的添加、删除、更新等图书管理功能。
3、实现购物车功能。
1.2.2课程设计环境
MyEclipseProfessional2014GA
WebLogic12c
MySQL5.6.16。
2需求分析
2.1任务需求分析
(1)简洁易懂美观的界面设计
(2)包括搜索查询的选项、会员注册的功能、精美书籍的展示等。
(3)各种界面服务如订购图书、论坛、修改用户信息购物车等等。
(4)强大书籍的查询搜索引擎
浏览用户可根据书籍名或作者进行书籍的搜索。
搜索用到的是模糊查询;
例如:
查询作者为李明的书籍,你可以在查询框中输入“李明”或者“李”则姓李的作者以及书籍名和出版社将以行表的形式显示在页面上。
若您不输入信息,点击查询,结果也将查出作者及书籍信息,这个信息是没有规律的。
2.2数据流图、数据字典及实体联系图
2.2.1数据流图
根据前面系统概述中描述的系统基本特点及其完成的功能,可得系统与外部实体之间的操作关系。
系统的总体图如图2-1所示。
整体图中反应了消费者和管理员两个外部实体与系统进行交互的整体关系,描述了系统的运作环境。
图2-1网络书店系统总体图
数据流图由四种基本的元素构成:
数据流(DataFlow),处理(Process),数据存储和数据源(数据终点)。
数据流(DataFlow):
为具有名称且有流向的数据,用标有名称的箭头表示,一个数据可以是记录、组合项或基本项。
处理(Process):
表示对数据所进行的加工和变换,在图中用矩形框表示。
指向处理数据流为该处理的输入数据,离开处理的数据为处理的输出数据。
数据存储:
表示用文件方式或数据库形式所存储的数据,堆砌进行的存取分别以指向或离开数据存储的箭头表示。
数据源及数据终点:
表示数据的来源或数据的去向,可以是一个组织或人员,它处于系统范围之外,所以又称它为外部实体,它是为了帮助理解系统界面而引入的,一般只出现在数据流图的起点和终点。
2.2.2实体联系E-R图
根据对数据流图和数据字典的分析,我们可以确定该应用中的实体,属性和实体之间的关系,并画出如下所示的E-R图。
在线书店系统E-R模型,如图2-2所示。
图2-2系统E-R图
系统ER图说明
1)在线书店可以销售各种图书;
2)每个消费者可以购买多种图书,不同图书可由不同顾客消费者购买;
3)每个消费者可以订购图书,产生订单,由管理员处理。
3系统设计
3.1数据库设计
数据库在一个信息管理系统中占有非常重要的地位,数据库结构设计的好坏将直接对应用系统的效率,以及实现的效果产生影响。
合理的数据库结构设计可以提高数据存储的效率,保证数据的完整和一致。
3.1.1数据库需求分析
针对一般在线书店的需求,得出如下需求信息。
用户分为游客和已注册用户。
一个用户可以购买多本图书。
一个用户对应一张订单。
一个列表对应多张订单。
针对本系统功能分析,总结出如下的需求信息:
用户,包括数据项:
用户ID、用户名、密码。
图书,包括数据项:
图书编号、图书名、价格、图书介绍。
订单列表,包括数据项:
订单编号、图书编号、购书数量。
从本系统中规划出的实体有:
用户实体、图书实体、订单实体、订单列表实体。
实体之间关系的E-R图如图3-1所示。
11N
N
图3-1实体关系E-R图
用户信息实体的E-R图如图3-2所示。
图书实体的E-R图如图3-3所示。
订单实体的E-R图如图3-4所示。
图3-2图书实体E-R图
图3-3用户实体E-R图
图3-4订单实体E-R图
3.1.2数据库逻辑结构设计
在线书店数据库中各个表的设计结果如下面的标和所示。
表3.5为图书信息列表book。
表3.5图书信息表book
字段名
数据类型
长度
允许空
说明
bookname
int
4
书名
author
varchar
100
yes
图书作者
Booktype
图书类型
price
tinyint
1
价格
表3.6为用户信息列表shop_user。
表3.6用户信息表shop_user
username
no
用户名
password
密码
Names
会员级别
表3.7为订单表,记录订单信息orders。
表3.7订单信息表orders
ID
自动编号,订单编号
quantity
订购数量
consignmentTime
datetime
8
交货时间
totalprice
float
总价
表3.8书店管理员信息表,记录管理员信息bookadmin。
表3.8管理员信息表bookadmin
AdminUser
20
管理员用户名
AdminPass
50
管理员密码
4系统实现
4.1系统概述
4.1.1用户界面部分
图书选购(可按分类查找图书,或者通过关键字进行查询)。
购物车功能。
用户注册。
用户登录。
查看用户的订单信息。
4.1.2管理界面部分
现有图书管理:
修改,删除,查看。
订单管理:
查看订单清单,更新订单付款,出货状态,删除订单。
添加新图书。
4.2各模块设计
1.用户登录模块的设计
为了检验用户是否合法,所以需要输入用户名和密码来验证用户的合法性,用户登录模块刚好完成这样的一个功能。
该模块需要用到login.java这个bean。
需要设计一个表单让用户输入信息。
2.在线购书功能模块设计
在该模块用户可以看见书店现有的样子,用户可以查找书通过分类,关键字查找。
用户可以购买图书,页可以查看图书的详细资料,还可以跳转到其他的模块。
5系统测试
1.用户登录。
图5-1用户登录界面
2.在线购书功能。
图5-2在线购书模块效果显示
3:
购物车页面。
图5-3购物车模块显示效果
4:
结账成功页面。
5.管理员页面显示效果图。
图5-4订单页面显示效果
6管理员添加图书效果图。
6用户注册。
7管理员登陆。
8购物页面。
第6章总结
本文论述了一个基于WEB的网上商品销售系统,基本上体现了电子商务各方面的优点。
我所设计的网上书店,主要是熟悉和掌握JSP的技术以及对电子商务进行初步的探讨和设计。
在软件开发编码阶段我才用原型法,先设计出个一个实现简单功能的系统在更具需求一步步完善系统的功能。
由于是才采用面向对象的设计所以系统中由很多类和方法,我将他们归类将经常使用的方法放在单独的类文件中,在以后的编码中只要通过对名称空间的引用就能调用他们。
本系统在实现传统的网上书店功能基础上对增强系统的安全性进行了初步的尝试,但是由于这方面研究的不深所以实现的与需求还有一定的差距。
其中也遗留下了一些待解决的问题,但出于自己水平有限,作为一个网上书店系统,该项目上有一些不完善和函待改进之处,特别是在网站信息的安全性上需要进一步加强。
附录
程序主干有代表性的部分代码:
购物界面显示:
request.setCharacterEncoding("
gb2312"
);
finalStringDriver="
com.mysql.jdbc.Driver"
;
finalStringUSER="
root"
finalStringPWD="
123456"
Connectioncon;
finalStringServerAndDatabase="
jdbc:
mysql:
//127.0.0.1:
3306/bookstore"
try{
Class.forName(Driver);
con=DriverManager.getConnection(ServerAndDatabase,USER,PWD);
Statementstmt=con.createStatement();
ResultSetrst=stmt.executeQuery("
select*frombooklistwherebooktype='
文学'
"
out.println("
<
td>
+"
作者"
/td>
书名"
价格"
加入购物车"
tr>
while(rst.next())
{
out.println("
+rst.getString("
authorname"
)+"
out.println("
bookname"
price"
inputtype=checkboxvalue="
).toString()+"
*"
name="
litbook"
>
/tr>
}
rst.close();
stmt.close();
con.close();
}catch(Exceptione){
e.printStackTrace();
}
图书添加:
ptsm=con.prepareStatement("
insertintobooklistvalues(?
?
)"
ptsm.setString(1,bookname);
ptsm.setString(2,bookauthor);
ptsm.setString(3,bookprice);
ptsm.setString(4,booktype);
ptsm.execute();
ptsm.close();
管理员和用户登录:
Class.forName(Driver);
con=DriverManager.getConnection(ServerAndDatabase,USER,PWD);
Statementstmt=con.createStatement();
ResultSetrst=stmt.executeQuery("
select*fromusertablewhereusername='
+username+"
'
anduserpass='
+userpass+"
"
if(rst.next())
flag=true;
rst.close();
stmt.close();
con.close();