当前位置:   article > 正文

基于JSP+MySQL的图书商城系统设计与实现_基于jsp的图书商城系统

基于jsp的图书商城系统

目录
1 开发背景 1
1.1 系统开发背景与意义 1
1.2 研究内容 1
1.3 文档的组织结构 2
2 系统需求分析 3
2.1 系统需求分析 3
2.2可行性分析 3
2.2.1经济可行性 3
2.2.2技术可行性 3
2.2.3社会因素可行性 4
2.3功能分析 4
2.4 技术分析 4
3 系统设计 6
3.1 系统概述 6
3.2 系统功能 6
3.3 数据库设计 7
3.3.1 数据库概念设计 7
3.3.2 数据库逻辑设计 9
4 系统实现 12
4.1 系统开发规划 12
4.2 开发技术简介 12
4.2.1 Ajax 12
4.2.2 MYSQL数据库 12
4.2.3 JQuery 13
4.2.4 B/S模式 13
4.2.5 BootStrap 13
4.3 开发页面简介 14
4.3.1首页 14
4.3.2登录 15
4.3.3注册 16
4.3.4购物车 17
4.3.5评论管理 18
4.3.6订单明细 20
4.3.7分类管理 21
4.3.8图书管理 23
4.3.9订单管理 25
5 系统测试与分析 27
5.1 系统测试的目的与目标 27
5.2 系统测试意义 27
5.3 系统测试的方法 27
5.4 系统测试环境 28
5.5 软件测试 28
5.6 功能测试 29
5.7 测试总结 30
6 总结与展望 31
致谢 32
参 考 文 献 32
2 系统需求分析
2.1 系统需求分析
需求分析就是详细分析要解决的问题,弄明白问题的要求,包括需要输入哪些数据,将要得到何种结果,最后期望输出什么等。总之,“需求分析”在软件工程当中就是确定要计算机“做什么”。需求分析通过对收集到的需求资料进行分析,深层次的说明需求所表达的含义,介绍软件需要开发的功能和特性,描述软件要提供的接口或者和其它软件交互的方式,确定其它的非功能性需求。所以,需求分析是确定软件需要完成的内容,而不是如何完成这些功能要求。
2.2可行性分析
2.2.1经济可行性
开发本系统的相关资料均可通过网上搜索、线下调查获得,在开发过程中所需的软件系统都可从相关站点免费获得。信息的获取都是通过自己去各大地区长询问人民群众得到,不需要任何其他费用。
所以从经济角度开发工程监管信息系统是完全可行的。
2.2.2技术可行性
大部分用过程语言比如ASP,PHP开发出来的WEB应用,初始的开发模板就是混合层的数据编程。例如,直接向数据库发送请求并用HTML显示,开发速度往往比较快,但由于数据页面的分离不直接,因而很难体现出业务模型的样子或者模型的重要性。产品设计弹性力度很小,很难满足用户的变化性需求。而MVC模式要求对应分层,虽然要花费额外的工作,但产品的结构清晰,产品的应用通过模型可以得到更好的体现。一旦模型发生改变也易于维护。其次,由于模型返回的数据不带任何显示格式,因而这些模型也可直接应用于接口的使用。再次,由于一个应用被分离为三层,因此有时改变其中的一层就能满足应用的改变由于不同的层各司其职,每一层不同的应用具有某些相同的特征,有利于通过工程化、工具化产生管理程序代码。
而且开发本系统所需的软件系统都可免费获得,软件所依赖的相关组件都为开源软件并可以免费引用。
所以从技术角度开发心悦图书城系统也是完全可行的。
2.2.3社会因素可行性
目前,中国有上亿的网民,上千万的网上购物者,而且这个人群正在迅速的扩大。生活节奏的加快以及质量的提高,使人们需要一种更快捷 、 更方便的购物方式,尤其象图书这样品种繁多、数量庞大的商品,在网上购买不仅查找方便,而且选择的范围也远胜于传统购物。

2.3功能分析
1.登录管理:管理商品、订单、类目、商品规格属性、用户管理以及内容发布等功能。
2.分类管理:管理员可以对图书进行分类管理,可以添加、查看、修改、删除分类信息。
3.图书管理:管理员可以对图书信息进行管理,可以添加、查看、修改和删除图书信息。
4.搜索管理:提供图书信息的搜索功能。
5.订单管理:提供下单、查询订单。
6.评论管理:管理员可以对图书的评论进行管理,可以查看、删除评论信息。
2.4 技术分析
大部分用过程语言比如ASP,PHP开发出来的WEB应用,初始的开发模板就是混合层的数据编程。例如,直接向数据库发送请求并用HTML显示,开发速度往往比较快,但由于数据页面的分离不直接,因而很难体现出业务模型的样子或者模型的重要性。产品设计弹性力度很小,很难满足用户的变化性需求。而MVC模式要求对应分层,虽然要花费额外的工作,但产品的结构清晰,产品的应用通过模型可以得到更好的体现。一旦模型发生改变也易于维护。其次,由于模型返回的数据不带任何显示格式,因而这些模型也可直接应用于接口的使用。再次,由于一个应用被分离为三层,因此有时改变其中的一层就能满足应用的改变由于不同的层各司其职,每一层不同的应用具有某些相同的特征,有利于通过工程化、工具化产生管理程序代码。
在当今JSP开发中有两种模式,模式一是JSP+JavaBean的结合,模式二是JSP+JavaBean+Servlet的结合。模式一中,JSP页面独自响应请求并处理结果返回客户。所有数据通过Bean处理,JSP实现页面的表现。而本系统开发采用的模式二遵循了MVC模式,它的主要思想是使用一个或多个Servlet作为控制器。请求由前沿的Servlet(可能是多个Servlet构成的一个处理链)接受后,通过JDBC来连接数据库,执行数据库的操作,然后再用JavaBean来封装执行的结果,本文转载自http://www.biyezuopin.vip/onews.asp?id=14579把结果保存到请求对象中,最后把视图派发到用于显示的JSP页面。在模式二中,JSP用于显示,充当了视图的角色;JavaBean组件用于数据的封装,相当于模型的角色;Servlet用于执行业务逻辑,相当于控制器的角色。

用户可以对图书进行删除和修改,还可以查询订单信息,其购物车中的Servlet关键代码如下
public void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		try{
			User user = (User) request.getSession().getAttribute("user");
			if(user == null){
				request.setAttribute("message", "对不起,请先登录");
				request.getRequestDispatcher("/message.jsp").forward(request, response);
				return;
			}
			
			Cart cart = (Cart) request.getSession().getAttribute("cart");
			BusinessServiceImpl service = new BusinessServiceImpl();
			service.createOrder(cart, user);
			request.setAttribute("message", "订单已生成");
			request.getSession().removeAttribute("cart");//清空购物车,这是我自己加上去的,因为点购买后,如果不清空购物车,前端点击查看购物车又出现了
			request.getRequestDispatcher("/client/mycart.jsp").forward(request, response);
		}catch(Exception e){
			e.printStackTrace();
			request.setAttribute("message", "订单生成失败");
			request.getRequestDispatcher("/message.jsp").forward(request, response);
		}
	}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/花生_TL007/article/detail/168171
推荐阅读
相关标签
  

闽ICP备14008679号