文末获取完整源码源文件+配置教程+论文报告等
随着科学技术的发展,网络在人们生活中的应用越来越广泛。人们越来越想在最短的时间内购买到自己所需的图书。但书目的繁多,给人们在繁忙的工作生活中的购书带来了很大的麻烦,于是网上购书便成了人们向往的事情。
图书销售系统的开发为人们带来了很大的方便,使他们足不出户就可以轻轻松松地买到自己想要的书,既省时又省力。有效地缩短了图书流通发行环节,将广大读者、图书、出版者、发行者紧密地结合在一起,大大提高了图书流通率。它有着经营成本低、库存是虚拟的、用户检索方便、地域限制少等特点。
系统以JSP为主要制作工具,实现了用户注册、登陆、验证身份及书籍的预览查询、对书籍的购买通过购物车实现等功能。
第一章 绪论
(篇幅有限,详见文末)
第二章 可行性分析
2.1 社会可行性(篇幅有限,详见文末)
2.2 技术可行性
本系统采用的是JSP、Servlet和MySQL开发,Windows XP Professional操作系统,用Dreamweaver进行前台网页界面设计、采用JDBC方式与后台数据库进行连接,完成数据的添加、修改、删除、查询等功能。由于JSP、Servlet功能强大,而MySQL灵活易维护在开发方面具有方便快捷、使用灵活的特点,以及目前的广泛实际应用,因此使用JSP、Servlet、MySQL是开发轻平台的最佳组合从而说明本系统在技术方面可行。
硬件方面,科技飞速发展的今天,硬件更新的速度越来越快,容量越来越大,可靠性越来越高,价格越来越低,其硬件平台完全能满足此系统的需要。
2.3 操作可行性(篇幅有限,详见文末)
2.4 系统的技术介绍
2.4.1 Javascript
2.4.2 JQuery
2.4.3 MySQL(篇幅有限,详见文末)
2.4.4 MVC
2.4.5 JDBC
2.4.6 DBUtils
2.4.7 C3P0
2.5 系统开发平台及运行环境(篇幅有限,详见文末)
第三章 需求分析
3.1 系统功能模块概述和分析(篇幅有限,详见文末)
3.2 系统功能模块设计
根据系统功能分析,可以画出系统的功能模块图。
前台:用户购书功能图
后台管理员功能图:
3.3 数据库分析(完整详见文末)
根据设计规划的主要实体有:用户、图书分类、图书、购物车、订单、管理员。各个实体具体的描述属性图如下(实体属性在下图中并没有全部给出,因为属性过多的原因):
2.数据库表设计
数据库表设计主要是把概念结构设计时设计好的基本E-R图转换为与选用DBMS产品所支持的数据模型相符合的逻辑结构。它包括数据项、记录及记录间的联系、安全性和一致性约束等等。导出的逻辑结构是否与概念模式一致,从功能和性能上是否满足用户的要求,要进行模式评价。
本系统数据库表如下:
(1)t_user
其余完整详见文末
第四章 网上图书商城前台设计与实现
整个前台部分是供用户浏览、选购图书的部分,一个好的网站的前台部分一定非常精美,非常有条理,因此,前台的设计主要把握3点:简明扼要、条理清晰、层次分明。
4.1 首页设计
首页模块包括3个主要的部分,采用内嵌框架技术。位置分别为上、左、中。
1.上部的实现
上部包含两大部分内容:
网站标题;
菜单。
菜单部分就是一系列的超链接,用户在未登录时看到的是“登录”和“注册”链接;在登录后看到的是“我的购物车”、“我的订单”、“修改密码”、“退出”超链接,以及当前用户名称。
2.左部的实现
左部显示所有分类,包含所有1级、2级分类。左部使用了Javascript的Q6Menu组件来完成显示所有分类。当用户点击某个1级分类名称时会展示当前1级分类的所有2级分类。
3.中部的实现
中部是网站的骨干,点击任何超链接都会在中部显示。默认只是使用纯文本显示欢迎信息。
4.2 用户模块
注册用户是构成网站主体的一个重要组成部分,网站设置注册用户的目的之一在于方便网站信息的管理。
4.2.1 用户注册
用户在登录之前需要先进行注册,在首页中点击“注册”链接就可以到达注册页面。
4.2.2 用户登录
在首页点击“登录”链接就可以来到登录页面。
4.2.3 修改当前用户密码
用户在登录成功后,点击修改密码链接就会到达修改密码页面。
4.3 图书模块
4.3.1 图书列表
在首页左部点击某个2级分类,会在首页的中部显示图书列表页面。图书列表使用分页显示。
4.3.2 图书详细
点击某本图书,会到达图书详细页面。
4.3.3 高级搜索
在图书列表页面点击高级搜索到达搜索页面。
4.4 购物车
购物车使用数据库来保存数据,也就是说添加到购物车中的图书,不会因为关闭浏览器,或者是关闭电脑而消失。而且修改数量,是通过异步请求来操作数据库的。
4.4.1 添加图书到购物车
在图书详细页面,给出数量,然后点击“购买”就可以把图书添加到购物车中,并且会到达购物车列表页面。
其他完整详见文末
4.5 订单模块
对订单的操作,对应数据库中的两张表,即订单表和订单条目表(t_order和t_orderitem)。而且订单模块的功能比较多:
生成订单:通过购物车中勾选的条目来生成订单;
我的订单:显示当前用户的所有订单,每个订单所包含的订单条目也需要显示;
订单支付:使用易宝的第三方支付平台完成,对“在线支付”的理解也是一个挑战;
订单详细:显示指定的某个订单;
订单取消和订单的确认收货:这两个功能都是对订单状态的修改。
4.5.1 选中条目,准备生成订单
在购物车列表页面中,勾选要购买的条目,然后点击“结算”按钮,完成选中条目,准备生成订单,这会到达订单准备页面。
4.5.2 生成订单
在订单准备页面,输入收货地址,然后点击“提交订单”按钮,完成下单(生成订单)。这时会到达“下单成功”页面。
4.5.3 订单列表
在首页上部点击“我的订单”链接,就会到达订单列表页面。该页面会显示当前用户的所有订单信息。该页使用分页显示订单!
4.5.4 支付页面
在“下单成功”页面,或者“订单列表”页面中点击“支付”按钮都可以到达“支付”页面。在“支付”页面中选择银行,后点击下一步就会跳转到银行的支付页面了。这里使用的是“易宝”第三方支付平台!
4.5.5 订单详细页面
在订单列表页面中,点击某个订单的“查看”、“取消”、“确认收货”都会到达“订单详细”页面。其中点击“查看”到达“订单详细”页面后没有按钮;点击“取消”到达“订单详细”页面有“取消按钮”按钮;点击“确认收货”按钮到达“订单详细”页面有“确认收货”按钮。
第五章 网上图书商城后台设计与实现
书城后台的设计是为管理员方便管理系统而设计的,其中包括分类管理、图书管理,以及订单管理。
5.1 管理员登录
后台管理员登录页面,登录成功后到达后台主页。
5.2 后台主页
管理员登录成功后,到达主页。主页是框架页,由上、下两部分构成。
上部显示标题和菜单,分别为:“退出”、“分类管理”、“图书管理”、“订单管理”,以及当前用户名称;
中部默认显示欢迎图片,当点击上部链接后,都在中部显示。
其余完整详见文末
5.4 图书管理
后台图书管理这一部分,很多地方都与前台的图书操作相同,例如:分页显示所有图书、按分类查询图书、高级查询图书、查看图书详细信息。后台图书管理还包括前台所没有的功能,例如:添加新图书、编辑和删除图书。
5.4.1 图书列表页面
图书列表页面分为两个部分:
左部:显示所有分类,与前台是相同的,用来通过指定分类来查询图书;
中部:默认显示“添加图书”和“高级查询”两项功能,当管理员点击某一分类后,中部显示图书列表。
5.4.2 添加图书
点击“图书管理”链接后,在中部会出现“添加图书”链接,点击后会进入添加图书表单页面。
5.4.4 图书详细
在图书列表中点击某一本图书后会进入图书详细页面。
图书详细页面上方有一个名为“编辑或删除”的复选框,如果管理员勾选它,那么页面会显示表单,并多出两个按钮:“编辑”和“删除”。
5.5 订单管理
5.5.1 订单列表
点击“订单管理”链接会到达订单列表页面。该页面会分页显示所有订单!
订单列表页面上包含按状态查询的链接,分别为:未付款、已付款、已发货、交易成功、已取消,管理员可以点击这几个链接按状态查询显示订单。
5.5.2 订单详细
在订单列表页面中,点击某个订单后面的:查看、取消、发货链接会进入到订单详细页面。订单详细页面会显示当前订单的信息,而且会根据点击的链接显示不同的按钮。
第六章 系统测试
(篇幅有限,其他完整内容详见文末)
function round(num,dec){
var strNum = num + '';/*把要转换的小数转换成字符串*/
var index = strNum.indexOf("."); /*获取小数点的位置*/
if(index < 0) {
return num;/*如果没有小数点,那么无需四舍五入,返回这个整数*/
}
var n = strNum.length - index -1;/*获取当前浮点数,小数点后的位数*/
if(dec < n){
/*把小数点向后移动要保留的位数,把需要保留的小数部分变成整数部分,只留下不需要保留的部分为小数*/
var e = Math.pow(10, dec);
num = num * e;
/*进行四舍五入,只保留整数部分*/
num = Math.round(num);
/*再把原来小数部分还原为小数*/
return num / e;
} else {
return num;/*如果当前小数点后的位数等于或小于要保留的位数,那么无需处理,直接返回*/
}
}