YibinUniversity本科生毕业论文(设计)题目网上购物系统系别数学学院专业信息与计算科学学生姓名杨山学号100201020年级2010级指导教师邹序焱职称讲师教务处制表2014年5月4日2摘要随着当代IT行业的快速发展,人们都已爱上网上购物这种消费形式。网上书店利用现在的IT技术、借助物联网平台而设计的以图书交易为主的电子商务型系统。该系统是在操作系统Windows下,以MySql为数据库,Tomcat6.x为应用服务器。本系统采用了MVC分层设计模式,即表现层、控制层和业务层。在页面表现层主要采用了JSP+Ajax+jQuery等技术,中间控制层应用了Struts2的Filter控制器+Action组件等技术,数据访问层利用的是基于JDBC技术的DAO组件。主要实现了用户管理模块user(用户登录,用户注册,邮箱的验证)、图书浏览模块main(图书分类浏览、图书详情)、购物车模块cart(购买,删除,恢复,变更数量)、订单模块order(订单确认,填写送货地址,订单生成)等功能。本系统是一个简单易用的小型网上书店,适用于现在的实体书店以及没有实体店的用户。由于采用的java语言来开发的网站,所以网站系统可以部署到其他的操作系统上,如Unix、Linux等等,它的应用也就更加广泛。关键词:网上书店;MVC模式;JSP动态网页技术;Struts2框架1绪论1.1引言由于目前IT技术的迅速发展,人们也越来越喜爱方便、快捷、实惠的网购方式。虽然现在已有许多主流的网上书店,如当当网、卓越网、京东商城等。但是目前许多实体书店是没有自己专属的网上书店的。而对于实体书店而言,能拥有一套网上书店系统,可谓锦上添花。本系统就是在这样的形式下而开发的简单易用的小型网上书店,适用于现在的实体书店以及没有实体店的用户。1.2技术概论目前软件开发的主流技术有数据库技术,web前端技术,java技术,.net技术,这些技术的发展更新较快,也比较成熟。而网站的主流开发技术有javascript、vbscript、javaBean、.net、jsp、asp、php等等。本系统主要应用了JSP、ajax、jQuery、javabean、struts、mySql等技术。本系统使用的技术是目前企业应用最为广泛的技术。1.3功能概述本网站由两个部分组成,一部分是给广大消费者使用的在线书店,另一部分是对在线书店经营模式的管理。在线书店主要实现图书的分类浏览、查看图书详情、会员的注册,登录、加入购物车、查看购物车、下订单,会员中心(查看订单、积分、个人信息)等功能。在线书店的管理部分主要实现了管理员的注册登录,管理员的权限判定,管理员管理,书籍管理,会员管理,订单管理(查看订单,处理订单,消费统计等等)。2系统关键技术综述2.1JSP动态网页开发技术在说JSP技术前,得先阐述什么是Servlet。Servlet就是sun公司制定的一个组件,一个规范,用于扩展web服务器功能的容器。Servlet主要运行在服务器端,它可以接受客户端(一般是浏览器)的请求,并且处理客户端的请求,并且将处理的结果以多种形式(html、xml、json等数据类型)返回给客户端,也是我们常说的响应。3而JSP则是一种特殊servlet,或者说它是Servlet的一种升级。JSP也是Sun公司提出的网页技术规范。JSP文件主要由html(包括css、javascript)、java代码、指令(page,include,taglib,jsp:include等等)、隐含对象(session、request、response、out等等)。JSP技术不仅有自带的JSP标签,还可以封装定义标签,根据需求封装自己的标签。JSP在创建之初特别像一个html,但是编译之后,在服务器端执行时,它就成了一个_jsp.class,而这个.class的原型就一个servlet。所以说jsp就是Servlet。2.2MVC设计模式mvc即model-view-controller的简称,是软件开发的一种分层设计模式,即被分为modle模型层(也称为数据操作层),在本系统中表现为dao层;view视图层,在本系统中表现为jsp层;controller控制层,在本系统中表现为struts的action层。之所以将这软件开发分为这三层,是为了让业务流程处理起来井然有序,也是为了实现代码的重用。mvc设计模式在很多框架结构中都有所体现,也可以说很多框架结构都是基于mvc模式来设计、实现的,如:struts。这是一个非常经典实用的设计模式。本系统也是基于该模式设计实现的。mvc设计模式如图2-1所示。图2-1mvc模式设计示意图2.3Struts2框架2.3.1什么是Struts2Struts2就是高度封装好的、实用的框架结构框架。它是在webWork的基础上升级的框架结构。用它来开发B/S模式的软件非常实用,而且性能和稳定性也较好。2.3.2Struts2的工作原理Struts2的工作原理如图2-2所示。4图2-2Struts2的原理图3开发环境的搭建与配置3.1开发环境简介为了本系统的良好运行和方便维护,开发环境的选择很是重要。本系统所用的开发环境如下:开发环境:Windows开发工具:MyEclipse8.5应用服务器:tomcat6.0数据库管理系统:MySql使用框架:Struts23.2开发软件的下载,安装与环境配置3.2.1JDK1.6下载及安装首先在官网下载JDK安装包。可到SUN公司的官方网站上下载。进入官网后选择Download-JavaSE,点击JavaSE6后面的Download按钮,然后选择JDK6进行下载。完成下载后运行jdk-6u10-beta-windows-i586-p.exe,按照提示进行安装。这里将它安装到C:\ProgramFiles(x86)\Java\jdk1.6.0_11目录下。安装好JDK之后,还需要配置jdk的环境变量,让系统能找得到它。右击计算机-属性,点击“高级系统设置”选项卡,单击“环境变量”。新建系统变量JAVA_HOME和Path。详细配置如图3-1和图3-2。5图3-1JAVA_HOME变量配置图图3-2Path变量值设置图3.2.2Tomcat6.0下载与安装首先到apache网站上()下载Tomcat应用服务器。然后根据提示进行安装。3.2.3MyEclipse8.5下载与安装首先到官方网站上下载MyEclipse8.5安装包。然后根据提示进行安装。3.2.4Struts2开发包的下载与环境配置(1)在使用Struts2之前,首先要进行环境的搭建。在下载的包里面解压后,找到commons-fileupload-1.2.1.jar;commons-logging-1.0.4.jar;freemarker-2.3.15.jar;ognl-2.7.3.jar;struts2-core-2.1.8.1.jar;xwork-core-2.1.6.jar等jar包,导入到项目中。这些jar包是至少要导入的。(2)在web.xml文件中加入一个过滤器配置。只有将Strtus的过滤器配置在web.xml下,系统才能找到有关struts的jar包与相关文件配置。具体配置文件代码如下:filterfilter-namestruts2/filter-namefilter-classorg.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter/filter-class/filterfilter-mappingfilter-namestruts2/filter-nameurl-pattern/*/url-pattern/filter-mapping(3)在项目的src目录下新建一个struts.xml文件,当请求来时就会通过它来找到相应的action,然后通过action处理相关业务流程。struts.xml文件的部分内容的代码如下:struts26packagename=defaultnamespace=/extends=struts-defaultactionname=loginclass=com.lovebook.action.loginActionmethod=executeresultname=success/index.jsp/result/action/package/struts24需求分析4.1系统需求分析4.1.1功能需求爱书网主要是提供图书销售的平台,它虽然在互联网上展示的,但是考虑到用户的体验,爱书网需要提供像实体书店一样的图书浏览,图书的分类浏览,以及提供用户购买书籍的入口等等。前端网上书店收集了用户的资料以及订单后,管理人员还需要对客户的资料进行查看,查看客户的订单。当有新书上榜或图书售罄时,管理人员还需要对图书进行一个添加、删除管理等,所以还要一个爱书网的后台管理系统。(1)爱书网前端功能①图书浏览,主要有分类浏览、编辑推荐、热销图书、最新上架图书、新书热买榜等等。②会员入口,主是对于非爱书网会员的提供注册入口,已经是会员的就提供登录入口,登录后的会员便可购买书籍并且可以查看个人中心。③购物车,主要是会员若想购买某书籍时便可将其加入购物车,进入购物车列表时,可以对将要购买的书籍添加数量,减少数量,或删除某种图书等等。④订单模块,主要是提供客户确认订单,填写送货地址,订单生成功能。⑤会员中心,主要提供客户查看个人信息,修改个人信息,查看订单详情以及订单处理进度。(2)爱书网后端管理①图书管理,需要提供修改图书基本信息,添加、删除图书等功能。②订单管理,需要提供查看订单详情,跟进订单状态,废止作废的订单等等。③会员管理,需要提供查看、修改会员基本信息,添加新会员、删除无效会员等功能。④管理员管理,主要提供管理员的登录管理,添加、删除管理员,查看、修改管理员的基本信息等功能。4.1.2性能需求对于在线书店,需要满足在线的最大访问数(即容量要大),发送请求、响应请求的数度要快。同时还要保证用户信息的安全性。作为服务器端的计算还要求操作系统安全,性能较好等。4.2数据流程分析4.2.1整体体数据流程图系统整体数据流图如下图4-1所示。7图4-1整体数据流图4.2.2分层数据流程图(1)前台网站客户成功登录后,可以在页面上浏览书籍,查看图书详情,然后将所需图书加到购物车,进入购物车确认要购买的书籍,最后提交订单,等待订单的处理结果。系统前台网站数据流图(前端购书)如图4-2所示。图4-2前台网站数据流图用户注册用户登录购买图书后台处理注册信息登录信息登录信息订单数据处理结果信息用户信息注册用户管理员处理结果信息处理结果信息未注册用户用户登录用户信息图书查询图书信息购物车处理更新图书信息购物车信息存储反馈图书信息图书信息存储图书信息订单提交确认图书信息订单数据付款等8(2)后台管理只有系统的管理员才可以登录到后台管理系统,查看客户的订单信息,跟进订单状态,然后修改订单的信息。系统后台管理数据流图如下图4-3示。错误!未找到引用源。图4-3后台管理数据流图5系统总体设计5.1网站功能概述5.1.1系统功能(1)用户界面部分①图书浏览,主要有分类浏览、编辑推荐、热销图书、最新上架图书、新书热买榜等等。②会员入口,主是对于非爱书网会员的提供注册入口,已经是会员的就提供登录入口,判断用户是否为合法用户,登录后的会员便可购买书籍并且可以查看个人中心。③购物车,主要是会员若想购买某书籍时便可将其加入购物车,进入购物车列表时,可以对将要购买的书籍添加数量,减少数量,或删除某种图书等等。④订单模块主要是提供客户确认订单,填写送货地址,订单生成功能。会员中心,主要提供客户查看个人信息,修改个人信