基于WEB的网上书店系统论文,附带源码 - 图文
更新时间:2024-01-05 19:40:01 阅读量: 教育文库 文档下载
- 基于web的网上书店设计推荐度:
- 相关推荐
目 录
摘要????????????????????????????????1 关键词??????????????????????????????1 Abstract?????????????????????????????1 Keywords?????????????????????????????1 1 引言???????????????????????????????2 1.1 课题意义????????????????????????????2 1.2 国内外现状???????????????????????????2 2 系统开发技术???????????????????????????4 2.1 相关技术????????????????????????????4 2.2 B/S 三层架构??????????????????????????4 3 需求分析与系统设计????????????????????????6 3.1 目标与要求???????????????????????????6 3.2 用户特点????????????????????????????6 3.3 系统功能结构描述????????????????????????6 3.4 系统流程图???????????????????????????8 3.5 系统页面结构??????????????????????????8 4 数据库的设计 ??????????????????????????10 4.1 MYSQL数据库的简介 ???????????????????????10 4.2 数据库设计要点 ????????????????????????10 4.3 系统E-R关系图 ????????????????????????10 4.4 数据表结构 ??????????????????????????14 5 前台模块设计与实现 ???????????????????????17 5.1 用户模块 ???????????????????????????17 5.1.1 用户注册 ??????????????????????????18 5.1.2 用户登录 ??????????????????????????18 5.1.3 订单管理 ??????????????????????????19 5.1.4 用户登出 ??????????????????????????19 5.2 主页模块和商品检索 ??????????????????????20 5.3 购物车模块 ??????????????????????????22 5.4 我的订单 ???????????????????????????24
5.4.1 订单列表生成 ????????????????????????24 5.4.2 订单确认 ??????????????????????????25 5.4.2 订单生成 ??????????????????????????25 6 后台模块设计与实现 ???????????????????????27 6.1 系统后台框架设计 ???????????????????????27 6.1.1 管理员的设计 ????????????????????????27 6.1.2 系统后台主页面设计 ?????????????????????28 6.1.3 管理员登出 ?????????????????????????28 6.2 用户管理 ???????????????????????????29 6.3 订单管理 ???????????????????????????30 6.3.1 订单查看 ??????????????????????????30 6.3.2 购物明细表 ?????????????????????????31 6.4 商品管理 ???????????????????????????32 6.4.1 商品查看 ??????????????????????????33 6.4.2 添加新商品 ?????????????????????????34 6.5 类别管理 ???????????????????????????35 6.5.1 类别维护 ??????????????????????????35 6.5.2 添加新类别 ?????????????????????????36 7 总结 ??????????????????????????????38 参考文献 ?????????????????????????????39 致谢 ???????????????????????????????40
基于WEB的网上书店系统的设计与实现
基于WEB的网上书店系统的设计与实现
网络工程专业学生 xxxxxx
指导教师 xxxxxx
摘要:本系统采用B/S三层架构,主要实现前台交易系统和后台管理系统。前台交易系统主要包括用户管理、商品展示、顾客留言、我的订单、购物车管理,后台管理系统主要包括用户管理、订单管理、类别管理、商品管理。系统主要采用了MVC软件架构思想,融入了Struts、JSP、Ajax、JQuery、Hibernate等典型WEB开发相关技术,同时采用MySql数据库和主流服务器Tomcat。系统的各个模块设计合理,尤其是业务方法利用接口理念,这样让系统很灵活,具备了良好的扩展性。
经过不断的改进和调试,系统逐渐完善,最终完成了一个标准化的电子商务交易平台。
关键词:电子商务;JSP;网上购物
The design and implementation of online bookstore system based
on WEB
Student majoring in network engineering Xu Xiaolong
Tutor
Abstract:This system adopts B/S three-tier architecture, the main trading system and the background management system implementation at the front desk. Front desk trading system mainly include user management, commodity display, bookstore, my order, cart management, background management system mainly includes user management, order management, category management, commodity management. System mainly USES the MVC software architecture thoughts, JSP, struts, Ajax, JQuery, Hibernate, etc. The typical WEB development technology, USES the MySql database and mainstream Tomcat server at the same time. Various modules of the system design is reasonable, especially the business method using the concept of interface, which makes the system very flexible, have good scalability.After continuous improvement and debugging,the system is improved gradually and finally become a standardized electronic business transaction platform.
Key words: E-commerce ;Java Server Pages;Online shopping
LiYanping
1
菏泽学院本科毕业设计(论文)
1 引言
1.1 课题意义
网上书店是近年来随着网络技术的发展而产生的一种新型的书店形式,与传统书店相比,网上书店拥有许多的优势。网上书店的诞生虽然只有短短的几年时间, 却以其独有的网上运作特色和优越服务得到迅速发展。我国网上书店的“前辈” 当当网如今已走过十度春秋, 而中文网上书店已渐成气候———有关统计显示,网店在我国图书零售市场占据了约 5%的份额。
作为大学中的一个计算机与信息工程系的学生,做一个电子商务网站是很有必要的。通过做一个完整的毕业设计,可以让学生得到一个很好的锻炼,可以让学生把大学中所学的知识理论全部在这上面运用,同时结合实践,提高动手能力,为以后走进对应的工作岗位有着非常重要的意义。 1.2 国内外现状
当今世界网络、通信和信息技术的发展,Internet在全球迅速普及,使得商业空间发展到全球的规模,同时也使得现代商业企业需要具有不间断地供货能力、不断增长的客户需求和不断增长的全球竞争三大特征,这使得任何一个商业组织都必须调整自己的经营方式和产业结构,以适应新的市场发展的需要。随之出现了日益走入我们生活的网上购物。
伴随着Internet的蓬勃发展,网络购物系统作为电子商务的一种形式正以其高效,低成本的优势,逐步成为新兴的经营模式和理念,人们已经不再满足用途信息的浏览和发布,而是渴望着能够充分享受网络所带来的更加多的便利。网络购物正适应了当今社会快节奏的生活,使顾客足不出户便可以方便快捷轻松的选购自己喜欢的商品。网上购物系统作为B2B,B2C(Business to Customer),即(企业对消费者),C2C(Customer to Customer,即消费者对消费者)电子商务的前端商务平台,在其商务活动全过程中起着举足轻重的作用。从长远来看,企业对消费者的电子商务将最终在电子商务领域占据重要地位。但是由于各种因素的治愈,目前以及比较长的一段时间内,这个层次的业务还只能占比较小的比重。它是以互联网围主要服务提供手段,实现公众消费和提供服务,并保证与其相关的付款方式的电子化,它是随着万维网的出现而迅速发展的,可以将其看作是一种电子化的零售。
当今欧美等发达国家电子商务发展迅速,先进的技术服务使得他们国家的生活水平得到了更高层次的提升。中国目前也在赶上电子商务热潮的脚步,政府也积极提倡并且支持电子商务技术的研发,要跟上网络时代的大潮流,电子商务的发展一定不能停滞。一个国家电子商务的发展程度可以反映出一个国家的信息技术水平和科技水平。我国目前正处于持续发展中,相信在不久的未来可以涌现出
2
基于WEB的网上书店系统的设计与实现
更多像淘宝、京东等大型交易电子商务网站。
3
菏泽学院本科毕业设计(论文)
2 系统开发技术
2.1 相关技术
HTML: Hypertext Markup Language超文本标记语言。
CSS: Cascading Style Sheets层叠样式表,是一种标记语言,它不需要编译可
以直接由浏览器执行。
JavaScript: 一种可以控制HTML元素的网络脚本语言,也是一种在浏览器端执行
的解释性编程语言,它具有灵活性好、功能强大的特点,是因特网上最流行的脚本语言。
Ajax: 异步JavaScript及XML(Asynchronous JavaScript And XML),是一种使用
现有标准的新方法,在浏览器与Web服务器之间使用异步数据传输(HTTP请求),实现页面局部刷新。
JSP: Java Server Page,是SUN公司开发的一种服务器端动态页面生成技术,主
要组成部分是html元素以及少量的java代码。
Servlet: SUN公司制定的一种用于扩展web服务器功能的组件规范。
Tomcat: Servlet容器,第三方开源门户Apache公司实现了Servlet容器规范,用
于执行Servlet的服务器。
MVC: 这是一种架构模型。M表示Model层,V表示View层,C表示Controller层,
Model层包括实体模型和业务操作,Controller用来控制用户的所有请求和操作,View用来显示请求的视图。
JSTL: Java Standard Taglib Library(Java标准标签库),使得视图页面简洁化,
避免Java代码和HTML元素的交错复杂。
Jquery:是一个开源的javascript框架,功能很强大,可以使编码变得更加简洁。 Hibernate:开源的、用亍封装数据访问层的组件。
B/S: 即Browser/Server(浏览器/服务器)结构,B/S最大的优点就是可以在任何
地方进行操作而不用安装专门的软件,只要有一台能上网的电脑就能使用,客户端 零维护。
Struts:一种典型的MVC框架,本系统的主要灵魂。 2.2 B/S三层架构
三层B/S应用模式是为了解决两层结构中存在的问题而提出的,在三层模式中,在浏览器和服务器之间引入了应用层的概念,将应用逻辑移到应用层实现,与传统两层B/S模式相比,三层有着可伸缩性好、可管理性强、安全性高、软件重用性好以及节省开发时间等诸多优点。三层结构的应用程序把业务逻辑独立起来,组成一层或多层,这样就形成了浏览器界面层、中间业务逻辑层和后端数据库服务器层,3层B/S结构如图2-1所示。
4
基于WEB的网上书店系统的设计与实现
Browser 通讯层标准化 Web Server 通讯层标业务层自己开准化 发servlet 图2-1 3层B/S结构图
5
DB数据 事物安全
菏泽学院本科毕业设计(论文)
3 需求分析与系统设计
3.1 目标与要求
通用电子商务平台的设计是为了让更多的企业拥有自己的网上交易活动,扩展他们的经营模式。作为一个商业性质的电子商务平台,系统必须满足企业的业务要求,与企业的商业活动真正接轨,形成服务一体化。系统界面设计一定要友好,操作安全,服务方便快捷。系统总体流程必须合理规范,无逻辑错误。数据库必须设计合理,数据的存储一定要安全化。同时,这是一个网站,必须要考虑到服务器的承载压力和访问速度。作为一个大学生的毕业设计,它也必须符合大学生毕业设计的规范。 3.2 用户特点
本系统的主要角色主要有三种:普通用户(游客),注册会员,系统管理员。不同的角色具有不同的权限,各角色权限如下:
普通用户:主页访问、图书查询、分类浏览。
注册会员:主页访问、图书查询、分类浏览、购买商品、购物车结算、基本信息修改、查看订单、打折优惠等功能。
系统管理员:①,商品管理员(admin1),商品分类管理,商品管理,特价商品管理。②,订单管理员(admin2),订单受理,订单结算,订单查看,订单删除。③,会员管理员(admin3),会员级别更改,会员详情查看,会员删除。④,系统管理员(admin4),修改管理员,删除管理员。 3.3 系统功能结构描述
本系统主要采用B/S三层模式,同时利用典型的MVC框架Struts设计完成。系统针对不同的角色,给予他们不同的操作权限,防止角色越权限进行非法的操作。本系统主要包括前台交易系统和后台管理系统,前台功能如下:
a. 用户模块,其中包括用户注册、 登录、 登出以及修改个人基本信息。 b. 主页显示模块,其中包括分类浏览、分页查看、按照书名检索。 c. 购物车模块,该模块实现商品的添加、数量修改,商品删除、清空、结算。
d. 订单模块,该模块实现订单确认、订单列表、查看订单和收件人等功能。 后台功能如下:
a. 用户管理,主要实现用户列表、分页显示、用户删除、修改、添加、详 细显示。
b. 订单管理,主要实现订单列表、 分页显示、 修改、 删除、 结单、订单购物明细。
c. 商品管理,主要实现商品列表、分页显示、商品详细信息、商品添加、
6
基于WEB的网上书店系统的设计与实现
删除以及分类修改、商品基本信息修改。
d. 类别管理,主要实现类别添加、删除、修改等功能。 e. 管理员安全退出。 系统功能结构如图3-1所示。
用户模块 前台交易系统 后台管理系统 基于WEB的网上书店系统 订单模块 商品展示 购物车 用户管理 商品管理 类别管理 管理员 订单管理 用户注册 会员登录 会 信员登 息图书检索 分类浏览 分页显示 商品刷新 增删改查 用户列表 用户搜索 增删改查 类别列表 搜索类别 删改查 结单 搜索订单 订单列表 个人订单 修4 改 出 查看订单 订单列表 订单确认 清空购物 数量修改 商品删除 恢复列表 购 物 结算 增删改查 商品列表 商品搜索 重新分类 管理员登出 管理员登录 图 3-1 系统功能结构图
7
菏泽学院本科毕业设计(论文)
3.4 系统流程图
对于本系统具体操作流程如图3-2所示。
开始 顾客留言 网站主页 购物车结算 商品浏览
否 用户登录 是 注册 是 个人信息管理
后台登录 订单管理 后台管理 图3-2 系统流程图
3.5 系统页面结构
系统主要展示主页面,其它的页面都是通过include指令包含到主页面中,各页面需要加载数据都是通过其在主页面中的div标签想服务器发送请求。通过css/html的div标签让各页面在主页面上融合显示。主页面主要包含以下页面:hot.jsp(图书热销页面),new.jsp(新书上架页面),category.jsp(图书分类页面)。
热销图书页面hot.jsp是根据卖出的书的数量来进行排序的,所以每次加载主页面它都必须向服务器发送请求获取最新数据。利用JQuery请求代码如下:
$(function(){
$(\
系统主页面如图3-3所示。
8
基于WEB的网上书店系统的设计与实现
图 3-3 主页面结构图
9
菏泽学院本科毕业设计(论文)
4 数据库的设计
4.1 MySql数据库的简介
MySQL是一个小型关系型数据库管理系统,也是最受欢迎的开源SQL数据库管理系统,它由MySQL AB开发、发布和支持。 MySQL AB是一家基于MySQL开发人员的商业公司,它是一家使用了一种成功的商业模式来结合开源价值和方法论的第二代开源公司。MySQL是MySQL AB的注册商标。 MySQL是一个快速的、多线程、多用户和健壮的SQL数据库服务器。从计算机可以很好的处理大量数据以来,数据库管理系统就在计算机处理和独立应用程序或其他部分应用程序中扮演着一个重要的角色。 4.2 数据库设计要点
数据是一个系统中的最终操作结果,因此数据库的设计必须合理规范。数据库的设计是系统的开发前提,一个数据库设计的是否合理,直接关联着整个系统的开发,一旦数据库设计出现问题,那么将会导致这个系统的开发受到严重阻碍。另外,数据操纵的安全性也要加以控制,防止数据外泄造成严重后果。
4.3 系统E-R关系图
(1)系统主要设计了member(用户表),merchandise(产品表),category(类别表),orders(订单表),admin(系统管理员),cart(购物车),leaveword(留言)7个数据表。系统E-R关系图如图4-1所示。
10
基于WEB的网上书店系统的设计与实现
图4-1系统E-R关系图
类别 分类 管理 管理 管理员 图书 关联 产品 浏览 购买 管理 管理 用户 查看确认 订单 包含 订单项 查看 商城
11
菏泽学院本科毕业设计(论文)
(2)图书表主要用来保存某本图书的相关信息,与产品表相关联如图4-2所示。
商品型号 商品图片 出版社 生成日期 编号 图书表 分类 图书名称 商品描述 商品原价 图4-2 图书表图
(3)分类产品关系表主要用来表示产品和类别之间的关系,即某项产品是属于哪一类别的。一个类别下可以包含多种产品,一项产品只能属于一个类别,如图4-3所示。
图4-3 分类产品图
分类产品关系表 编号 产品ID 分类ID
(4)订单主要用来保存用户购买的物品,其中包括了收件人的备份信息。一个订单包含许多订单项,表示该订单中的某一项物品如图4-4所示。
订单编号 订单状态 订单信息 会员名称 12
基于WEB的网上书店系统的设计与实现
下单时间
图4-4订单信息图
购物商品 (5)分类表主要用来保存类别关系,包括一个类别的父类别以及该类别的所有子类别如图4-5所示。
图4-5商品分类图
编码 商品分类 分类描述 分类名 (6)产品表主要用来保存某项产品的相关市场信息,比如价格、是否买完等,与图书表一对一关联,如图4-6所示。
图4-6产品表图
市场价 特价 产品名称 上架时间 编号 产品表 描述 (7)订单项表主要用来表示某一个订单中所购买物品的详细情况,一个订单项只对应一张订单表,如图4-7所示。
编号 商品名称 订单项 订单号
13 会员价 菏泽学院本科毕业设计(论文)
图4-7订单项图
商品数目
(8) 会员留言主要存放客户的一些留言建议,如图4-8所示。
留言标题 顾客留言 顾客姓名 留言内容 留言时间 图4-8 顾客留言图
4.4 数据表结构
(1)用户表member,主要包含用户编号、邮箱、密码、电话、昵称、地址、
注册日期、最后登录时间、登录时间,该表字段说明如表4-1所示:
表4-1 用户表(member)
字段名称 id email LoginPwd MemberName Phone
Address
RegDate
类型 int(4) varchar(100) char(12) char(20) Char(15) Varchar(100) datetime
约束 主键 not null not null not null Default null Default null default null
描述 用户ID 用户邮箱 密码 昵称 电话 地址 注册时间
14
基于WEB的网上书店系统的设计与实现
LastDate LoginTimes
Datetime Int(4)
default null default null
最后登录时间 登录时间
(2)商品表(merchandise),主要包含产品ID、产品名称、描述、上架时间、市场价、优惠价、关键字、出厂时间、产品图片名称,该表字段说明如表4-2所示:
表4-2 商品表(merchandise) 字段名称 id MerName add_time price SPrice Manufacturer Picture LeaveFactoryDate
类型 int(4) Char(40) bigint(20) double double Char(60) varchar(100) Datetime
约束 pk,not null not null defaultt nul not null not null defaultt nul default nul default null
描述 商品编号 商品名 上架时间 市场价 优惠价 制造商 商品图片名称 出厂时间
(3)类别表(category),主要包含类别ID、类别名、类别描述,该表字段说明如表4-3所示:
表4-3 类别表(category)
字段名称 ID CateName CateDesc
类型
Int(4) Char(4) varchar(200)
约束 PK not null null
描述 类别ID 类别名 产品的描述
15
菏泽学院本科毕业设计(论文)
(4)订单表(orders),主要包含订单编号、订单状态、订单生成时间、收件人姓名,该表字段说明如表4-4所示:
表4-4 订单表(orders)
字段名称 ID Member OrderStatus OrderDate
类型 int(4) int(4) int(4) datetime
约束 PK not null not null not null
描述 订单号 收货人 发货状态 下单时间
(5)会员级别(memberlevel),主要包含主键ID、级别、优惠,该表字段说明如表4-5所示:
表4-5 会员级别(memberlevel) 字段名称 ID LevelName favourable 类型 int(4) Char(20) int(4) 约束 PK not null not null 描述 订单号 用户ID 优惠
16
基于WEB的网上书店系统的设计与实现
5 前台模块设计与实现
本系统主要包含前台交易系统和后台管理系统,其中前台交易系统包括用户模块、主页模块、订单模块、购物车模块,前台功能结构如图5-1所示。
图5-1 前台交易模块图
用户管理 商品展示 顾 客 留 言 购物车管理 我的订单 前台交易模块 5.1 用户模块
用户模块主要实现了用户注册、登录/退出、修改信息、查看订单等功能,用户模块结构功能如图5-2所示。
用户模块 17
菏泽学院本科毕业设计(论文)
图5-2用户模块图
用户登录 用户注册 用户信息修改 用户登出 5.1.1 用户注册
统一采用了JQuery(jquery-1.4.min.js)进行表单数据基本验证,注册页面reg.jsp表单中的数据只要有一项不符合验证规则的数据,则表单提交按钮会提示。为了保证用户注册的用户名在数据库中是唯一的,使用了Ajax技术向服务器发送异步请求,如果数据库中已经存在,则在页面上提示用户“此已经用户名被占用”的错误消息。
5.1.2 用户登录
系统登录界面需要输入用户名和密码,如果密码或者邮箱不对,则提示用户相关错误信息。只要用户成功登录,则把当前这个用户对象加入到session当中,同时记录下当前用户的登陆时间,用户登录流程如图5-3所示。
开始
输入用户名密码 登录失败 登录成功 图5-3用户登录流程图
用户登录界面如图
5-4所示。
18
基于WEB的网上书店系统的设计与实现
图5-4 用户登录界面图
用户成功登录后,在主页面上则会显示用户的昵称,同时后边只显示安全退出按钮。如果用户没有登录,后边则出现登录/注册按钮,隐藏登出按钮。这主要是利用了JSTL标签来控制,我们只要判断session中对应的user是否为空,为空不显示登出按钮,登录成功界面如图5-5所示。
图5-5 登录成功界面图
5.1.3 订单管理
点击“订单管理”,进入订单列表页面。如果当前用户没有下过订单,则告诉用户当前还没有您的订单记录;否则以列表的形式分页列出当前用户的订单记录。点击订单后面相应的详情,则可以查看当前订单的购物明细表。查询收件人菜单功能也是一样,如果当前用户没有在本商城下过订单,则相应的提示用户“没有你的收件人信息记录”,用户订单管理如图5-6所示。
19
菏泽学院本科毕业设计(论文)
图5-6订单列表图
5.1.4用户登出
用户登出主要是把session中当前的user属性设置为空,因为之前用户登录成功的时候已经把用户user放入了session中。只要session中的user属性为空,用户则相当于退出了系统,失去很多权限进行相关操作。 5.2 主页模块
该模块主要包含分类浏览、商品检索、热销图书、新书上架等功能。主页面采用了js中的setInterval函数每隔一段时间向服务器发送请求,达到页面局部动态更新的效果。main.jsp页面有图书热销和新书上架图书动态更新,主页模块功能结构如图5-7所示。
商品展示 新 书 上架 商品检索 热销图书 分类浏览
图5-7商品展示图
本系统实现的是关键字检索功能,用户输入商品名称,点击搜索,如果数据库中没有相应的商品,提示用户暂时没有改商品;否则跳到搜索结果页面,列出搜索到的商品。如果用户不输入关键字,点击搜索按钮,则显示所有的商品,主要采用js验证,该搜索如图5-8所示,搜索结果如图5-9。
20
基于WEB的网上书店系统的设计与实现
图5-8 图书搜索图
图5-9 搜索结果图
查询实现代码如下:
public List browseMer(int pageSize, int pageNo, String hql) throws Exception {
Session session = MySessionFactory.getSession(); Transaction t = null; List list = null; try{
Query query = session.createQuery(hql); query.setMaxResults(pageSize);
query.setFirstResult((pageNo-1)*pageSize); t = session.beginTransaction();
21
菏泽学院本科毕业设计(论文)
list = query.list(); t.commit();
if (!Hibernate.isInitialized(list)){ Hibernate.initialize(list); }
}catch(Exception e){
if(t!=null)t.rollback();
l ogger.info(\在执行MerServiceImpl类中的browseMer方法时出错:\\n\
e.printStackTrace(); }finally{
sessio.close(); }
return list; }
5.3 购物车模块
电子商务网站一般都有一个购物车功能,它必须设计合理,功能便捷。本系统的购物车主要是基于session,没有考虑用户禁止cookie的情况。要设计一个购物车,就必须分析购物车应该具备哪些功能。设计购物车一般要实写一个类,代表购物车中的一项物品。系统编写了一个物品类Cart,其包含三个属性:商品数目,商品实体、是否购买,购物车定义了一个属性Map
图5-10 购物车功能结构图
商品数量修改 清空已买商品 添 加 商 品 删除商品 恢复商品列表 自动统计价格 购物车 如果用户没有登录点击购买,则会提示用户”没有登录,请先登录,如果还未注册,请先注册后登录“。
在商品列表购买商品的时候,如果成功购买,给出提示,如果用户继续点
22
基于WEB的网上书店系统的设计与实现
击,则该物品在购物车中的数量加1。购买的商品操作,系统采用的是Ajax异步发送请求。传统的点击链接购买会刷新整个页面,给用户的感觉是非常不友好的,购物车管理如图5-11所示。
图5-11 购物车管理图
购物车实现添加商品的方法: public ActionForward addCart(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) { ActionForward forward = null;
CartService cartService = new CartServiceImpl(); MerService merService = new MerServiceImpl(); ActionMessages msgs = new ActionMessages(); Integer id = null;
if (request.getParameter(\
id = new Integer(request.getParameter(\ } try{
//判断会员是否已成功登录 Member mem = (Member)request.getSession().getAttribute(\ boolean status = false; Merchandise mer = null; if(mem==null){
forward = mapping.findForward(\ }else{
if (id!=null){
23
菏泽学院本科毕业设计(论文)
mer = merService.loadMer(id); if (mer!=null){
status = cartService.addCart(mem, mer, 1); } }
if (status){
msgs.add(\ActionMessage(Constants.CART_ADD_SUC_KEY)); }else{
msgs.add(\ActionMessage(Constants.CART_ADD_FAIL_KEY)); } forward = new ActionForward(\ saveErrors(request, msgs); }
}catch(Exception ex){
logger.info(\在执行CartAction类中的addCart方法时出错:\\n\ ex.printStackTrace(); }
return forward;
}
该模块主要实现订单生成、订单确认,订单完成。订单生成流程如图5-12所示。
5.4.1 订单列表生成
用户在购物车页面中点击购买后,则会跳转到购物车管理页面,前提是用户必须已经成功登录,否则转到登录页面提示用户登录后才能进行操作。订单
24
订单生成 信息确认 用户登录 浏览商品 5.4 我的订单
购物车 图5-12 订单流程图
基于WEB的网上书店系统的设计与实现
生成功能主要是根据用户在购物车中购买的物品生成订单表格,其中会显示用户当前购买的商品条目、数量、价格、总价等,以便用户确认,此时用户也可以点击“清空购物”车取消此次操作。如果客户想继续购物,可点击“继续购物”进入到商品列表,订单列表生成页面如图5-13所示。
图5-13 订单列表图
5.4.2 订单确认
如果购物车信息确认完毕,点击“进入下一步”跳转到确认订单信息,包括收货人、收获地址、电话、邮编等信息的确认。信息确认如图5-14所示。
图5-14 订单信息确认图
5.4.3订单生成
如果信息填写准确无误,点击提交订单则会跳转到order_ok.jsp,提示用户订单已经确认,系统已经存入数据库。提示页面会提示用户本次订单的编号,用户确认是否已经成功,可以到个人信息管理中心点击查看订单一栏查看是否存在刚才下过的订单,订单确认页面如图5-15所示。
25
菏泽学院本科毕业设计(论文)
图5-15 订单提交成功图
26
基于WEB的网上书店系统的设计与实现
6 后台模块的设计与实现
一个完整的系统就必须具备方便快捷的前台服务和完善的后台管理功能。本系统也针对前台交易系统设计了一个后台管理服务,主要包括用户管理、订单管理、商品管理、类别管理、安全退出等几个功能模块,系统功能结构如6-1图所示。 管 理
27
员 登 用 户 管 理 订 单 管 理 商 品 管 理 类 别 管 理 管 理 员 后台管理 录 菏泽学院本科毕业设计(论文)
图6-1 后台管理图
6.1.系统后台框架设计 6.1.1管理员的设计
本系统提供了,四类后台管理员,即商品管理员,订单管理员,会员管理员,系统用户管理员。管理员登录页面如图6-2所示。
图6-2 管理员登录图
登录的核心代码如下:
public ActionForward login(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) { LoginForm loginForm = (LoginForm) form;
AdminService service = new AdminServiceImpl(); ActionForward forward = null;
ActionMessages msgs = new ActionMessages(); try{
Admin admin = service.adminLogin(loginForm.getLoginName(), loginForm.getLoginPwd()); if (admin!=null){
request.getSession().setAttribute(\ forward = mapping.findForward(\ }else{
forward = mapping.getInputForward(); msgs.add(\
28
基于WEB的网上书店系统的设计与实现
ActionMessage(Constants.ADMIN_LOGINERROR_KEY)); saveErrors(request, msgs); }
}catch(Exception ex){
logger.info(\在执行AdminLoginAction类中的login方法时出错:\\n\
ex.printStackTrace(); }
return forward; }
6.1.2 系统后台主页面设计
输入正确的用户名和口令,则可以跳转到后台管理系统菜单,继而进行某些管理工作,也可以转到前台主页访问。系统管理主页如图6-3所示。
图6-3
后台主页面图
6.1.3 管理员登出
在主页面上只要点击安全退出,则会跳转到管理员登录界面adminLogin.jsp,同时把session中的manager属性设置为空,代码如下: request.getSession().invalidate();
return mapping.findForward(\ 6.2 用户管理
用户管理主要包括用户删除、用户详细资料、修改会员级别基本等操作,用户管理功能结构如图6-4所示。
用户管理 29 菏泽学院本科毕业设计(论文)
图6-4 用户管理图
用户列表显示 用户信息详情 用户信息修改 删除 单个 用户
6.3 订单管理
订单管理主要实现了订单列表的显示,订单的删除、详情、结算、受理等功能,订单管理功能结构如图6-5所示。
图6-5 订单管理图
订单 详情显示 结算单个订单 受理订单信息 订单列表显示 删除单个订单 订单管理 6.3.1 订单列表
订单查询功能也是利用分页技术显示所有的订单,然后每条订单后面跟随着查看订单、受理订单、删除订单,结单等功能菜单。订单列表结果页面如图6-6所示。
30
基于WEB的网上书店系统的设计与实现
图6-6订单管理图
订单管理代码:
public List browseOrder() throws Exception {
Session session = MySessionFactory.getSession(); Transaction tx = null; List list = null; try{
Query query = session.createQuery(\a.id desc\
tx = session.beginTransaction(); list = query.list(); if
(!Hibernate.isInitialized(list))Hibernate.initialize(list); tx.commit(); }catch(Exception ex){
if(tx!=null)tx.rollback();
logger.info(\在执行OrderServiceImpl类中的browseOrder方法时出错:\\n\
ex.printStackTrace(); }finally{
MySessionFactory.closeSession(); }
return list;
}
6.3.2 购物明细表
在每条订单记录的菜单中点击查看订单,则可以看到该订单的所有信息,包括订单编号、金额、下单日期、会员级别、收货人、订单购物明细等。订单详情页面如图6-7所示。
31
菏泽学院本科毕业设计(论文)
图6-7订单详细信息图
查看订单详细信息代码:
public List browseOrderMer(Cart cart) throws Exception { Session session = MySessionFactory.getSession(); Transaction tx = null; List result = null; try{
//浏览购物车中的所有选购记录
String hql =\Cartselectedmer as a where a.cart=:cartid\ Query query = session.createQuery(hql);
query.setInteger(\ tx = session.beginTransaction(); result = query.list();
if(!Hibernate.isInitialized(result)){ Hibernate.initialize(result); }
tx.commit();
}catch(Exception ex){
if(tx!=null)tx.rollback();
logger.info(\在执行OrderServiceImpl类中的browseOrderMer方法时出错:\\n\
ex.printStackTrace(); }finally{
MySessionFactory.closeSession(); }
return result;
}
32
基于WEB的网上书店系统的设计与实现
6.4 商品管理
商品管理主要功能包括商品列表、添加新商品、删除、修改商品基本信息、修改分类、商品管理功能结构如图6-8所示。
6.4.1 商品查看
该功能主要是分页列出所有商品,每条商品记录后面跟随查看详情、删除商品、修改商品等操作。商品查看列表页面如图6-9所示。
添加新商品 商品列表显示 修 改 商 品 信 息 修商品分类改 商品详情显示 商品管理 图6-8 商品管理图
图6-9 商品查看图
每条商品记录后面都可以点击相应的功能操作,比如基本信息信息修改、删除等。
商品查看代码:
33
菏泽学院本科毕业设计(论文)
public List browseMer(String hql) throws Exception { Session session = MySessionFactory.getSession(); Transaction tx = null; List list = null; try{
Query query = session.createQuery(hql); tx = session.beginTransaction(); list = query.list(); tx.commit(); if
(!Hibernate.isInitialized(list))Hibernate.initialize(list); }catch(Exception ex){
if(tx!=null)tx.rollback();
logger.info(\在执行MerServiceImpl类中的browseMer方法时出错:\\n\
ex.printStackTrace();
} 6.4.2 添加新商品
添加新商品,必须选择一个类别目录下添加,同时必须是数据库中已经存在的类别。添加页面book_add.jsp页面表单中数据都必须校验成功才能提交,提交成功后即可登入到前台页面查看刚才所添加的书籍时候存在,图书添加页面如图6-10所示。
34
基于WEB的网上书店系统的设计与实现
图6-10 新增商品图
图书添加页面使用了一个Ajax的典型技术,那就是级联动态下拉框。下拉列表商品添加实现代码:
public boolean addMer(Merchandise mer) throws Exception { Session session = MySessionFactory.getSession(); Transaction tx = null; boolean status = false; try{
tx = session.beginTransaction(); session.save(mer); tx.commit(); status = true; }catch(Exception ex){
if(tx!=null)tx.rollback();
logger.info(\在执行MerServiceImpl类中的addMer方法时出错:\\n\
ex.printStackTrace();
35
中的数据不再是事先写在Jsp页面中,而是随着用户的点击触发加载的。
菏泽学院本科毕业设计(论文)
}finally{
MySessionFactory.closeSession(); }
return status; }
6.5 类别管理
类别管理功能主要包括添加新类别,删除类别、修改类别信息、查看详情等功能,类别管理功能结构如图6-11所示。
类别管理
、
添 加 新 类 别 删 除 单 个 类 别 修 改 类 别 信 息 类 别 列 表 显 示 图6-11 类别管理图
6.5.1 类别维护
点击类别列表上的商品分类管理可以查看到所有类别的信息,包括类别商品分类名称、商品分类描述、商品分类维护。类别维护中删除商品分类会删除掉该分类和该类所对应的所有商品,修改商品分类可以修改该分类的基本信息。商品类别维护如图6-12所示。
图6-12商品类别维护图
6.5.2 添加新类别
36
基于WEB的网上书店系统的设计与实现
添加新类别功能主要包括商品分类名称、商品分类描述功能。添加类别页面如图6-13所示。
图6-13 新增商品分类图
新增商品分类实现代码:
public boolean addCategory(Category cate) throws Exception { Session session = MySessionFactory.getSession(); Transaction tx = null; boolean status = false; try{
tx = session.beginTransaction(); session.save(cate); tx.commit(); status = true; }catch(Exception ex){
if(tx!=null)tx.rollback();
logger.info(\在执行MerServiceImpl类中的addCategory方法时出错:\\n\
ex.printStackTrace(); }finally{
MySessionFactory.closeSession(); }
return status; }
37
菏泽学院本科毕业设计(论文)
7 总结
从这个项目中,本人领略了MVC软件构建思想的灵活性和B/S三层架构的优越性。Struts1的学习是Struts2入门的基础之路,对Struts1的工作原理和控制流程,有了深刻的理解。其中,本人学到了很多与WEB开发的相关技术,比如异步请求验证用户名、级联动态下拉列表框的实现、分页技术等。在项目中,不停的遇到难题,不停的使自己去查找调试解决,让本人的动手能力和分析能力有了一个很大的提升。
本次毕业设计使本人深刻明白了项目的开发流程和架构模式,相信在以后
38
基于WEB的网上书店系统的设计与实现
的工作生涯中都会受益匪浅。
参考文献:
[1]明日科技.JSP开发技术大全[M].北京:人民邮电出版社,2007:5-10
[2]阿斯利森,舒塔,金灵等译.Ajax基础教程[M].北京:人民邮电出版社,2006:15-26 [3]孙鑫.Struts 2深入详解[M].北京:电子工业出版社,2008:8-16
[4]王珊,萨师煊.数据库系统概论[M].北京:高等教育出版社出版社,2005:7-15 [5]王毅,周峰,孙更新.J2EE经典案例设计与实现[M].北京:电子工业出版,2007:6-18 [6]孙鑫.Struts 2深入详解(Java技术大系)[M].北京:电子工业出版社,2008:5-14 [7]郑阿奇.MYSQL实用教程[M].北京:电子工业出版社,2009:26-42 [8]谭庆平,毛新军编著.软件工程实践[M].北京:高等教育出版社,2009:34-87
39
菏泽学院本科毕业设计(论文)
[9]林邦杰.Java程序设计入门教程[M]. 北京:中国青年出版社,2001:63-99 [10]谢希仁.计算机网络[M]. 北京:电子工业出版社,2009: 89-125
[11]布朗,戴维斯,斯坦利克,马召等译.Struts 2实战[M].北京:人民邮电出版社, 2009:85-136
[12]王行言.Java语言与面向对象程序设计[M].北京:清华大学出版社,2009:36-85 [13]拉夫利,李进华等译.精通Struts 2:Web 2.0开发实战[M].北京:人民邮电出版社, 2007:253-276
[14]陈云芳.精通Struts 2基于MVC的Web应用开发实战[M].北京:人民邮电 出版社, 2008:136-187
[15]刘晓华,周慧贞.JSP应用开发详解[M].北京:电子工业出版社,2007:35-126 [16]朱红,司光亚.JSP Web编程指南[M].北京:电子工业出版社, 2001:34-307 [17]孙卫琴.基于MVC的Java Web设计与开发[M].北京:电子工业出版社,2004: 1-9 [18]王夕宁,王晓平.JSP通用模块及典型系统开发实例导航[M].北京:人民邮电出版
社,2006: 288-296
[19]孙卫琴,李洪成.Tomcat与Java Web开发技术详解[M].北京:电子工业出版社,2004:
73-78
[20]柳永坡,刘雪梅,赵长海.JSP应用开发技术[M].北京:人民邮电出版社,2005:30-32 [21]王夕宁,王晓平.JSP通用模块及典型系统开发实例导航[M].北京:人民邮电出版
社,2006: 288-296
致谢
本次毕业设计得以完成,要感谢的人实在太多了,首先要感谢李老师,因为此系统的设计是在老师的悉心指导下完成的。老师在我的系统设计和论文写作过程中给予我的悉心指导!在论文的选题、系统的设计思路、论文的组织、科学研究方法等各方面,老师都给予了极为细心的指导,给了我非常大的启发并且给予我自始至终的鼓励老师严谨的治学态度,精益求精的工作作风,诲人不倦的高尚师德,严以律己、宽以待人的崇高风范,朴实无华、平易近人的人格魅力对我影响深远。
40
基于WEB的网上书店系统的设计与实现
当然毕设的完成,也离不开同学和朋友的帮助,在整个的设计过程中,许多同学和朋友积极的帮助我查资料和提供有利于设计的建议和意见,在他们的帮助下,设计得以不断的完善,最终帮助我做完了整个设计。
在此感谢老师、同学对我帮助。 同时感谢答辩组各位老师的悉心指导!
此论文为2013年毕业生论文,如果有需要代码的请联系792585647,加QQ时请注明原因,否则不会通过。
41
正在阅读:
小学生二年级优秀学生写冬天的作文【锦集】06-13
九年级数学集体备课复习教案01-13
【2015成都二诊】四川省成都市2015届高三第二次诊断试题 英语 扫描版含答案09-02
八年级历史下册 第一学习主题 中华人民共和国的成立和巩固 第1课 中国人民站起来了教学设计4 川教版12-27
13-14(上)七年级课文翻译12-23
品牌茅台白酒关于购酒赠房大型互动活动营销策划方案 - 图文02-01
车间生产出勤排班表09-01
襄阳市摩托车及配件零售行业企业名录2018版174家04-01
关于感恩母校的简短诗歌03-21
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 附带
- 网上书店
- 源码
- 基于
- 图文
- 论文
- 系统
- WEB