基于JSP网上书店系统的设计与实现

 

欢迎添加微信互相交流学习哦!

二维码

项目源码:https://gitee.com/oklongmm/biye2



摘 要
JAVA语言是目前Internet上大型的WEB应用程序开发时使用得最热门的编程语言,本文描述了JAVA和JSP技术的特点以及在互联网上的使用情况,介绍这两种技术的重要编程方法和两者之关的联系,并完成一个基于这种技术的网上书店系统。
【关键字】JAVA, JavaBeans, Servlet, JSP, 网络编程, 电子商务, 网上书店
目 录
TOC 1-3 摘 要 2
目 录 2
第一章 概 述 3
(一) JSP简介和运行原理 3
(二) 开发背景 4
第二章 需求分析 4
(一) 系统组成 4
(二) 角色识别 5
第三章 系统设计 7
(一) 数据库设计 8
1. 数据库需求分析 8
2. 数据库逻辑结构设计 10
第四章 详细设计 12
(一) 实现bookshop.run包 12
1. login.java 12
(二) 客户界面设计与实现 18
1. 界面头和界面尾设计 18
2. 老用户登录 18
3. 新用户注册 21
4. 在线购书功能模块设计 26
6. 读者留言功能模块设计 32
7. 管理员身份验证功能模块设计 37
8. 订单处理功能模块设计 39
第五章 系统测试 41
(一) 数据库连接 41
(二) 检测网站运行速度 42
第六章 总 结 43
第七章 参考文献 44
第八章 致 谢 44
第1章 概 述
(1)JSP简介和运行原理
  JSP(Java Server Pages)是由Sun Microsystems 公司倡导、许多公司参与一起建立的一种动态网页技术标准,JSP技术在Servlet技术基础上发展起来的,它正在飞速发展中,现已成为Java服务器编程的重要组成部分。它虽然还未成型,但是它必将和J2EE(Java 2 Enterprise Edition)一起发展。
JSP是结合markup(HTML和XML)和Java代码来处理一种动态页面。每一页第一次被调用时,通过JSP引擎自动被编译成Servlet,然后被执行,以后每次调用时,执行编译过的Servlet。JSP提供了多种方式访问Java class、Servlet、Applets和Web Server,因此,Web应用的功能可以分成多个明确定义公用接口的组件,通过JSP将它们结合在一起。
在JSP第一次获得来自于客户端浏览器的请求时,JSP文件将被JSP引擎(JSP engine)转换成一个Servlet,即将”.jsp”文件编译成Java Class文件。当Servlet引擎接收到请求后,如果设置了使用最新的JSP,它就会去找JSP文件,检查该文件在上次编译后是否改动过。如果改动过,就会重新编译生成新的Servlet,最终将请求转交给编译好的Servlet引擎执行。
(2)开发背景
我国的网上书店虽然从数量上取得了一定的进展,但从售量而言却不尽人意,目前,国内尚无一家在网上零售领域形成绝对领先优势的网上书店。发展比较好的寥寥无几,比较成功的有当当书店。
伴随着电子商务技术的不断成熟,电子商务的功能也越来越强大,注册用户可以在网上搜索购买到自己想要的各种商品,初步让人们体会到了足不出户,便可随意购物的快感。我的毕业设计也就正是一个电子商务系统的开发---网上商品销售系统。
第2章 需求分析
本系统是一个中小型的电子商务系统----网上书店,可以为各类用户提供方便的在线买书环境,符合目前国内流行的电子商务模式。用户可以在系统中实现注册、浏览商品、搜索查询商品、下定单、处理定单等功能;管理员可以通过用户管理、定单管理、商品管理等管理功能来对系统进行维护更新。
(1)系统组成
1.客户界面部分
图书选购(可按分类查找图书,或者通过关键字进行查询)。
购物车功能。
查看图书详细信息。
用户注册。
用户登录。
查看用户的订单信息。
修改用户个人信息。
2.管理界面部分
现有图书管理:修改,删除,查看。
用户管理:查看,修改,删除。
订单管理:查看订单清单,更新订单付款,出货状态,删除订单。
留言管理。
职工管理。
出版社管理。
(2)角色识别
角色识别的任务是找出所有可能与系统发生交互行为的外部实体,对象和系统。他们的行为不受系统的控制,但是可以提供输入给系统(即使用系统的功能,或者能够响应系统的服务请求,为系统提供服务的接口)。
在前面的描述中可知,用户在访问系统时,可以浏览书籍和查询书籍,并使用购物车筛选自己中意的书籍,购物完之后到服务台进行结帐,并保留订单以便收到货物时进行核对,很显然系统存在这样的主要角色,我们定义该角色为前台客户。同样在系统的后台,也需要人员管理货物,查询,处理订单,管理注册用户,我们定义该角色为系统管理员。
综上所述,本系统实际只包含两个角色:前端用户,系统管理员。
前台用户的行为:管理个人信息,前台订单处理,购物,浏览信息。
管理个人信息的操作:用户注册,用户信息修改,用户登录,用户信息查看。
前台订单处理的操作:结帐,查看订单状态,取消订单。
购物操作:浏览购物车,将商品放入购物车,取消购物车中的商品,修改购物车中商品的数量, 清空购物车。
浏览信息:查看图书详细信息,查找图书。
系统管理员的行为:用户管理,后台订单管理,商品管理。
用户管理的操作:管理员登录,后台验证,查看/修改用户信息,添加/删除用户。
后台订单管理的操作:查看订单,确认订单,修改订单状态,删除订单。
商品管理:查看图书列表,查看图书详细信息,添加图书,修改图书,删除图书,添加图书分类,删除图书分类,浏览图书分类列表。
为了更好的理解我画出了前台用户模型图和系统管理员模型图:
前台用户模型:
图2-1 前台用户模型
图2-2 系统管理员模型
表2.1 模块功能列表
序号 功能模块类型 功能模块 备注
1 前台用户 管理个人信息 用户注册,用户信息修改,用户登录,用户信息查看
2 前台用户 前台订单处理 结帐,查看订单状态,取消订单
3 前台用户 购物 浏览购物车,将商品放入购物车,取消购物车中的商品,修改购物车中商品的数量,清空购物车
4 前台用户 浏览信息 查看图书详细信息,查找图书
5 系统管理员 用户管理 管理员登录,后台验证,查看用户信息,修改用户信息,添加用户,删除用户
6 系统管理员 后台订单管理 查看订单,确认订单,修改订单状态,删除订单
7 系统管理员 商品管理 查看图书列表,查看图书详细信息,添加图书,修改图书,删除图书,添加图书分类,删除图书分类,浏览图书分类列表
表2.1是根据模块完成任务的不同进行划分的,一共包括7大模块,其中与前台相关的共有4个,与后台相关的有3个。这些功能模块是建立在我们对系统的需求分析和设计的基础上的。当然这是从大的方向对系统进行的很粗糙的划分,进入系统设计阶段我们将会对系统进行更加精细的划分设计。
任何系统的功能的实现都离不开角色的参与,为了赋予不同的角色不同的功能和权限,也为了一定程度上确保系统交易的安全性和顺利进行,我们必须对系统的各种用户进行管理,从表2.1可以看出,系统提供用户登录,用户注册,用户信息查看,用户信息修改的功能。用户登录后是为了从后端数据库中核实用户的登录名和密码,防止非法用户下订单,确保系统的安全性和秩序。其他的功能也是最大限度的保证系统的顺利进行和安全性。这里就不一一说明了。
第3章 系统设计
本系统采用三层架构设计,它的工作原理如图3-1所示。
图3-1三层架构模型
采用三层构架以后,用户界面层通过统一的接口向业务层发送请求,业务层按自己的逻辑规则将请求处理之后进行数据库操作,然后将数据库返回的数据封装成类的形式返回给用户界面层。
(1)数据库设计
数据库在一个信息管理系统中占有非常重要的地位,数据库结构设计的好坏将直接对应用系统的效率,以及实现的效果产生影响。合理的数据库结构设计可以提高数据存储的效率,保证数据的完整和一致。
1. 数据库需求分析
针对一般在线书店的需求,得出如下需求信息。
 用户分为游客和已注册用户。
 订单分为单张详细订单和总订单。
 一个用户可以购买多本图书。
 一个用户对应一张订单。
 一个列表对应多张订单。
针对本系统功能分析,总结出如下的需求信息。
 用户,包括数据项:用户ID、用户名、密码。
 图书,包括数据项:图书编号、图书名、价格、图书介绍。
 订单列表,包括数据项:订单编号、图书编号、购书数量。
 订单,包括数据项:订单编号、用户编号、下单时间。
从本系统中规划出的实体有:用户实体、图书实体、订单实体、订单列表实体。

1 1 N
N
图3-5实体关系E-R图
图3-6 图书实体E-R图
图3-7 用户实体E-R图
图3-8 订单实体E-R图
图3-9 订单列表实体E-R图
2. 数据库逻辑结构设计
网上书店数据库中各个表的设计结果如下所示。
表3.1图书信息表book
字段名 数据类型 长度 允许空 说明
ID int 4 自动编号,主键
bookname int 4 书名
bookclass varchar 255 图书类别
author varchar 100 yes 图书作者
publish float 8 yes 出版社
bookNo varchar 100 yes 书号
Content text 16 yes 内容介绍
price tinyint 1 yes 价格
Amou

  • 9
    点赞
  • 76
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值