目  录
中文摘要 3
英文摘要 4
目录 5
第一章 绪论 7
1.1 课题背景、目的及意义 7
1.1.1课题背景 7
1.1.2课题目的和意义 7
1.2 国内外研究现状 7
1.2.1 国外的研究现状 7
1.2.2 国内的研究现状 8
第二章 可行性分析 8
2.1 社会可行性 8
2.2 技术可行性 8
2.3 操作可行性 8
2.4 系统的技术介绍 9
2.4.1 Javascript 9
2.4.2 JQuery 9
2.4.3 MySQL 9
2.4.4 MVC 9
2.4.5 JDBC 10
2.4.6 DBUtils 10
2.4.7 C3P0 11
2.5 系统开发平台及运行环境 11
2.5.1 系统开发平台 11
2.5.2 运行环境 11
第三章 需求分析 11
3.1 系统功能模块概述和分析 11
3.2 系统功能模块设计 12
3.3 数据库分析 13
第四章 传智播客网上图书商城前台设计与实现 17
4.1首页设计 17
4.2用户模块 18
4.2.1用户注册 18
4.2.2用户登录 19
4.2.3修改当前用户密码 20
4.2.4退出 21
4.3图书模块 21
4.3.1图书列表 21
4.3.2图书详细 21
4.3.3高级搜索 22
4.4购物车 22
4.4.1添加图书到购物车 22
4.4.2我的购物车 23
4.4.3修改条目数量 23
4.4.4删除条目 23
4.5订单模块 23
4.5.1选中条目,准备生成订单 23
4.5.2生成订单 24
4.5.3订单列表 24
4.5.4支付页面 25
4.5.5订单详细页面 25
4.5.6订单状态 26
第五章 传智播客网上图书商后台设计与实现 26
5.1管理员登录 26
5.2后台主页 27
5.3分类管理 27
5.3.1.分类列表 27
5.3.2.添加分类 28
5.3.3.修改分类 29
5.3.4.删除分类 30
5.4图书管理 30
5.4.1.图书列表页面 30
5.4.2.添加图书 31
5.4.3.高级搜索 31
5.4.4.图书详细 32
5.5订单管理 33
5.5.1.订单列表 33
5.5.2.订单详细 33
第六章 系统测试 34
6.1测试的目的与目标 34
6.2测试方法 34
6.3测试用例 35
6.4测试结论 35
第七章 结论 36
第八章 致谢 36
第九章 参考文献 37
第三章 需求分析
3.1 系统功能模块概述和分析
《传智播客网上图书商城》模型是典型的网上购物实践中最为普遍的电子商务企业对客户(B2C)模式,主要包括会员注册、订单管理、购物车、搜索、支付等基本功能。此外,本系统也将实现在线图书销售系统的后端管理,包括图书的添加、订单的处理等功能。本系统完全基于JSP技术,在系统的设计与开发过程中严格遵守软件工程的规范,运用软件设计模式,从而减少系统模块间的偶合,力求做到系统的稳定性、可重用性和可扩充性。
《传智播客网上图书商城》主要功能如下:
(1)前台(客户购买)部分:
①用户管理:注册会员、登录、激活、退出、修改密码;
②分类显示:显示所有1级和2级分类;
③图书显示:按分类查询图书、通过关键字搜索图书、高级搜索图书、查看某本图书的详细等;
④购物车管理:向购物车中添加图书、修改购物车中图书数量、删除购物车中图书、我的购物车;
⑤订单管理:通过购物车中图书生成订单、查看我的订单、查看某个订单的详细、订单支付、确认收货、取消未付款订单。
(2)后台(管理员管理)部分:

①管理员:管理员登录;
②分类管理:查看所有分类、添加1级分类、添加2级分类、修改1级分类、修改2级分类、删除1级分类、删除2级分类;
③图书管理:按分类搜索图书、高级搜索图书、添加新图书、查看图书详细信息、编辑图书、删除图书;
④订单管理:按状态搜索订单、查看订单详细信息、取消订单、发货;
3.2 系统功能模块设计
根据系统功能分析,可以画出系统的功能模块图。
前台:用户购书功能图

后台管理员功能图:

3.3 数据库分析
  信息系统的主要任务是通过大量数据获得管理所需要的信息,这就要求系统本身能够存储和管理大量的数据,而这一功能的实现必须借助大型数据库系统。本系统的开发选择MySQL作为后台数据库开发工具。
1.概念模型设计
概念模型用于信息世界的建模,与具体的DBMS无关。为了把现实世界中的具体事物抽象、组织为某一DBMS支持的数据模型。人们常常首先将现实世界抽象为信息世界,然后再将信息世界转换为机器世界。也就是说,首先把现实世界中的客观对象抽象为某一种信息结构,这种信息结构并不依赖于具体的计算机系统和具体的DBMS,而是概念级的模型,然后再把模型转换为计算机上某一个DBMS支持的数据模型。实际上,概念模型是现实世界到机器世界的一个中间层次。
  信息世界中包含的基本概念有实体和联系。
  (1) 实体 (entity)
  客观存在并可相互区别的事物称为实体。实体可以是具体的人、事、物,也可以是抽象的概念或联系。例如,一个学生、一门课、一个供应商、一个部门、一本 书、一位读者等都是实体。
  (2) 联系 (relationship)
  在现实世界中,事物内部以及事物之间是有联系的,这些联系在信息世界中反映为实体内部的联系和实体之间的联系。本文转载自http://www.biyezuopin.vip/onews.asp?id=12449实体内部的联系通常是组成实体的各属性之间的联系。两个实体型之间的联系可以分为3类,一对一联系,(1:1);一对多联系(1 : n);多对多联系(m : n)。
  概念模型是对信息世界建模,所以概念模型应该能够方便、准确地表示信息世界中的常用概念。概念模型的表示方法很多,其中最为常用的是P.P.S.Chen于1976年提出的实体,联系方法(Entity-Relationship Approach)简记为E-R表示法)。该方法用E-R图来描述现实世界的概念模型,称为实体-联系模型,简称E-R模型。

package cn.itcast.goods.book.web.servlet;import java.io.IOException;import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;import cn.itcast.commons.CommonUtils;
import cn.itcast.goods.book.domain.Book;
import cn.itcast.goods.book.service.BookService;
import cn.itcast.goods.pager.PageBean;
import cn.itcast.servlet.BaseServlet;public class BookServlet extends BaseServlet {private BookService bookService = new BookService();/*** 获取当前页码* @param req* @return*/private int getPc(HttpServletRequest req) {int pc = 1;String param = req.getParameter("pc");if(param != null && !param.trim().isEmpty()) {try {pc = Integer.parseInt(param);} catch(RuntimeException e) {}}return pc;}/*** 截取url,页面中的分页导航中需要使用它做为超链接的目标!* @param req* @return*//** http://localhost:8080/goods/BookServlet?methed=findByCategory&cid=xxx&pc=3* /goods/BookServlet + methed=findByCategory&cid=xxx&pc=3*/private String getUrl(HttpServletRequest req) {String url = req.getRequestURI() + "?" + req.getQueryString();/** 如果url中存在pc参数,截取掉,如果不存在那就不用截取。*/int index = url.lastIndexOf("&pc=");if(index != -1) {url = url.substring(0, index);}return url;}/*** 按bid查询* @param req* @param resp* @return* @throws ServletException* @throws IOException*/public String load(HttpServletRequest req, HttpServletResponse resp)throws ServletException, IOException {String bid = req.getParameter("bid");//获取链接的参数bidBook book = bookService.load(bid);//通过bid得到book对象req.setAttribute("book", book);//保存到req中return "f:/jsps/book/desc.jsp";//转发到desc.jsp}/*** 按分类查* @param req* @param resp* @return* @throws ServletException* @throws IOException*/public String findByCategory(HttpServletRequest req, HttpServletResponse resp)throws ServletException, IOException {/** 1. 得到pc:如果页面传递,使用页面的,如果没传,pc=1*/int pc = getPc(req);/** 2. 得到url:...*/String url = getUrl(req);/** 3. 获取查询条件,本方法就是cid,即分类的id*/String cid = req.getParameter("cid");/** 4. 使用pc和cid调用service#findByCategory得到PageBean*/PageBean<Book> pb = bookService.findByCategory(cid, pc);/** 5. 给PageBean设置url,保存PageBean,转发到/jsps/book/list.jsp*/pb.setUrl(url);req.setAttribute("pb", pb);return "f:/jsps/book/list.jsp";}/*** 按作者查* @param req* @param resp* @return* @throws ServletException* @throws IOException*/public String findByAuthor(HttpServletRequest req, HttpServletResponse resp)throws ServletException, IOException {/** 1. 得到pc:如果页面传递,使用页面的,如果没传,pc=1*/int pc = getPc(req);/** 2. 得到url:...*/String url = getUrl(req);/** 3. 获取查询条件,本方法就是cid,即分类的id*/String author = req.getParameter("author");/** 4. 使用pc和cid调用service#findByCategory得到PageBean*/PageBean<Book> pb = bookService.findByAuthor(author, pc);/** 5. 给PageBean设置url,保存PageBean,转发到/jsps/book/list.jsp*/pb.setUrl(url);req.setAttribute("pb", pb);return "f:/jsps/book/list.jsp";}/*** 按出版社查询* @param req* @param resp* @return* @throws ServletException* @throws IOException*/public String findByPress(HttpServletRequest req, HttpServletResponse resp)throws ServletException, IOException {/** 1. 得到pc:如果页面传递,使用页面的,如果没传,pc=1*/int pc = getPc(req);/** 2. 得到url:...*/String url = getUrl(req);/** 3. 获取查询条件,本方法就是cid,即分类的id*/String press = req.getParameter("press");/** 4. 使用pc和cid调用service#findByCategory得到PageBean*/PageBean<Book> pb = bookService.findByPress(press, pc);/** 5. 给PageBean设置url,保存PageBean,转发到/jsps/book/list.jsp*/pb.setUrl(url);req.setAttribute("pb", pb);return "f:/jsps/book/list.jsp";}/*** 按图名查* @param req* @param resp* @return* @throws ServletException* @throws IOException*/public String findByBname(HttpServletRequest req, HttpServletResponse resp)throws ServletException, IOException {/** 1. 得到pc:如果页面传递,使用页面的,如果没传,pc=1*/int pc = getPc(req);/** 2. 得到url:...*/String url = getUrl(req);/** 3. 获取查询条件,本方法就是cid,即分类的id*/String bname = req.getParameter("bname");/** 4. 使用pc和cid调用service#findByCategory得到PageBean*/PageBean<Book> pb = bookService.findByBname(bname, pc);/** 5. 给PageBean设置url,保存PageBean,转发到/jsps/book/list.jsp*/pb.setUrl(url);req.setAttribute("pb", pb);return "f:/jsps/book/list.jsp";}/*** 多条件组合查询* @param req* @param resp* @return* @throws ServletException* @throws IOException*/public String findByCombination(HttpServletRequest req, HttpServletResponse resp)throws ServletException, IOException {/** 1. 得到pc:如果页面传递,使用页面的,如果没传,pc=1*/int pc = getPc(req);/** 2. 得到url:...*/String url = getUrl(req);/** 3. 获取查询条件,本方法就是cid,即分类的id*/Book criteria = CommonUtils.toBean(req.getParameterMap(), Book.class);/** 4. 使用pc和cid调用service#findByCategory得到PageBean*/PageBean<Book> pb = bookService.findByCombination(criteria, pc);/** 5. 给PageBean设置url,保存PageBean,转发到/jsps/book/list.jsp*/pb.setUrl(url);req.setAttribute("pb", pb);return "f:/jsps/book/list.jsp";}
}


























基于SSM的网上书城系统设计与实现相关推荐

  1. 计算机毕业设计系列基于SSM的网上书城系统

    一.项目介绍 计算机毕业设计系列基于SSM的网上书城系统 该系统分为前台和后台两个功能模块,包含管理员和用户两个角色. (1)前台功能模块 首页.新闻资讯.图书列表.图书分类.图书搜索.图书详情.图书 ...

  2. 基于SSM的网上商城系统设计与实现

    今天给大家分享一个基于SSM的网上商城系统系统,分享给大家,希望多多支持 源码在文章末尾链接获取 一.项目背景 网上购物的悄然兴起,是社会经济发展的一个产物,与传统的店铺相比,网易购购物平台具有一定的 ...

  3. java计算机毕业设计基于ssm的网上跳蚤市场高校二手闲置交易网站

    项目介绍 商品交易的需求和管理上的不断提升,商品交易管理的潜力将无限扩大,网上跳蚤市场在业界被广泛关注,本系统对此进行总体分析,将商品交易信息管理的发展提供参考.网上跳蚤市场对商品交易有着明显的带动效 ...

  4. Java+mysql基于SSM的网上出差审批与费用报销系统 开题 毕业设计

    本课题是一个基于SSM的管理系统,本网上出差审批与费用报销系统是在Windows7系统的环境下,利用Eclipse和Mysql工具开发的.在网上出差审批与费用报销系统中分为管理员和普通用户2个模块.其 ...

  5. 基于SSM的网上商城(中)

    上一篇已经大致介绍了该项目的结构以及后台部分的管理和界面 具体链接如下: 基于SSM的网上商城(上) 代码链接 这篇来讲讲前台管理和界面的一些内容: 一:前台的展示界面: 1.common公共界面 ( ...

  6. YC-B09(原创)基于springboot,vue网上书城

    绪论  课题的开发背景 随着计算机和网络的快速发展,并且越来越普及,互联网日益成为人们收集信息常用渠道,电子商务开始流行,一种全新的理念不断形成并且快速发展,像国内电商巨头淘宝.京东.苏宁易购.唯品会 ...

  7. 毕设项目 - 基于SSM的网上购物商城(含源码+论文)

    文章目录 1 项目简介 2 实现效果 2.1 界面展示 3 设计方案 3.1 概述 3.2 系统开发流程 3.3 系统结构设计 4 项目获取 1 项目简介 Hi,各位同学好呀,这里是M学姐! 今天向大 ...

  8. VUE毕设项目 - 基于SSM的网上租车系统(含源码+论文)

    文章目录 1 项目简介 2 实现效果 2.1 界面展示 3 设计方案 3.1 概述 3.2 系统流程 3.2.1 系统开发流程 3.2.2 登录流程 3.3 系统结构设计 4 项目获取 1 项目简介 ...

  9. 基于SSM的网上宠物店

    末尾获取源码 开发语言:Java Java开发工具:JDK1.8 后端框架:SSM 前端:采用JSP技术开发 数据库:MySQL5.7和Navicat管理工具结合 服务器:Tomcat8.5 开发软件 ...

  10. 基于SSM的网上出差审批与费用报销系统 java毕业设计

    基于SSM的网上出差审批与费用报销系统-编号:jsp242 本课题是一个基于SSM的管理系统,本网上出差审批与费用报销系统是在Windows7系统的环境下,利用Eclipse和Mysql工具开发的.在 ...

最新文章

  1. apache php php.ini,apache php环境搭建 httpd.conf php.ini 修改点
  2. 通过开始关键字和结束关键字,查找所有的邮箱名称记录
  3. CF280D-k-Maximum Subsequence Sum【模拟费用流,线段树】
  4. Windows系统下彻底卸载MySQL数据库
  5. 我的梦幻动画实习工作总结
  6. 恒大汽车参展车辆竟全都是模型;华为官宣卖车,门店连夜上新摆车...
  7. Setup the FD.io Repository - Centos 7
  8. 阶段3 2.Spring_08.面向切面编程 AOP_1 AOP的概念
  9. 原生js监听滚动条_JS原生监听滚动条
  10. 博通无线网卡驱动安装linux,Ubuntu下Broadcom 802.11g无线网卡驱动安装方法
  11. CG100---13年金牛星 调表 型号HA48
  12. 卷宗怎么做_卷宗怎么读
  13. LDA的python实现之模型参数训练
  14. PYTHON 编写程序实现以下功能:计算beg到end之间的所有水仙花数并输出。如果beg到end之间不存在水仙花数,则输出“not found”。
  15. Window环境下进入MySQL命令窗口
  16. Tomcat - 解决which must be escaped when used within the value错误
  17. 邮政社招笔试题库_中国邮政招聘考试试题及答案--总括版
  18. 《C Primer Plus》中文第六版 编程练习答案 第五章 运算符、表达式和语句
  19. 基于分水岭算法和机载激光雷达点云三维空间分布分析的单棵树分割方法
  20. 社区举办“杀戮游戏”,你是幸存的那个吗?

热门文章

  1. 于的繁体字有几种写法_“龙”的繁体字有几种写法?
  2. PS实战-涂抹掉原图上的文字
  3. 安科瑞导轨表DDS/DTS/DTZ的功能特点
  4. i12蓝牙耳机怎么设置成中文_耳朵里的小精灵——乐迈车载智能蓝牙耳机
  5. kindle 越狱降级
  6. 网易测试工程师笔经面经(已上岸)
  7. CSS形成圆、平行四边形、菱形、梯形、饼图
  8. pip install报错 There was a problem confirming the ssl certificate…
  9. navigator 导航标签
  10. 使用golang链接达梦数据库