基于MVC网上书店管理系统的设计与实现毕业设计论文.docx

上传人:b****7 文档编号:10818594 上传时间:2023-02-23 格式:DOCX 页数:50 大小:1.32MB
下载 相关 举报
基于MVC网上书店管理系统的设计与实现毕业设计论文.docx_第1页
第1页 / 共50页
基于MVC网上书店管理系统的设计与实现毕业设计论文.docx_第2页
第2页 / 共50页
基于MVC网上书店管理系统的设计与实现毕业设计论文.docx_第3页
第3页 / 共50页
基于MVC网上书店管理系统的设计与实现毕业设计论文.docx_第4页
第4页 / 共50页
基于MVC网上书店管理系统的设计与实现毕业设计论文.docx_第5页
第5页 / 共50页
点击查看更多>>
下载资源
资源描述

基于MVC网上书店管理系统的设计与实现毕业设计论文.docx

《基于MVC网上书店管理系统的设计与实现毕业设计论文.docx》由会员分享,可在线阅读,更多相关《基于MVC网上书店管理系统的设计与实现毕业设计论文.docx(50页珍藏版)》请在冰豆网上搜索。

基于MVC网上书店管理系统的设计与实现毕业设计论文.docx

基于MVC网上书店管理系统的设计与实现毕业设计论文

基于MVC网上书店管理系统的设计与实现

绪论

随着社会的不断发展,网络技术的不断进步,网络逐渐的融入了人们的生活之中。

网络的方便、快捷、便宜、全面等优点也逐渐的在各个领域中所体现出现。

因而越来越多的人利用网络的资源来推销自己的产品或者购买自己喜欢的商品。

科技的快速发展,导致了人们知识的匮乏,想要增长自己的知识,必不可少的一个途径,就是多看书,看好书。

但书籍有好有坏有贵有便宜,怎样才能快速了解它的详细信息呢?

因而我开发了一个网上书店系统。

本系统既能提供卖家在网上销售图书,也支持买家在网上快速浏览图书信息,并购买自己喜欢的图书,从而形成买卖双方互赢的局面。

1平台简介

1.1开发平台

本系统主要是使用JSP+CSS+HTML开发系统界面,并且结合JavaServlet实现局部刷新以及使用JDBC和Oracle数据库进行数据交互。

1.1.1服务器端

WindowsServer/XP/WIN7Oracle10g或以上版本

1.1.2客户端

Windows98/Server/XP/WIN7InternetExplore8.0以上。

1.1.3系统开发工具

Eclipse、Dreamweaver、Tomcat

1.2制作工具及系统相关技术介绍

用Dreamweaver作为系统开发的辅助工具,运用JSP+HTML+CSS设计系统的表现层。

使用JS实现动态部分,Oracle提供的数据层。

1.2.1JSP简介

JSP将网页逻辑层与表现层分离,降低各个模块间的耦合度,利用系统开发。

JSP页面由HTML代码和Java脚本所组成。

用户第一次访问JSP页面时,Web服务器会将其编译成Javaservlet,以后用户如果再次访问此页面时,就会直接访问编译后的Javaservlet文件而无需再次编译。

服务器会将响应的信息,即HTML页面返回到客户端的浏览器上,直观的显示给用户。

1.2.2使用JSP作为开发工具的原因

(1)将逻辑层和表现层进行分离。

(2)它强调组件的可重用性。

2系统分析

2.1系统的需求分析

开发本系统目的是为了方便用户购书图书以及管理员管理图书。

开发的系统应该操作简单,如果系统过于复杂,就降低了用户的可使用价值。

2.2系统的可行性分析

2.2.1技术可行性

只要能够上网,就可以使用本系统。

该系统是使用JSP+CSS+HTML开发的系统界面和Oracle10g创建的数据库,。

2.2.2经济可行性

此系统可以运行在能够上网的电脑上。

并且使用的开发工具都是免费的,所以在经济上是完全可行的。

2.2.3操作可行性

系统界面的设计模式符合人们的习惯,系统操作比较方便易学。

而且所有网页的设计都比较清新、简洁、合理,不会让用户感到任何的视觉疲劳。

系统可操作性比较高。

3网上书店总体设计

3.1系统的总体设计

网上书店系统由注册登录模块、用户模块、管理员模块和退出系统模块四大模块组成,并且各个大模块下又包含一些小模块。

下面介绍各个功能模块:

(1)注册登录模块

用户首次使用本系统时,必须先注册一个新的账户,用户注册成功后才能登录本系统并进行购买图书的操作,管理员亦之。

(2)用户模块

①图书模块

用户可以通过首页的分类导航菜单查看书籍信息,也可以通过搜索的方式:

按图书的书名、类型、价格、出版社、作者、数量、简介、销售量等任一种或者多种条件进行模糊查询,还可以点击书名或者书的图片快速浏览此书的详细信息。

②购物车模块

用户购书时,点击“加入购物车”按钮,系统会将此图书放入购物车中。

在购物车中,用户还可以对其进行查看、删除的操作。

③收藏夹模块

用户浏览书籍时,按下“收藏宝贝”,就可以将书籍放入自己的收藏夹,便于购买。

在收藏夹中,用户还可以对其进行查看、删除、购买操作。

④地址管理模块

用户购买书籍时,需要填写邮寄地址,同时也可以对其进行修改和删除的操作。

(3)管理员模块

登录本系统时选择管理员登录后,才能对菜单管理、交易管理、宝贝管理和订单管理进行相关的操作。

①交易管理

交易管理包括已卖宝贝管理和评价管理两部分。

a、已卖宝贝管理

管理员可以查看已经卖出的宝贝信息,从而总结出消费者更喜欢哪类书籍。

b、评价管理

管理员可以查看用户对书籍的评价情况。

②宝贝管理

宝贝管理包括发布宝贝、宝贝修改、宝贝下架、热销宝贝、新到宝贝和所有宝贝。

a、发布宝贝管理

管理员可以添加新书,包括书籍的书名、类别、单价、出版社、作者、库存、简介和图片等信息。

b、宝贝修改管理

管理员可根据ISBN、图书的名称、类型、出版社、作者等任一种或多种条件进行模糊查询。

在查询的结果中,可以对图书进行修改操作。

c、宝贝下架管理

管理员可根据ISBN、是否为新书、是否为热书、图书的名称、类型、价格、销量、库存、出版社、作者等任一种或多种条件进行模糊查询。

在查询的结果中,对图书进行删除操作。

d、热销宝贝管理

管理员可以快速查看图书的销售信息,从而了解用户对各类书籍的喜爱程度。

e、新到宝贝管理

管理员可以查看新到的书籍情况。

f、所有宝贝管理

管理员可根据图书的销量、库存、出版社、作者等任一种或多种条件进行模糊查询,从而更加快速的了解图书的情况。

③订单管理

订单管理包括发货管理和所有订单管理两部分。

a、发货管理

管理员通过订单的信息进行发货,如果订单数量较多也可以进行批量发货。

b、所有订单管理

管理员可以根据宝贝名称、成交时间、买家昵称、订单状态、订单编号和评价状态任一种和多个条件作为查询条件进行查询,了解订单的详细信息。

(4)退出系统模块

系统不使用时,直接退出本系统。

3.2系统的功能结构

3.2.1系统功能模块图

网上书店系统主要包括注册登录模块、用户模块、退出系统模块和管理员模块;其中用户模块又包括图书模块、购物车模块、收藏夹模块和地址管理模块;管理员模块包括菜单管理、交易管理、宝贝管理和订单管理,如图3-1所示。

退出系统模块

图3-1系统功能模块图

3.2.2系统流程图

登录系统时,如果用户没有账号,需要先注册一个新的账号,登录时,会进行验证,验证失败会给予提示,成功后进入系统主页面,然后用户就可以查看图书信息,购买图书和修改用户信息的操作。

查看图书信息时,可以直接在主页面进行查看,也可以在购物车或者收藏夹中进行查看;购买图书时,可以将图书加入购物车或者收藏夹进行购买。

如图3-2所示

图3-2系统流程图

3.2.3购书流程图

用户登录网上书店系统后,可以通过首页的图书分类导航、热销排行、新书到店或查询的方式找到想购买的图书,然后将想要购买的图书加入到购物车或者收藏夹中,点击购买按钮,生成订单后,并付款。

当管理员登录本系统后,通过查看已经付款的订单,从而进行发货(或批量发货),最后用户通过查看已买的宝贝,状态为已发货的,对其进行确认收货,这样购书的流程就算完成了,如图3-3所示

图3-3购书流程图

4网上书店详细设计

4.1数据库设计

(1)用户信息表user如表4-1所示:

字段

类型

是否为空

默认

字段含义

ID

number

用户ID(主键),自增

Username

varchar2(30)

用户名

PWD

varchar2(30)

用户密码

Phone

Varchar2(30)

null

用户电话

Email

Varchar2(30)

null

用户邮箱

Sex

Varchar2(100)

null

用户性别

Age

number(10)

用户年龄

Job

Varchar2(20)

用户职业

UserImage

Varchar2(100)

用户头像

表4-1用户信息表user

(2)管理员信息表admin的定义如表4-2所示:

字段

类型

是否为空

默认

字段含义

ID

number

管理员ID(主键),自增

AdminName

varchar2(30)

admin

管理员姓名

PWD

varchar2(20)

admin

管理员密码

表4-2管理员信息表admin

(3)收藏夹信息表favorite的定义如表4-3所示:

字段

类型

是否为空

默认

字段含义

ID

number

收藏ID(主键),自增

UserName

varchar2(20)

用户名称

ISBN

varchar2(30)

国际标准书号

BookName

varchar2(30)

图书名称

BookImage

varchar2(100)

null

图书图片

表4-3收藏夹信息表favorite

(4)书籍信息表book的定义如表4-4所示:

字段

类型

是否为空

默认

字段含义

ISBN

varchar2(30)

图书编号(主键),自增

BookName

varchar2(30)

图书名称

BookImage

varchar2(20)

null

图书图片

BookType

varchar2(30)

图书类型

Price

number

图书单价

Publish

varchar2(30)

出版社

Author

varchar2(30)

作者

Amount

number

库存

Introdction

varchar2(500)

null

图书简介

IsNew

number

是否为新书

IsHot

number

是否为热书

Sales

number

销量

表4-4书籍信息表book

(5)购物车信息表cart的定义如表4-5所示:

字段

类型

是否为空

默认

字段含义

ID

number

购物车ID(主键),自增

UserName

varchar2(20)

用户名称

ISBN

varchar2(30)

国标标准书号

Num

number

购书数量

BookName

varchar2(30)

图书名称

BookImage

varchar2(100)

null

图书图片

Price

number

图书单价

表4-5购物车信息表cart

(6)订单表orders的定义如表4-6所示:

字段

类型

是否为空

默认

字段含义

OrderID

varchar2(30)

订单编号(主键),自增

ISBN

varchar2(50)

图书编号

Price

number

null

图书单价

Num

number

购书数量

Total

number

总价

UserName

varchar2(30)

用户名

Receiver

varchar2(30)

收件人名称

Addressinfo

varchar2(30)

地址

PostCode

varchar2(20)

邮编

Phone

number

电话号码

Time

Date

时间

IsSend

number

是否发货

IsReceive

number

是否收货

IsPay

number

是否付款

IsAssess

number

是否评价

BookName

varchar2(50)

图书名称

表4-6订单表orders

(7)收藏夹信息表favorite的定义如表4-7所示:

字段

类型

是否为空

默认

字段含义

ID

number

评价ID(主键),自增

Content

varchar2(200)

null

评价内容

Score

number

宝贝打分

UserName

varchar2(20)

用户名称

ISBN

varchar2(20)

评价的图书ISBN

OrderID

varchar2(20)

订单编号

Time

date

订单时间

表4-7收藏夹信息表favorite

(8)地址信息表address的定义如表4-8所示:

字段

类型

是否为空

默认

字段含义

ID

number

地址ID(主键),自增

Receiver

varchar2(20)

收货人名称

AddressInfo

varchar2(20)

地址信息

Phone

varchar2(20)

联系方式

PostCode

varchar2(100)

邮编

UserName

varchar2(20)

用户名称

Province

varchar2(20)

City

varchar2(20)

Area

varchar2(20)

Street

varchar2(20)

null

街道

表4-8地址信息表address

4.2数据库连接设计

本系统分为登录与注册模块、用户模块、管理员模块和系统退出模块四部分。

其中用户模块主要包括用户信息的修改、图书管理、地址管理、购物车和收藏夹;管理员模块包括菜单管理、交易管理、宝贝管理和订单管理。

网上书店采用Oracle作为后台的数据库。

我们建立了一个名为xe的数据库用于存放数据,主要代码如下:

publicclassDBUtils{

publicstaticConnectionconn=null;

publicstaticPreparedStatementpstmt=null;

publicstaticResultSetrs=null;

publicstaticStringusername;

publicstaticStringpassword;

publicstaticStringdriver;

publicstaticStringurl;

publicstaticvoidinit()

{InputStreamfis=null;

try{

fis=DBUtils.class.getClassLoader().getResourceAsStream("dbconn.properties");

Propertiespp=newProperties();

pp.load(fis);

username=pp.getProperty("username");

password=pp.getProperty("password");

driver=pp.getProperty("driver");

url=pp.getProperty("url");

Class.forName(driver);

conn=DriverManager.getConnection(url,username,password);

}catch(Exceptione){

e.printStackTrace();

}}}

在src下创建dbconn.properties文件:

内容如下:

username=system

password=root

driver=oracle.jdbc.driver.OracleDriver

url=jdbc:

oracle:

thin:

@localhost:

1521:

xe

4.3登录模块设计

4.3.1用户登录

用户登录时,如果用户输入的内容不符合要求时或者不输入任何内容时都会给予相应的提示信息,如图4-1所示

图4-1用户登录图

主要代码如下:

protectedvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{

Stringpath=request.getContextPath();

Stringusername=request.getParameter("username");

Stringpwd=request.getParameter("pwd");

UserServiceuserService=newUserServiceImpl();

AdminServiceadminService=newAdminServiceImpl();

Stringrole=request.getParameter("role");//获取角色0普通用户1管理员

if(role.equals("0")){//普通用户

Useruser=userService.findByUserName_pwd(username,pwd);//根据用户名和密码匹配用户

Useruser1=userService.findByUserName(username);//根据用户名匹配用户

if(user!

=null){

request.getSession().setAttribute("user",user);

Stringvalue=user.getUserName()+":

"+MD5.calcMD5(user.getPwd());//

Cookiecookie=newCookie(path,value);

cookie.setMaxAge(10*60);

cookie.setPath(request.getContextPath());

response.addCookie(cookie);

request.setAttribute("errorstyle","none");

request.getRequestDispatcher("/HomePage.html").forward(request,response);

}else{

if(user1!

=null){

request.setAttribute("errorstyle","block");

request.setAttribute("error","用户密码错误");

request.getRequestDispatcher("/login.jsp").forward(request,response);

}else{

request.setAttribute("errorstyle","block");

request.setAttribute("error","不存在此用户");

request.getRequestDispatcher("/login.jsp").forward(request,response);

}}}

elseif(role.equals("1")){//管理员

Adminadmin=adminService.loginAdmin(username,pwd);

Adminadmin1=adminService.findAdminByAdminName(username);

if(admin!

=null){

request.getSession().setAttribute("admin",admin);

Stringvalue=admin.getAdminName()+":

"+MD5.calcMD5(admin.getPwd());

request.setAttribute("errorstyle","none");

request.getRequestDispatcher("/admin.jsp").forward(request,response);

}else{

if(admin1!

=null){

request.setAttribute("errorstyle","block");

request.setAttribute("error","管理员密码错误");

request.getRequestDispatcher("/login.jsp").forward(request,response);}

else{

request.setAttribute("errorstyle","block");

request.setAttribute("error","不存在此管理员");

request.getRequestDispatcher("/login.jsp").forward(request,response);

}}}}}

${errorstyle}">

     ${error}

登录名:

onfocus="this.value=''"/>登录密码:

忘记登录密码?


普通用户

展开阅读全文
相关搜索

当前位置:首页 > 高中教育 > 英语

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1