您好, 访客   登录/注册

基于MVC模型的网上书店系统设计与实现

来源:用户上传      作者:

   摘要    网上书店系统旨在推动在线图书销售电子商务的发展,拓宽书籍的流通渠道,降低知识传播所需的代价。该系统基于MVC模型,结合JavaEE技术实现网上书店系统平台的构筑。本文从系统分析,系统设计,系统实现等方面具体论述了网上书店系统的设计与实现,完全遵照软件工程原理及思想。
   【关键词】MVC模型 网上书店 J2EE技术
   1 网上书店系统分析
   1.1 背景及意义
   近年来,电子商务处于热潮,极大的便捷了人们的生活。书籍,是人们知识与经验的重要来源,可它本身携带性较差,且受限于特定地点,人们要到专门的书店去购买书籍。所以为了促进知识的传播,拓宽书籍的流通渠道,让图书也搭上电子商务这辆快车,使人类的智慧能够在世界各个角落生根发芽,网上书店系统应运而生。这一系統旨在使人们获取知识所付出的代价能够越来越低,并使阅读成为每个人的习惯。
   1.2 相关技术及介绍
   1.2.1 MVC开发模式
   MVC开发模式:MVC开发模式是一种程序设计概念,它将外观设计和实际业务逻辑设计相区分,使程序更加便于扩展与维护。
   MVC将应用程序分解为3个部分:模型、视图和控制器。
   (1)Mode(l模型):其实是一些模型对象,代表应用中的数据。特别是具有检索、插入和更新数据库信息功能的模型类。它是应用程序的动态数据结构,独立于用户界面。
   (2)View(视图):视图是呈现给用户的信息,一般是一个HTML网页。
   (3)Controller(控制器):控制器接受输入并且将其转换为模型或视图的命令。它本身并不能实现任何操作,可以触发模型与视图相关事件,比如返回模型的数据或是将HTML文档呈递给视图。
   1.2.2 J2EE技术
   J2EE是一系列技术标准所组成的平台,它通过使用组件极大简化了应用系统的设计与开发。本篇主要用到的技术有以下几种:
   (1)JSP:JSP技术是一种动态网页技术,它能够根据不同的用户动态呈现不同的内容,比如根据用户登录的状态,可以呈现登录页面或注册页面,这种动态页面技术有别于之前静态的HTML页面,现在被广泛的应用在Web应用开发中。
   (2)Servlet:Servlet被包含在Java的API中,所以Servlet也是一个Java类。它也是动态网页技术的一种,但是相比JSP来说,输出动态HTML比较繁琐复杂,所以一般用Servet进行逻辑设计,JSP进行页面设计。
   (3)JavaBean:JavaBean是用Java编写的组件,组件好比一个封装容器,程序员不需要知道内部构造就可以使用组件,JavaBean能实现许多功能,一般有可视化JavaBean、不可视化JavaBean。在本文中使用了不可视化JavaBean来进行数据库的连接等操作。
   2 网上书店系统设计
   2.1 总体设计
   该系统采用B/S架构,主要由网站前台和网站后台构成,其中前台功能有登录、浏览商品、下订单、购物车和退出登录。后台功能有商品管理、订单管理和验证登录。
   2.2 详细设计
   MVC设计模式结合J2EE技术,将网站前台和网站后台设计分别对应到MVC设计模式的三个部分:前台对应视图,后台对应模型和控制器。
   在本系统的设计中,使用JavaBean组件为模型,处理用户提交的各种数据;JSP页面为视图,提供一个供用户用于交互的界面;Servlet为控制器,在用户触发事件后,将数据送往模型进行处理,并将处理结果返回给视图用于更新。
   基于MVC设计模式的网上书店系统,其整个流程大致如下:首先Web浏览器向服务器发出请求,服务器收到用户请求后调用servlet。这个控制器Servlet根据用户提交的不同业务(如增减商品)调用相应的JavaBean处理用户的请求。在JavaBean中进行数据库相关操作,或实现其他业务。处理结果由充当桥梁的JavaBean返回给Servlet,由Servlet转发处理结果到视图JSP。服务器读取JSP页面中的内容,将最终的结果以HTML的方式回显给客户端浏览器进行显示。
   3 网上书店系统实现
   3.1 MVC系统模型技术实现
   下面就从技术实现的角度分析MVC模型的实现,通过代码结构分析功能实现的细节。
   首先大致了解一下业务流程:用户要登录系统,进入登录界面。若验证通过则进入购物大厅界面,若错误则返回登录界面。在购物大厅选择要购买的书籍后,进入购物车界面。用户在购物车界面可以根据需求,选择增加或删除商品数量,也可以返回购物大厅继续购买。确定要购买的商品后,用户可以提交订单,进入显示订单界面。购买完毕,用户可以选择退出登录,进入退出界面。
   接下来具体分析各个功能的实现:
   (1)前台功能实现:前台功能主要包括各个界面的设计,也就是呈现给用户的界面设计。以下界面主要采用流行前端技术组合:HTML+CSS+Bootstrap编写。
   登录:由Login.jsp这个JSP视图页面负责登录界面的实现。
   浏览商品:由Welcome.jsp这个JSP视图负责商品展示界面的实现,商品信息来自Dao。DAO(Data Access Object)是一个数据访问接口。数据访问,对数据库进行存取。夹在业务逻辑与数据库资源中间。它将需要显示的信息(如书籍图片、价格等)从数据库中取出,交给视图显示。
   购物车:由ShowCart.jsp负责显示购物车。提供进行商品管理的按钮(如增减商品的按钮),供用户与系统进行交互。
   下订单:由ShowOrder.jsp负责显示订单。显示用户信息与购买信息,供用户进行确定。退出登录:由Logout.jsp负责显示退出登录界面。使用Bootstrap中的巨幕组件,提高人机交互界面的美观性。
   (2)后台功能实现:
   商品管理:
   由AddServlet.java、DeleteServlet.java、ClearServlet.java和UpdateServlet.java四个类分别实现商品的增、删、清除与更新。
   订单管理:由管理员对提交的订单进行处理。
   验证登录:由Vaildate.java类对用户名和密码进行验证。
   3.2 MVC代码结构
   模型层(Model):
   Book.java,Cart.java。
   视图层(View):
   Login.jap,Welcome.jsp,ShowCart.jsp,ShowOrder.jsp,Logout.jsp。
   控制层(Controller):
   AddServlet.java,DeleteServlet.java,ClearServlet.java,UpdateServlet.java。
   参考文献
   [1]贾志诚,王云.JSP程序设计:慕课版[M].北京:人民邮电出版社,2016.
转载注明来源:https://www.xzbu.com/1/view-14841883.htm