基于JSP的网上书城(源码+数据库+论文)
随着科学技术的发展,网络在人们生活中的应用越来越广泛。人们越来越想在最短的时间内购买到自己所需的图书。但书目的繁多,给人们在繁忙的工作生活中的购书带来了很大的麻烦,于是网上购书便成了人们向往的事情。
图书销售系统的开发为人们带来了很大的方便,使他们足不出户就可以轻轻松松地买到自己想要的书,既省时又省力。有效地缩短了图书流通发行环节,将广大读者、图书、出版者、发行者紧密地结合在一起,大大提高了图书流通率。它有着经营成本低、库存是虚拟的、用户检索方便、地域限制少等特点。
系统以JSP为主要制作工具,实现了用户注册、登陆、验证身份及书籍的预览查询、对书籍的购买通过购物车实现等功能。
关键词 电子商务 网上书城 管理信息系统
1.1.1 课题背景
随着internet的普及和电子商务的兴起,网上图书销售是Internet电子商务在图书销售行业发展的必然结果,这种新型的图书销售形式,与传统利用书店进行销售的方式相比拥有许多优势:一是降低了销售成本;二是利用网络作为交易平台,改变传统的交易方式,使得交易活动不受空间和时间的限制;三是信息的传递更迅速灵活,新书信息上传后,客户可以立即看到,交易马上可以从网上进行,从而大大提高了交易的效率。正是由于这些优势,网上图书销售才能得以迅速地发展。网上图书销售系统的主要功能是利用网站作为交易平台,将图书的一些基本信息以网站的形式发布到Internet中,客户可以通过Internet登录图书销售网站来查看售书信息并提交订单订购图书,实现在线交易。
1.1.2 课题目的和意义
在各行各业竞争日益激烈的今天,提高工作效率和工作质量是每个企业必须面临并且必须解决的重大课题。
有了《XXX网上图书商城》就不需要客户到书城手工查询需要的图书,而只需在自家的电脑前输入查询条件,或通过类别查询,快速而准确的找到需要的图书,大大加快了查询速度。
《XXX网上图书商城》不仅可以大量减少人力、物力,降低了成本,而且突破了时间和空间的限制,使得图书交易活动可以在任何时间、任何地点进行,实现24小时营业,不需要营业员,网上书城可以被设置成一个自动售货机。同时,《XXX网上图书商城》更容易开拓全球市场从而大大提高了效率,对推动《XXX网上图书商城》未来的发展有着一定的实际意义。
鉴于互联网的优势以及对国内外相关网上书城网站现状的研究分析,我决定以基于Web的《XXX网上图书商城》开发作为我的毕业设计主题。立足于设计一个在网络平台上运行的集购物、支付和配送等功能于一体的网上书城,以小小的力量推动中国互联网的发展。
1.2 国内外研究现状
1.2.1 国外的研究现状
网上售书这是信息社会发展的必然要求。国际互联网的开通,为信息社会的飞速发展创造了条件。在美、日等信息化程度较高的国家和地区,网上图书销售发展速度迅猛。据InternetWorldStatS的统计,今天的互联网有17亿用户。而目前的全球人口为67亿,到2020年毫无疑问会有更多的人使用互联网。美国国家科学基金会预计,到那时互联网的用户数量将接近50亿。网民队伍的迅速扩充,无疑为网上售书的发展提供了巨大的市场空间。加上图书因其具有标识清晰、规格统一、特征容易描述、同种商品个体之间无差异等特性而能成为发展电子商务的最为理想的商品类型。因此,网上售书成为各国发展电子商务的首选目标,国际互联网开通后,各国电子商务网站很大一部分都是网上书店。只要网络发展没有停止,网上售书的发展就不会停止。
1.2.2 国内的研究现状
近年来,随着计算机网络技术的飞速发展,网络技术应用已经相当普及,使得在线购买成为现实,各种各样的网上图书销售系统层出不穷,国内各大图书商都在创建自己的计算机网上电子商务系统。随着科学技术的飞速发展,Internet这个昔日少数科学家接触和使用的科研工具已经成了普通百姓都可以触及的大众型媒体传播手段。
-
你这个网站有多少模块
前台:- 用户模块
- 分类模块
- 图书模块
- 购物车模块
- 订单模块
后台: - 管理员模块
- 分类管理模块
- 图书管理模块
- 订单模块
-
数据库满足第几范式
第三范式 -
第三范式的定义是什么
第三范式是第二范式的子集,即满足第三范式必须先要满足第二范式。
在一个关系中,不包含其他关系中的非主关键字信息。
例如:部门表包含:部门id、部门名称、部门简介等,在员工表中只能包含部门id,部门名称等非主关键字信息就不能包含了。
如果只有员工表,没有部门表时,在员工表中给出部门名称等属性,也不应该,而是应该把部门名称等信息提取出来,形成部门表。 -
某某模块都有什么功能!
4.1 前台:
1). 用户模块功能有:- 用户注册:
表单页面是jQuery做校验(包含了ajax异步请求)
在输入框失去焦点时进行校验;
在提交时对所有输入框进行校验;
在输入框得到焦点时,隐藏错误信息。
表单页面使用一次性图形验证码;
在servlet中再次做了表单校验。
注册成功时,使用javaMail给注册用户发送**邮件,邮件中包含用于**的链接,链接包含**码参数; - 用户**:通过**码查询用户,如果查询不到用户,那么无效**码!**码使用uuid生成!
- 用户登录:
表单校验与注册功能相同;
登录成功时会把当前用户名保存到cookie中,为了在登录页面的输入框中显示! - 用户退出:销毁session
2). 分类模块 - 查询所有分类:
有1级和2级分类
在页面中使用手风琴式菜单(Javascript组件)显示分类。
3). 图书模块: - 按分类查询
- 按作者查询
- 按出版社查询
- 按书名模糊查询
- 多条件组合查询
- 按id查询
除按id查询外,其他都是分页查询。
技术难点:
组合查询:根据多个条件拼凑sql语句。
带条件分页查询:条件可能会丢失。使用自定义的PageBean来传递分页数据!
页面上的分页导航:页码列表的显示不好计算!
4). 购物车模块: - 添加条目
- 修改条目数量
- 删除条目
- 批量删除条目
- 我的购物车
- 查询被勾选条目
购物车没有使用sesson或cookie,而是存储到数据库中。
技术难点:
添加条目时,如果两次添加针对同一本书的条目,不是添加,而是合并;
修改数量时使用ajax时请求服务器端,服务器端返回json。
大量js代码
5). 订单模块: - 生成订单
- 我的订单
- 查看订单详细
- 订单支付
- 订单确认收货
- 取消订单
技术难点:
使用易宝在线支付平台:
按照易宝支付范围与易宝支付网关对接。
接收易宝的两种应答机制,针对点对点应答给予回复。
处理多次应答照成的数据库重复确认。
4.2 后台
1). 管理员 - 管理员登录
2). 分类管理 - 添加1级分类
- 添加2级分类: 需要为2级分类指定所属1级分类
- 编辑1级分类
- 编辑2级分类: 可以修改所属1级分类
- 删除1级分类: 存在子分类时,不能删除
- 删除2级分类: 当前2级分类下存在图书时不能删除
- 查看所有分类
3). 图书管理 - 各种查询:与前台相同
- 添加图书:
上传图片
页面中使用动态下拉列表显示2级分类,当指定1级分类后,2级分类下拉列表中动态显示该1级分类下所有2级分类名称 - 修改图书: 与添加图书相似,也使用动态下拉列表
- 删除图书: 需要删除图书对应图片,再删除图书
4). 订单管理 - 各种查询
- 订单发货
- 订单取消
- 用户注册: