鲜花销售网站的设计与实现

上传人:仙*** 文档编号:61144339 上传时间:2022-03-10 格式:DOCX 页数:50 大小:3.51MB
收藏 版权申诉 举报 下载
鲜花销售网站的设计与实现_第1页
第1页 / 共50页
鲜花销售网站的设计与实现_第2页
第2页 / 共50页
鲜花销售网站的设计与实现_第3页
第3页 / 共50页
资源描述:

《鲜花销售网站的设计与实现》由会员分享,可在线阅读,更多相关《鲜花销售网站的设计与实现(50页珍藏版)》请在装配图网上搜索。

1、内蒙古科技大学本科生毕业设计说明书(毕业论文)题 目:鲜花销售网站的设计与实现学生姓名:学 号:专 业:班 级:指导教师:褚燕华老师43内蒙古科技大学毕业设计说明书(毕业论文)鲜花销售网站的设计与实现摘 要随着互联网的快速发展,网上购物已经成为一种时尚。人们可以通过网络选择更多的商品。本网站是一个相对简单的系统,主要满足传统花店的运营需要,将自己的销售渠道扩展到网上,实现鲜花的在线销售。鲜花销售网站的使用者主要是客户和销售管理者。对于客户来说,实现的功能包括鲜花浏览、根据关键字搜索鲜花、查看鲜花详细信息等。注册登陆后的客户还能实现加入购物车、购买支付、订单查询以及个人信息修改等。销售管理者登录

2、后,可以对会员、鲜花和订单进行管理。鲜花销售网站是在MyEclipse10环境中,采用MVC思想,分别从模型、视图、控制器三方面进行分层开发设计。该网站是基于浏览器/服务器结构(B/S),采用SSH2(Struts2+Spring+Hibernate)构建框架。数据库选用受大众喜爱的 MySQL数据库,用Java和JSP开发语言进行开发。关键词:网购;鲜花销售网站;B/S结构;MVC;SSH2 内蒙古科技大学毕业设计说明书(毕业论文)The Design and Implementation of Flower Sale WebsiteAbstractWith the rapid develo

3、pment of the Internet, online shopping has already become a kind of vogue. This website is a simple system relatively, which require the need of traditional store. In order to expending their sales channels, we develop the Flower Sale Website System.The users of Flower Sale Website are customers and

4、 sales managers. The customers can skim through flowers, search flowers according to a keyword, look search details about each flower and so on. When customers log in, they can add to cart, pay for orders, manage the orders and so on. While sales managers log in, he can manage orders, flowers and me

5、mbers.The Flower Sale Website has developed with MyEclipse10, using MVC ideas ,which according to model, view and controller three parts to design. The website is based on browser / server, using SSH2(Struts2 and Spring and Hibernate )framework. The database choosen the MySQL, which is the most popu

6、lar . The development language used Java and JSP.Key words: Online shopping; Flower Sale Website; B/S; MVC; SSH2内蒙古科技大学毕业设计说明书(毕业论文)目 录摘 要IAbstractII第一章 绪论11.1 研究背景11.2 系统目标11.3 可行性分析11.3.1 经济可行性21.3.2 操作可行性21.3.3 法律可行性21.3.4 技术可行性21.4 课题意义3第二章 开发工具介绍42.1 MyEclipse介绍42.2 MySQL介绍42.3 Tomcat介绍42.4 Jav

7、a语言介绍52.5 Hibernate框架介绍52.6 Struts 2框架介绍52.7 Spring 框架介绍5第三章 鲜花销售网站的需求分析73.1 网站功能分析73.1.1 参与者73.1.2 需求结构73.2 主要功能描述83.2.1 鲜花浏览83.2.2 鲜花搜索83.2.3 注册/登录/退出83.2.4 购物车管理83.2.5 在线支付93.2.6 个人信息修改93.2.7 订单管理93.2.8 鲜花卖家后台管理9第四章 鲜花销售网站的总体设计104.1 实体类104.2 数据库设计模型114.2.1 表结构设计114.2.2 数据库表之间的关系14第五章 鲜花销售网站的详细设计1

8、55.1 网站主要页面的详细设计155.1.1 网站主页的详细设计155.1.2 鲜花浏览页面的详细设计155.1.3 鲜花详细信息页面的详细设计165.1.4 登录页面的详细设计165.1.5 个人信息修改页面的详细设计175.2 网站主要功能的详细设计185.2.1 关键字搜索的详细设计185.2.2 鲜花浏览的详细设计185.2.3 购物车管理的详细设计195.2.4 注册/登录/退出的详细设计205.2.5 会员修改个人信息的详细设计225.2.6 订单管理的详细设计235.2.7 鲜花卖家管理之鲜花管理详细设计245.2.8 鲜花卖家管理之订单管理详细设计255.2.9 鲜花卖家管理

9、之会员管理详细设计265.3 鲜花网站业务逻辑架构设计27第六章 鲜花销售网站的系统实现296.1 鲜花销售网站主页的实现296.1.1 主页页面的实现296.1.2 主页的主要实现代码306.2 鲜花浏览的实现306.2.1 鲜花浏览页面的实现306.2.2 鲜花浏览的主要实现代码316.3 个人信息修改的实现316.3.1 个人信息修改页面的实现316.3.2 个人信息修改主要实现代码326.4 购物车功能的实现326.4.1 购物车页面的实现326.4.2 购物车部分功能的主要实现代码336.5 用户登录功能的实现346.5.1 登录页面的实现346.5.2 登录功能的主要实现代码346

10、.6 生成订单页面和代码的实现356.7 鲜花管理之新品上架的实现366.7.1 鲜花上架页面的实现366.7.2 鲜花上架主要实现代码37总结38参考文献40致谢41 内蒙古科技大学毕业设计说明书(毕业论文)第一章 绪论1.1 研究背景随着互联网的快速发展,网上购物已经成为了一种时尚,越来越受到人们的喜爱。在网络销售的方式下,消费者足不出户也能完成购物。随着生活水平的不断提高,人们已经不再满足于简单的衣食温饱,而是越来越追求生活品质。鲜花作为生活中的点缀,也越来越成为生活所需。因为各个城市的人员流动比较大,异地送花也已经是件比较常见的事,所以传统花店相对来说已经比较不合时宜。在这个时候,鲜花

11、销售网站就挑起了大梁,发挥了大作用。本系统就是实现鲜花在线销售的一个网站。网上鲜花销售可以使消费者随时随地浏览鲜花信息,打破了时间和空间的局限,为消费者提供了便利。同时,网上鲜花销售降低了商家销售的成本,拓展销售渠道,可以赚更多的钱。在以后的生活中,该网站必然会真正融入人们的生活中。1.2 系统目标鲜花商家能够拓展销售渠道,出售更多的鲜花,同时降低成本,盈利;消费者可以随时随地选购鲜花,送出自己的心意。该网站主要实现了客户可以进行鲜花浏览、根据关键字搜索鲜花、查看鲜花详细信息、注册、登录、修改个人信息、添加鲜花到购物车、购买付款、订单管理等操作;鲜花销售管理者可以进行会员管理、鲜花管理、订单管

12、理、搜索等操作。1.3 可行性分析为了更好的完成本次设计,在开始前,先进行可行性分析,再决定是否继续设计。而可行性研究的目的,就是用最小的代价在尽可能短的时间内确定问题是否能够解决。1.3.1 经济可行性本次设计过程中,所需要的软硬件条件有电脑、MyEclipse10、MySQL、Tomcat、Dreamweaver等等,而这些软硬件平时都要用到,所以早已具备,并没有什么经济支出。此次设计的网站规模小、设计过程所需的时间总体上也不算长,所以经济成本相对比较小。所以,经济上是可行。1.3.2 操作可行性鲜花销售网站与别的购物网站并没有多大的区别,对于经常网购的人来说,操作上并没有什么问题;而对于

13、不怎么网购的人来说,也是比较容易学习。所以,操作上可行的。1.3.3 法律可行性这个网站是本人的毕业设计,从页面效果布局到后台代码均有本人设计完成,并不存在什么侵犯别人的合法权益等事件。本人所用到的软件和框架等都是可以合法使用的,所以,法律上可行的。1.3.4 技术可行性鲜花销售网站所涉及的技术有SSH2技术,该技术是由Struts2、Spring、Hibernate集成的框架。这种框架是目前比较流行的一种Web应用程序开源框架,越来越多的程序员使用这个框架进行开发,所以SSH2胜任鲜花销售网站的设计与开发。数据库选用为比较流行的MySQL数据库,该数据库开放源码而且供开发者免费试用。用Hib

14、ernate对数据进行操作。Hibernate其实就是JDBC的封装,简化了JDBC的编码,使得程序员可以更好将精力放在业务逻辑上。所以,技术是可行的。综合以上的可行性分析,鲜花销售网站可以进行开发。1.4 课题意义鲜花销售网站是在网上消费方式盛行的趋势下,紧跟时代的潮流,抓住市场机遇融入社会,满足顾客需求,为客户提供更好的服务。对于客户来说,主要是便利,不用考虑时间和地域因素,只要有网络,随时随地下单;同时,客户可以更直观的看到各种鲜花及其介绍,可以随心所欲的进行选购。对于销售管理者来说,从根本上降低了商家销售的成本。鲜花销售网站的实现顺应当下潮流,既方便买主挑选鲜花,又能为卖家节约成本,更

15、好的创造财富。使用鲜花销售网站好处主要有以下几点:1、只要有网络,客户就可以随时随地进入网站主页浏览鲜花,查看鲜花详细信息。2、客户在鲜花浏览页面可以根据时间、价格或者销量来选择鲜花显示的顺序。客户还能在搜索栏直接输入关键字来搜索鲜花,这样能使客户更直观的选择自己想要鲜花,节约时间。3、销售管理者可以在网站上及时更新订单状态和鲜花信息,同时能够管理网站的会员,维护网站秩序。第二章 开发工具介绍2.1 MyEclipse介绍MyEclipse,全称MyEclipse Enterprise Workbench,是一个包含了完整的设计开发以及发布,在eclipse的基础上同时又融入了许多插件的开发环

16、境。MyEclipse功能强大,能得到多种技术支持如HTML、JSP等,方便程序员开发。2.2 MySQL介绍MySQL是一个小型关系型数据库管理系统。虽然MySQL的规模和功能不及Oracle、SQL Server等数据库,但是由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为数据库。而且对于一般的个人使用者和中小型企业来说,MySQL提供的功能已经绰绰有余。2.3 Tomcat介绍Tomcat是一个供开发者免费使用的服务器,一般用于开发规模一般的系统。同时,Tomcat也是JSP页面运行和调试过程中首要的选择。它不仅不

17、花钱,而且它的功能也很强大,方便大家使用。Tomcat是Servlet的运行环境,是JSP和Servlet规范的标准实现,具备了很多商业Java Servlet容器的特性。Tomcat没有繁琐的安装步骤,只需要拷贝到电脑的某个盘,然后在MyEclipse10里配置一下就可以使用。而且与别的Java Web 服务相比较,Tomcat还具备适用群体更加广泛、更加经济开源、性能更加优越等优势,所以更加适合用来开发。2.4 Java语言介绍Java是一款面向对象又可以跨平台运行的编程语言,目前在全球IT界是很受欢迎,不少培训机构专门为此推出了各种班吸引生源。Java是基于对象的编程,更符合我们的思维方

18、式,方便我们编写代码。实际上,Java很多特性其实就是对C和C+的进行继承,对其进行“去其糟粕,取其精华”。2.5 Hibernate框架介绍JDBC不断重复繁琐的编码方式给Hibernate诞生的提供了一个机遇。Hibernate是一个对象/关系数据库映射(ORM)工具,也是一个封装了JDBC相关操作的框架,简化了创建、更新、读取和删除(CURD)操作。程序员使用这个框架就不再需要写面向关系的SQL语句,只是使用面向对象的方法,既简化了编码,也可以更好的完成业务逻辑这一块。Hibernate是通过数据库和配置来提供持久化,对解决Java持久化层做出了巨大的贡献。2.6 Struts 2框架介

19、绍Struts2是一个集合了部分Struts1优点同时又以WebWork为设计核心供程序员免费使用的MVC框架。以前的MVC框架死板不够灵活、也无法扩展,此时拦截器发挥了巨大的作用,通过它可以使Web开发中的某些应用变得简单。Struts2就是利用了拦截器,将核心功能放置在拦截器中,拦截器则自由组合,从而使得系统的解耦更加方便、灵活。拦截器,就是一个递归的过程。2.7 Spring 框架介绍由于企业的系统开发程度越来越来复杂,面向对象固然会使得简化系统实现步骤。可是毕竟也是有一定限度的,超过限度面向对象的方法就不够用了,发挥不了多大作用。为了解决这一问题而创建Spring框架。Spring框架

20、核心机制就是依赖注入。通过Spring框架,我们不用在Service层在new一个Dao对象而直接用Resource注入就行。从技术上看,Spring是封装得很清晰的一个分层架构。第三章 鲜花销售网站的需求分析3.1 网站功能分析3.1.1 参与者鲜花销售网站的主要参与者有:销售管理员(鲜花卖家)、会员(客户)、网站浏览者(未注册)。3.1.2 需求结构鲜花销售网站主要是虚拟鲜花店铺实现鲜花买卖的功能,其需求可以分为前台需求和后台需求两方面。前台需求,就是鲜花买主能够进行的操作;而后台需求就是卖家的对网站管理操作。通过需求分析,设计出鲜花销售网站的需求结构,如图3.1所示。图3.1 鲜花销售网

21、站的需求结构3.2 主要功能描述3.2.1 鲜花浏览导航栏上有首页、新品上市和鲜花类别(鲜花、永生花、精品花篮等)。网站浏览者可以根据自己需要,单击某一类别进入鲜花浏览页面。在该页面,在鲜花浏览页面,网站浏览者也可以根据时间、价格或者销量来选择鲜花显示的顺序,以方便自己更具有目的性的进行选择。当选好某一鲜花,点击鲜花图片就可以进入鲜花详细页面,该页面有鲜花的名称、价格、销量和鲜花的介绍等详细信息,并且在该鲜花的下方有销量最前的几束鲜花推荐供网站浏览者参考。已经登录过的网站浏览者在鲜花详细页面还可以实现加入购物车和直接购买的功能,未登录的浏览者点击则会直接跳转至登录页面。3.2.2 鲜花搜索网站

22、浏览者可以在搜索栏输入自己想要的鲜花的关键字,单击“搜索”,页面自动转至搜索反馈页面并显示搜索到鲜花供浏览者选择。3.2.3 注册/登录/退出如果还没有在鲜花销售网站注册过的网站浏览者(即游客)可以在首页左上方单击“免费注册”进入注册页面,填好相应的信息进行注册,然后再进行登录;而已经注册过的网站浏览者(即会员)就可以单击“还未登录”、“鲜花小窝”、“购物车”等地方进行登录。已经登录后会员在网站的上方或者鲜花小窝单击“退出”按钮实现退出。3.2.4 购物车管理已经登录的会员在鲜花详细页面可以将鲜花加入购物车,加入数量为1,页面直接跳转到购物车页面。在网站的最上方有“购物车”按钮,单击进入购物车

23、页面,该页面有“+”、“-”和删除按钮可以进行购物车管理。其中“-”按钮在数量为1时,如果再操作“-”将无法执行,如需其执行就要进行删除操作。在购物车页面还能进行鲜花购买和鲜花推荐。3.2.5 在线支付已经登录后的会员点击“购买”后,进入填写订单页面,主要填写地址、收件人等重要信息,页面跳转至订单详细页面,然后确定订单。然后跳转到支付银行选择的页面,会员选择好银行(默认为建设银行),单击确认。页面弹出确认支付提示框,确定则转入支付页面完成支付操作;取消则支付取消。3.2.6 个人信息修改已经登录后的会员单击网站右上方“鲜花小窝”,页面转入鲜花小窝页面。在鲜花小窝页面,会员可以选择“信息修改”进

24、行个人信息修改。信息修改完成后,会员将退出提示需要重新登录。3.2.7 订单管理已经登录后的会员在鲜花小窝页面,点击“订单查询”,进入订单管理页面,该页面会显示该会员所有订单,会员可以在这个页面根据订单的状态对订单进行付款、签收、删除等操作。3.2.8 鲜花卖家后台管理(1)会员管理:销售管理员登录后进入管理页面,可以选择“会员管理”进行分页查看会员,并进行管理。其中订单管理也与之类似。(2)鲜花管理:销售管理员在管理页面单击“鲜花管理”进入鲜花管理页面可以查看鲜花记录,在操作栏还能进行查看和删除操作;在鲜花详细信息页面还能对鲜花进行修改;同时销售管理员也可以实现新品上架和鲜花类别管理等操作;

25、销售管理员根据导航栏查看网站鲜花信息。第四章 鲜花销售网站的总体设计4.1 实体类参照需求分析可以总结出订单、鲜花、购物车、鲜花类别、用户、订单明细和购物车明细七个实体类。鲜花实体是用于保存鲜花信息,描述某一鲜花的详细信息;鲜花类别实体是用于保存鲜花类别,描述某一鲜花是属于什么类别,如属于鲜花花束类别;订单实体是用来保存订单详细信息;订单明细用于保存购买鲜花的编号、数量、价格及小计;用户实体是用于保存买家信息。购物车是用来保存用户可能要购买的鲜花,购物车明细是用来保存预计购买鲜花的编号、数量及价格。这些实体类之间的关系如图4.1所示。图4.1 实体之间的关系4.2 数据库设计模型4.2.1 表

26、结构设计结合需求分析和实体结构规划,设计出相应的表结构。鲜花、鲜花类别、订单、订单明细和用户将会用数据库的表结构存储相应的信息。为了方便起见,购物车和购物车明细不采用表结构存储,而是使用session存储在服务器。所以该系统有鲜花表、鲜花类别、订单表、订单明细表和用户表五张表结构。会员表是用来存储会员的详细信息。该表的字段有用户序号、用户名称、密码、联系方式、状态和角色,其中用户号是主键。详细设计如表4.1所示。表4.1会员表字段标识字段名称数据类型大小约束默认值id用户序号varchar255PK,NNusername用户名称varchar255NNpassword密码varchar255N

27、Nphone联系方式varchar255NNsatus状态int11NN0role角色int11NN0鲜花类别表是用来存储鲜花类别的详细信息。该表有鲜花类别编号(id)和鲜花类别名称(name)两个字段,其中鲜花类别编号式主键,不是自动生成,需要自己输入。详细设计如表4.2所示。表4.2 鲜花类别表字段标识字段名称数据类型大小约束默认值id鲜花类别编号varchar255PK,NNname鲜花类别名称varchar255NN鲜花表是用来存储鲜花的详细信息。该表的字段有鲜花编号、鲜花名称、描述、图片(四个)、销量、价格、鲜花类别和上架时间。其中鲜花编号是主键,鲜花类别是外键,建立了鲜花表与鲜花类

28、别表之间的联系,说明该鲜花是属于哪个类别。详细设计如表4.3所示。表4.3鲜花表字段标识字段名称数据类型大小约束默认值flowerId鲜花编号varchar255PK,NNname鲜花名称varchar255NNdescription描述varchar255NNimage图片varchar255NNimage2图片varchar255NNimage3图片varchar255NNimage4图片varchar255NNnum销量int11NN0price价格floatNNid鲜花类别varchar255FK,NNaddtime上架时间datetimeNN订单表是用来存储订单的详细信息。该表的字段

29、有订单号、创建人、订单流水号、订单量、合计、订单状态、下单时间、收件人、收件地址、联系电话和祝福,其中订单号是主键,创建人是外键。创建人这个外键建立了订单表与会员表之间的联系,说明该订单是由哪个会员创建。订单状态是int型,有未付款状态(用0表示)、取消状态(用1表示)、订单已移除状态(用2表示)、已付款状态(用3表示)、已发货状态(用4表示)、已签收状态(用5表示)、用户已移除(用6表示)七个状态。详细设计如表4.4所示。表4.4 订单表字段标识字段名称数据类型大小约束默认值id订单号varchar255PK,NNuserid创建人varchar255FK,NNordersnum订单流水号v

30、archar255NNallnum订单量int11NNtotalprice合计floatNNstatus订单状态int11NN0otime下单时间timestampNNreceiver收件人varchar255NNreAddress收件地址varchar255NNreTelephone联系电话varchar255NNgoodwishes祝福varchar255订单明细表是用来存储订单明细的详细信息。该表的字段有订单明细号、鲜花数量、单价、小计、鲜花号和订单号,其中订单明细号是主键,鲜花号和订单号是外键。鲜花号创建了订单明细表与鲜花表之间的关系,说明该订单明细里的鲜花是哪束。订单号创建订单明细表

31、和订单表之间的关系,说明该订单明细属于哪个订单。详细设计如表4.5所示。表4.5 订单明细表字段标识字段名称数据类型大小约束默认值id订单明细号varchar255PK,NNnum鲜花数量int11NNprice单价floatNNsubtotal小计floatNNflowerId鲜花号varchar255FK,NNorderid订单号varchar255FK,NN4.2.2 数据库表之间的关系根据4.2.1节表结构设计,用PowerDesigner软件,依次录入各个表的字段,设置各个表之间的外键关系,得到表之间的关系,如图4.2所示。从图中可以看出user和orders有外键关系、orders

32、和orderItem有外键关系,orderItem和flower有外键关系、flower和flowertype有外键关系。图4.2 表之间的关系第五章 鲜花销售网站的详细设计5.1 网站主要页面的详细设计5.1.1 网站主页的详细设计该网站的主页可以分为顶部导航、搜索栏、导航栏、图片展示、热销商品显示和底部六个部分。如果普通用户浏览网站,顶部导航左边将显示欢迎词、登录和注册;如果会员登录后浏览网站,该部分将显示的是欢迎词、该用户的用户名和退出。顶部导航右边将显示鲜花小窝、购物车和管理登录。如果会员登录后浏览网站,该部分将显示鲜花小窝和购物车;如果销售管理员登录后浏览网站,该部分将显示的我的微店

33、。导航栏显示的是首页、新品上架和鲜花类别。图片展示采用了JS特效,主要是用于美化页面。底部显示的版权信息和联系方式。详细设计如图5.1所示。图5.1 网站主页的详细设计5.1.2 鲜花浏览页面的详细设计鲜花浏览页面和主页的不同点就在于导航栏和底部之间的部分。该部分是用来显示鲜花的,里面有鲜花类别显示、小按钮(时间、销量、价格)、鲜花总数和分页按钮,中间部分是用于显示鲜花。其中新品上架页面、搜索结果显示页面与该页面相似,所以就不做介绍。页面布局如图5.2所示。图5.2 鲜花浏览页面5.1.3 鲜花详细信息页面的详细设计鲜花详细信息页面和主页的不同点也在于导航栏和底部之间的部分。该部分分为两大部分

34、,分别是鲜花详细信息介绍和推荐区。鲜花详细信息介绍左侧是鲜花名和鲜花图片显示,右侧是文字描述、加入购物车和直接购买。推荐区是用来显示其他用户购买的鲜花(主要就是销量好的鲜花)。其中购物车页面结构与该页面相似,所以就不再画图说明。详细设计如图5.3所示。图5.3 鲜花详细信息页面的设计5.1.4 登录页面的详细设计登录页面主要提供会员登录的功能,页面整体风格简明清新。鲜花网用户登录小框后面加了JS特效实现了图片轮播效果,用于美化页面。鲜花网用户登录小框上有登录表单,表单下方是登录按钮,而登录按钮下方有两个页面链接,分别链向首页和注册页面。其中注册页面和管理员登录页面与该页面相似,就不再画图说明。

35、详细设计如图5.4所示。图5.4 登录页面的设计5.1.5 个人信息修改页面的详细设计个人信息修改页面和主页不同点也在于导航栏和底部之间的部分。该部分的左边是鲜花小窝菜单,分别有信息修改、订单查询和退出。该部分的右边修改信息的表单及更改按钮。其中鲜花卖家后台管理页面、订单生成页面以及会员订单查询页面的布局与该页面相似,所以将不画图说明。详细设计如图5.5所示。图5.5 个人信息修改页面5.2 网站主要功能的详细设计5.2.1 关键字搜索的详细设计网站浏览者访问鲜花销售网站时,在搜索栏键入需要搜索鲜花的关键字后,点击搜索就可以执行。详细过程用流程图表示,如图5.6所示。图5.6 关键字搜索流程图

36、5.2.2 鲜花浏览的详细设计网站浏览者访问鲜花销售网站主页时,选择导航栏某一类别进入某一类别下的鲜花的浏览。在该页面下,浏览者可以选择上架时间、价格、销量对鲜花进行排序分页显示。在该页面可以选择自己心仪的花单击进入鲜花详细介绍页面,可以查看鲜花的详细信息,也可以选择加入购物车或者直接购买,如果浏览者未登录跳转至登录页面,否则操作执行,鲜花的下方有商品推荐,在主页下拉页面也可以看到热销商品。详细过程用流程图表示,如图5.7所示。图5.7 鲜花浏览的流程图5.2.3 购物车管理的详细设计网站浏览者浏览鲜花时看到心仪的鲜花,可以单击加入购物车。如果此时浏览者未登录则页面转到登录页面;已登录的会员成

37、功加入购物车,并且页面转入购物车页面,会员可以在该页面修改购物车里鲜花的数量、甚至删除某一鲜花。详细过程用流程图表示,如图5.8所示。图5.8 会员操作购物车流程图5.2.4 注册/登录/退出的详细设计未完成网站的注册的用户访问鲜花销售网站时选择注册功能,网站对注册信息有简单的验证。通过验证后,提示注册成功并且3秒跳转登录页面。详细过程用流程图表示,如图5.9所示。图5.9 注册会员流程图已经登录的会员,在鲜花小窝页面或者页面顶部单击“退出”,提示确认退出?确认,就成功退出。详细过程用流程图表示,如图5.10所示。图5.10 会员退出流程图已经注册完成的会员在输入用户名和密码,提交。通过网站验

38、证后成功登录,页面转入鲜花网站主页面。详细过程用流程图表示,如图5.11所示。图5.11 会员登录流程图5.2.5 会员修改个人信息的详细设计登录后的会员,在鲜花小窝选择“信息修改”,填写完信息并且提交。检查密码是否有空,若为空则提示不能为空;若不为空,检查输入信息是否合理,合理的话修改成功,并且退出登录,页面转入修改成功页面。同时提示3秒后跳转到登录页面。详细过程用流程图表示,如图5.12所示。图5.12 会员个人信息修改流程图5.2.6 订单管理的详细设计已登录的会员,在鲜花小窝页面选择“订单查询”,可以进行订单管理。订单的状态有“未付款”、“订单已取消”、“订单已移除”、“未发货”、“已

39、发货”、“已完成”和“用户已移除”七个状态。根据状态的不同,可以有不同的操作选择。订单的状态顺序有两条线:一条线是订单成功完成;另一条线是中途取消。所以订单基本流程是:先付款,再发货,最后签收完成买卖。而取消订单在付款前。所以在付款前,会员有查看、付款、修改和取消四个操作;如果选择取消选项处于订单已取消状态,会员可以进行查看和删除。付完款之后发货之前,会员有查看和修改选择。卖家发货之后,会员可以对查看该订单并且签收成功完成交易。订单完成之后,会员可以查看订单或者说不想看到该订单可以选择删除选项从自己的订单管理页面删除。详细过程用流程图表示,如图5.13所示。图5.13 会员相关订单操作流程图5

40、.2.7 鲜花卖家管理之鲜花管理详细设计已经登录后的鲜花卖家,在鲜花后台页面选择鲜花管理,转入鲜花管理页面。该页面分页显示鲜花信息。在该页面可以选择“下架”和“修改”对鲜花进行相应操作,同时在左边标题栏的右边的搜索栏输入关键还能搜索。选择左边标题栏中的新品上架,进入新品上架页面,录入鲜花的详细信息,检查录入信息是否为空,若不为空就上架成功。选择“鲜花类别”,可以对鲜花的类别进行添加、修改、删除的管理。在鲜花类别管理页面,鲜花卖家可以添加鲜花类别、删除鲜花类别和修改鲜花类别。添加鲜花类别在页面输入鲜花类别信息点击添加就行,修改鲜花类别单击修改弹出输入框输入提交,删除鲜花类别单击弹出提示框“该类别

41、下的鲜花均会删除,确认删除?”,单击确认该类别连同该类别下的鲜花都会被删除,所以需谨慎。详细过程用流程图表示,如图5.14所示。图5.14 鲜花卖家鲜花管理流程图5.2.8 鲜花卖家管理之订单管理详细设计鲜花卖家登录后选择订单管理,进入订单管理页面,该页面有已完成订单和未完成订单两栏。根据该订单状态会给卖家相对应的操作管理选项选择。详细过程用流程图表示,如图5.15所示。图5.15 鲜花卖家管理之订单相关流程图5.2.9 鲜花卖家管理之会员管理详细设计鲜花卖家登录后,单击鲜花后台管理页面的会员管理,进入会员管理的页面,可以实现分页浏览会员信息。在操作栏还可以单击“禁用”或者“解禁”操作,二者不

42、会同时存在,根据其状态显示。禁用就是禁止会员登录,解禁就是重新允许会员登录。详细过程用流程图表示,如图5.16所示。图5.16 鲜花卖家会员管理流程图5.3 鲜花网站业务逻辑架构设计视图层解决前台交互方面,控制层管理用户通过页面提交的请求,模型层处理业务逻辑。SSH2开发架构基本上体现了MVC的思想。SSH2的框架图如图5.17所示。图5.17 SSH2框架图Struts2用于响应处理用户通过视图层提交请求的工作,根据请求中的方法在Struts2的配置文件找到相对应的Action方法。最后又将处理结果根据Struts的配置文件找到相应的页面,将请求结果反馈给视图层。Spring是控制模型层的主

43、控制器,主要负责把请求配送到模型层中的不同模块中,同时也负责将需要返回的返回结果返回相应的视图层。Hibernate主要负责对象化映射以及和数据库中数据的交互,处理Dao的请求。根据它们不同的分工,SSH2的大致工作流程是这样的。当发现页面请求后,根据Struts的配置文件找到对应的Action及其方法。在Action实现的方法里调用Service层,又根据Service的方法实现中调用Dao层,然后在Dao层的实现中使用Hibernate实现数据持久化。然后根据返回结果在Struts的配置文件找到返回的页面。而在这个过程中,Spring主要实现的是依赖于注入功能控制模型层。根据MVC的思想搭

44、建网站框架,网站的工程图如图5.18所示。图5.18 网站的工程图第六章 鲜花销售网站的系统实现系统实现也是设计过程中最主要的一部分,也是比较难的部分,就是将网站功能进行页面实现和用代码实现,主要挑选几个主要功能进行详细的页面实现和代码的实现解释。6.1 鲜花销售网站主页的实现6.1.1 主页页面的实现根据页面的详细设计来实现页面。主页页面顶部导航背景颜色是灰色,其中购物车的前面还有一个小车的图标。搜索栏的文本框设置了placeholder属性,在没有输入内容之前文本框会有“输入关键字”的提示,输入内容后提示的内容消失。来导航栏背景颜色采用黑色,字体的颜色用白色。图片显示显示三张图来实现轮播。

45、详细如图6.1所示。图6.1 鲜花销售网站主页页面6.1.2 主页的主要实现代码主页主要就是为了显示导航条中搜索出全部鲜花类别的名称以及热销商品。Action里的 typeList()方法中关键代码如下:List flowertype=this.flowerService.findAllType();session.setAttribute(types, flowertype);String hql=from Flower f order by f.num DESC;Listflower=this.flowerService.findhotFlower(hql, 0, 11);ServletA

46、ctionContext.getRequest().setAttribute(hotf,flower);6.2 鲜花浏览的实现6.2.1 鲜花浏览页面的实现任意选择鲜花的类别进入鲜花分页浏览页面。如图6.2所示,基本结构与主页类似。该页面设置了每页显示鲜花的数量为12,这样就不会因为鲜花浏览页面过长而影响浏览者浏览时的心情。同时导航栏右下角有鲜花总数的显示,将显示的数量的字体做了斜体处理,看起来更加引人注意。而且当点击某一鲜花图片时,图片会向上小浮动并且该DIV块的边框颜色变为红色。图6.2 某一类别下的鲜花浏览6.2.2 鲜花浏览的主要实现代码该页面主要就是根据某一分类下的鲜花分页显示。Ac

47、tion里的flowerTodisplay()方法中的关键代码如下:FlowerType flowertype=this.flowerService.findByFlowerTypeId(ServletActionContext.getRequest().getParameter(id);/为了显示“鲜花”ServletActionContext.getRequest().setAttribute(flowertype,flowertype);String id=ServletActionContext.getRequest().getParameter(id);String hql=from

48、 Flower f where f.id=+id+;this.pageBean=this.flowerService.queryForPage(hql, 12, page);ServletActionContext.getRequest().setAttribute(pages,pageBean.getList();6.3 个人信息修改的实现6.3.1 个人信息修改页面的实现在鲜花小窝页面,选择“信息修改”转入个人信息修改页面,会员可以查看自己的详细信息。在该页面,“信息修改”用红色标注,使得会员清楚的知道自己现在浏览的页面是哪个,体现了用户界面友好原则。具体如图6.3所示。图6.3 个人信息

49、修改页面6.3.2 个人信息修改主要实现代码Action里的关键代码如下。if(!user.getPassword().equals(password2)addFieldError(username,两次密码输入不匹配);return input;/由于相同,该处省略了部分验证代码this.us.updateUserInfor(user);session.removeAttribute(user);6.4 购物车功能的实现6.4.1 购物车页面的实现当购物为空的时候,如图6.4所示,页面中间用一张在花丛中推着购物车奔跑的人的图片作为背景图,并提示购物车为空赶紧行动以及主页链接。这样的设计更符合

50、购物的主题。图6.4 购物车为空的实现而当购物车里有鲜花时,将购物车设计成类似表格的形式来显示购物车里的鲜花图片、名称、价格、数量和小计。这样的效果使会员可以更直接的知道自己购物车里有哪些鲜花。详细如图6.5所示。图6.5 购物车有鲜花的页面6.4.2 购物车部分功能的主要实现代码购物车主要就是加入鲜花、移除等操作。Action里添加关键代码:Flower flower=this.flowerService.findFlowerById(flowerId);ShopCart shopCart=(ShopCart) session.getAttribute(shopCart);if(shopCa

51、rt=null)shopCart=new ShopCart();session.setAttribute(shopCart, shopCart);shopCart.addFlower2Cart(flower, 1);Action里移除关键代码:ShopCart shopCart=(ShopCart) session.getAttribute(shopCart);shopCart.removeItem(flowerId);if(shopCart.getItems().size()=0)session.removeAttribute(shopCart);6.5 用户登录功能的实现6.5.1 登录页

52、面的实现登录页面背景图采用一组鲜花的图片来轮播。把登录框设置了透明度效果,里面的字体颜色设置成白色,使得背景图片和登录框有层次感。其中,注册页面的实现与之相似。效果如图6.6所示。图6.6 鲜花网用户登录页面6.5.2 登录功能的主要实现代码Action里实现关键代码:List u = us.login(username, password);DAO实现层:public List findUserByUsernameAndPwd(String username, String password) String hql=from User u where u.username=?and u.pa

53、ssword=? and u.satus=0;return (List)this.getHibernateTemplate().find(hql, new Objectusername,password);6.6 生成订单页面和代码的实现如图6.7所示,生成订单页面主体部分用form表单来填写订单的收件人、收件地址、联系方式和祝福。页面设置了重置的按钮,如果会员在填写信息时有多项填写有误就可以选择该按钮。而且收货地址的文本框设置了placeholder属性,再没有输入内容之前文本框里会有如何填写地址的提示。图6.7 生成订单页面生成订单就是将存储session域中购物车中的鲜花添加到订单中,其

54、中DAO实现层中用到了hibernate的级联保存,同时添加orders和orderItem两个表的数据。由于部分代码比较简单,所以在下面只放置关键代码。Action中的关键代码如下:ShopCart shopCart=(ShopCart) session.getAttribute(shopCart);o.setAllnum(shopCart.getTotalNum();o.setTotalprice(shopCart.getTotalPrice();List items=shopCart.getItems();/CartItem-OrderItem表List list=new ArrayLi

55、st();/订单明细列表for(int i=0;iitems.size();i+)ShopCartItem temp=items.get(i);OrderItem oi=new OrderItem();/生成一个订单明细对象oi.setFlowerId(temp.getFlower();/num=quantity,price=flower.getPrice,subtotal=costlist.add(oi);/添加一个明细元素o.setItems(list);this.ordersService.addOrder(o);session.removeAttribute(shopCart);6.7

56、 鲜花管理之新品上架的实现6.7.1 鲜花上架页面的实现如图6.8所示,新品上架页面左边用红色标注出“新品上架”,可以方便管理员知道自己在哪个页面。页面右方是添加鲜花时要填写的信息。页面设置了重置的按钮,如果管理员在填写信息时有多项填写错误就可以选择该按钮。图6.8 新品上架页面设计6.7.2 鲜花上架主要实现代码由于部分代码比较简单,所以在下面只放置关键代码,Action里的关键代码如下。String realPath=ServletActionContext.getServletContext().getRealPath(/images);String targetDirectory =

57、realPath;targetFileName1 =generateFileName(fileName);setDir1(targetDirectory+targetFileName1);File target1 = new File(targetDirectory,targetFileName1);tryFileUtils.copyFile(doc1,target1);catch(Exception e)e.printStackTrace();f.setImage(targetFileName1);总结这次设计是我大学四年里做过所有的课程设计里最努力、付出最多,同时也收获最多的设计。可能在别

58、的IT大神眼里简单到不行,但是对我来说能实现这些功能也花了不少心思和时间。从一开始的选题就不简单。不知道该写什么,脑子里什么灵感也没有。不过后来经过与褚燕华老师的交涉,我决定写一个有后台实现的鲜花销售网站。由于毫无头绪以及就业的压力,毕业设计在交完开题报告之后就被我拖拖拉拉的写着,直到3月底我才把Web静态页面全部完成。从三月初开始,我就开始写这些页面。但是由于遗忘太多,所以在写之前我还得先把学习过的web网页知识重新捡起。再加上还一面找着工作时不时我还得东奔西跑以至于写页面花费了不少时间。在后台编码的过程遇到的难题就更多了。一开始,我以为这部分应该很简单,因为上学期学习Java高级时褚老师给

59、了好多马士兵的关于Hibernate、Spring和Struts2三大框架的视频。我觉得跟着做就行了,应该不会很难的。刚开始,我一边听视频一边组合SSH2架构倒是挺简单的,但是中途也遇到不少困难。书到用时方恨少,那会我就有这种感觉。为了更好的完成毕业设计,我跟父母商量还是先把找工作的部分先放放。然后我就一门心思的都搁毕业设计上面。虽然过程并不美好,遇到难题的时候,百度、查阅资料、看看视频以及问问同学,慢慢的毕业设计也有了雏形,我自己也越来越自信了。足以见得,付出还是有所回报。通过这次毕业设计,让我学习了很多知识,这为我以后的工作提供很好的经验,这也将成为我迈向社会的第一步。同时这次毕业设计也培

60、养了我独立学习的能力,也树立对自己的信心。因为在这期间大部分人都出去实习或培训也没有什么人可以一起探讨问题,所以我就自己上网找资料或者找类似的代码进行钻研,然后把学到的知识融入自己的毕业设计中。同时我也发现自己所欠缺的东西还有很多。以前我总觉得编程不适合女生,因为女生的逻辑思维一般根本不擅长编程。但是现在,我才明白女生逻辑思维可能的确不及男生,但是经过后天的努力也是会有一定的成果。这次设计使我充分体会收获成功的喜悦,尤其是当一个难题被攻克的时候。虽然这个设计看起来很简单,但是在这过程中所收获知识,却是一笔巨大的财富会使我终身受益。学习是一个长期积累的过程,尤其是IT界,科技发展这么速度,学习是

61、不可避免的。参考文献1 张海藩. 软件工程导论(第五版)M,北京:清华大学出版社,2008,352 安博教育集团. Java web程序设计M,北京:电子工业出版社,2012,12-303 姜承尧. MySQL技术内幕:SQL编程M,北京:机械工业出版社,2012,2-104 刘中兵等. 精通Tomcat:Java Web应用开发、框架分析与组件配置、系统集成与案例实战M,北京:清华大学出版社,2007,3-105 李文泽. Java程序设计专家门诊M,北京:清华大学出版社,2006,12-176 计文柯. Spring技术内幕:深入解析Spring架构与设计原理(第二版)M,北京:机械工业出版社,2009,8-197 李刚. 轻量级JavaEE企业应用实战(第3版)M,北京:电子工业出版社,2011,13-238 孙淼等. SQL基础教程M,北京:人民邮电出版社,2014,28-309 李松峰等. JavaScri

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!