顾妍毕业论文2.doc

基于JAVA的鲜花销售系统

收藏

压缩包内文档预览:(预览前20页/共68页)
预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图
编号:149925898    类型:共享资源    大小:24.90MB    格式:RAR    上传时间:2021-10-10 上传人:好资料QQ****51605 IP属地:江苏
20
积分
关 键 词:
基于 JAVA 鲜花 销售 系统
资源描述:
基于JAVA的鲜花销售系统,基于,JAVA,鲜花,销售,系统
内容简介:
编编 号号无锡太湖学院毕毕业业设设计计(论论文文)题目:题目: 基于基于 JAVA 的鲜花销售系统的鲜花销售系统 信机 系系 计算机科学与技术 专专 业业学 号: 0921051 学生姓名: 顾 妍 指导教师: 李朝锋 (职称:副教授 ) (职称: ) 2013 年 5 月 25 日无锡太湖学院本科毕业设计(论文)无锡太湖学院本科毕业设计(论文)诚诚 信信 承承 诺诺 书书本人郑重声明:所呈交的毕业设计(论文) 基于 JAVA的鲜花销售系统的实现 是本人在导师的指导下独立进行研究所取得的成果,其内容除了在毕业设计(论文)中特别加以标注引用,表示致谢的内容外,本毕业设计(论文)不包含任何其他个人、集体已发表或撰写的成果作品。 班 级: 计 科 92 学 号: 0921051 作者姓名: 2013 年 5 月 25 日I无无锡锡太太湖湖学学院院信信 机机系系 计计算算机机科科学学与与技技术术 专专业业毕毕 业业 设设 计计论论 文文 任任 务务 书书一、题目及专题:一、题目及专题:1、题目 基于 JAVA 的鲜花销售系统 2、专题 二、课题来源及选题依据二、课题来源及选题依据课题来源:导师指定 选题依据:当前,随着互联网的渗透,人们的生活越来越离不开网络,伴随着互联网的发展,全球电子商务得以迅猛发展,以网站作为平台,进行信息交流,已经成为交流的一种手段。近年来网上购物成为一种流行趋势,网上花店突破了原有的销售模式,实现了对鲜花信息的浏览,检索,购买,订购,以及对鲜花销售系统的信息管理等功能。该系统能够很好的满足客户的需求,也为商家赢得更多的利润。在网上开花店,具有很多的优势:首先是成本,不需要太多昂贵的租金,花费浩大的装修费用。其次,网上花店面向全球,不再是封闭的状态,更容易开拓市场,体现了全球经济一体化。该系统能够较好地满足网上花店客户的基本要求,具有较高的实用价值。网上销售具有众多的优势,收入也很可观,吸引了越来越多的商家开始涉足网上销售,所以选择这个课题进行研究。 II三、本设计(论文或其他)应达到的要求:三、本设计(论文或其他)应达到的要求:所实现的网站应该包含鲜花的搜索功能:按鲜花名(模糊)查询。 完成用户的注册,登录功能 公告,用户浏览主页面可以看到公告信息 用户查看商品,可以留言,可以购买商品后,可以下订单 管理员登录,查看用户信息,添加产品,添加公告,添加类别,查看留言等 这个系统是 基于 B/S 模式结构,用户通过浏览器访问系统 四、接受任务学生:四、接受任务学生: 计科 92 班班 姓名姓名 顾 妍 五、开始及完成日期:五、开始及完成日期:自自 2012 年年 11 月月 12 日日 至至 2013 年年 5 月月 25 日日六、设计(论文)指导(或顾问):六、设计(论文)指导(或顾问):指导教师指导教师签名签名 签名签名 签名签名教教研研室室主主任任学科组组长研究所学科组组长研究所所长所长签名签名III 系主任系主任 签名签名2012 年年 11 月月 12 日日IV摘摘 要要20世纪90年代,计算机网络步入一个崭新的历史时代,这是一个因特网时代。现在人们的生活已经越来越离不开网络,全球的电子商务迅猛发展,以网站作为平台进行信息交流,已经成为一种越发流行的方式。本文是对鲜花销售系统的实现,该系统实现了销售的一些基本功能,实现了用户的管理系统,公告栏,留言管理,购物车管理,订单管理,管理员登录管理,产品管理,类别管理,类别产品管理等功能。这个系统不仅减少了人力成本,也减少了店面成本,为销售领域提供了一个全新的模式-网上销售模式。本文是用Java语言编写,MySql进行数据的存储,是对一个基于web的鲜花销售系统的实现进行了研究。首先对鲜花销售系统的研究背景,基本思想,发展前景以及发展趋势等一些理论知识进行了分析和研究,阐明了这个系统的可行性和必要性,然后对这个系统进行了需求分析和系统设计,探讨了鲜花销售系统的开发方法和实现技术。 关键关键词词:Java;MySql;Web;鲜花销售系统VAbstractIn the 1990s, computer network entered into a new era of history. Nowadays society is an era of Internet. Now, peoples life is closely related to the network. The global e-commerce is developing rapidly. The information exchange using website as a platform has become an increasingly popular way.This paper is used to implement the flowers sales system. The flowers sales system implements some basic functions. These functions include the user management system, bulletin boards, message management, shopping cart management, order management, the administrator login management, product management, category management, category product management and other functions. This system not only reduces labor costs, but also reduces the cost of store. This system offer people a new model in sales area -online sales model.This paper is written in Java language. This paper is in order to research a flower sales system based on web. First some theoretical of flowers sales system research background, the basic idea, the development prospects and trends is analyzed and researched in order to illustrate the feasibility and necessity of the system and this paper carry on the demand of the system requirement analysis and system design. Also the flowers sales system development methods and implementation technologies are discussed.Key words: Java; MySql; Web; flower sales systemVI目目 录录摘 要IIIABSTRACTIV目 录 V1 绪论11.1 课题来源与研究意义11.1.1 课题来源和背景11.1.2 课题的研究意义11.2 目前研究现状及存在问题11.2.1 国内外的研究现状11.2.2 存在问题21.3 课题的指导思想和应解决的问题31.4 本文主要内容32 相关原理与技术简介52.1 MYSQL SERVER 6.0 技术简介 52.2 JSP 简介102.3 STRUTS介绍 102.4 HIBERNATE介绍112.5 SPRING介绍122.6 SSH整合框架中,STRUTS,HIBERNATE,SPRING的好处122.7 MYECLIPSE的简介 132.8 AJAX介绍 132.9 APACHE TOMCAT 6.0 服务器133 鲜花销售系统的系统分析153.1 系统可行性分析153.1.1 技术可行性153.1.2 经济可行性153.1.3 操作可行性163.1.4 法律可行性163.2 系统需求分析163.2.1 数据流分析163.2.2 系统功能需求173.2.3 系统性能需求173.2.4 系统运行需求174 系统总体设计194.1 系统总体设计思想194.2 系统模块设计19VII4.2.1 系统功能分析194.2.2 系统流程图194.2.3 系统模块结构图214.3 数据库设计234.3.1 数据库概念结构设计234.3.2 数据库逻辑结构设计264.3.3 数据库中的表的设计264.4 本章小结285 鲜花销售系统的实现295.1 系统对数据库的访问295.2 系统前台用户注册功能的实现305.3 系统前台用户登录功能的实现335.4 用户主页面浏览模块的实现345.5 左侧类别查询功能实现375.6 购物车模块385.7 订单功能实现395.8 管理员登录425.9 后台主界面435.10 后台信息管理435.11 本章小结486 系统测试496.1 测试的目的496.2 白盒测试496.3 黑盒测试497 结论与展望517.1 结论517.2 不足之处及未来展望51致 谢53参考文献54基于 java 的鲜花销售系统11 绪论绪论1.1 课题来源与研究意义课题来源与研究意义1.1.1 课题来源和背景课题来源和背景当前,日益蓬勃的信息时代,使得地球变成了一个地球村,人们之间联系越来越紧密。随着信息技术的不断发展,网络与人们的生活息息相关,比如电子商务,信息的发布与检索,个人通信,家庭娱乐等等,都离不开网络。电子商务作为一个新兴的商务形式,给世界经济带来了一个全新的概念,人类的生活方式也由此而发生重大的变革。电子商务以高效率、低成本、通信快、竞争公平、全天候的服务等众多的优点,收到了各国的喜欢,发展势头十分的强劲。从企业的角度出发,电子商务是基于计算机软硬件、网络通信等的经济活动。它以因特网、内联网和外联网作为载体,是企业有效地完成各项经营管理活动,并协调企业之间的商业贸易和合作关系,发展和加深个体消费者与企业之间的联系,最终降低产、供、销的成本,增加企业利润,开辟新的市场1。对个人而言,电子商务的发展对人们的生活方式产生了深渊的影响6。网上购物可以使人们足不出户就能实现交易的全过程,网络搜索功能可以方便的让客户货比多家。同时,消费者将能以一种轻松、自由的自我服务方式来完成交易,从而使用户对服务的满意度大幅度的提高。随着我国经济的飞速发展,国民的生活水平有了很大的提高,各个城市的人员流动很大。每逢佳节倍思亲,在节假日,过生日等等,都会赠与鲜花来表达自己的情感。以前,人们要到实体店去挑选购买鲜花,然后到邮局去邮寄,是一件挺费时费力的事情。后来出现了电话购买,但人们不能直观的看见鲜花,不知道具体好不好看,只听见店主的描述,而且打电话很贵。比较而言,网上鲜花销售,顾客可以在网上花店随时浏览鲜花信息,直观,清晰。再者,实体店,租金很高,商家的营销难,成本高。商家一般通过电视广告或者发传单来让人们了解所售的鲜花。而网上花店的公告可以登出各种促销的信息,方便浏览的顾客知道。商家只需要一台主机,申请一个域名,变可以开办网上鲜花了1。总而言之,网上鲜花销售使得商家销售成本更低,销售的渠道更宽广,在全国这个大市场,甚至于全球,都可以销售鲜花,更容易实现自己的买卖了。而对于消费者而言,这个系统的应用使得人们不用东奔西跑就可以买到鲜花,只需要上网搜索浏览鲜花,最后选中喜欢的购买即可,以后的生活里,这个系统必然会真正融入人们的生活中1。1.1.2 课题的研究意义课题的研究意义现代社会,电子商务方兴未艾。经济全球化的今天,信息技术的高速发展,电子商务基于计算机互联网的技术快速发展,现在已经应用到经济领域了,给人们的生活方式带来重大的改变。网上鲜花销售系统就是电子商务的一个典型的案例,首先,这个系统使得用户们足不出户就能够买到自己想买的鲜花,更加的便捷高效,其次,这个系统大大降低了商家的销售成本,而且扩大了销售市场,让商家赚的更多了。无锡太湖学院学士学位论文21.2 目前研究现状及存在问题目前研究现状及存在问题1.2.1 国内外的研究现状国内外的研究现状在国外,在美国,从1991年,互联网就开始了商业化的进程,任何规模的企业都能够负担起电子商务活动的费用。银行里的资金转账技术,企事业间的数据交换技术,产生了早期的电子商务。信用卡,自动取款机,零售业的销售终端技术的发展,网络通信技术和安全技术的发展,推动了网上持卡购物与企业间网上交易的飞速发展。在美国,电子商务交易中,1996年为7亿美元,1997年为244亿美元,1998年为430亿美元,1999年达到1800亿美元,2000年达到3000亿美元。在日本,1998年,日本的B2电子商务的规模约为9兆日元,据日本通产省预测,2003年底,日本的电子市场规模可达到690兆日元,平均年增长为50%。亚洲的电子商务2000年将达到84亿美元。每年以超过2倍的速度在增长,到2003年达到480亿美元。欧盟成员中B2B互联网交易有望在2004年达到13000亿美元,占整个欧盟国名生产总值的12.9%。故居IDC电子商务研究中心1999年11月最新预测,2000年全球电子商务的营业额将达到5070亿美元,2001年全球电子商务的营业额将达到10000亿美元,2003年,全球电子商务的营业额将达到28000亿美元2。在我国,从1995-1996年,电子商务概念引进之后,我国政府及信息化主管部门的大力辅佐下,电子商务的发展经历了3个阶段。第一阶段:认识电子商务。我国政府,商贸企业以及金融界认识电子商务可以使得商务交易过程中更加快捷,高效,低成本,肯定电子商务是一种全新的商务模式。第二阶段,广泛关注电子商务阶段。电子商务在全球范围取得了迅猛的发展,引起了各界的广泛重视,在我国掀起了一股电子商务热潮。1998年,被成为中国的“电子商务”。政府,商家都意识到电子商务的兴起,既是面临机遇也是面临诸多的挑战。发展电子商务需要政府的推动和企业的积极参与,需要完善的信息基础设施,要有安全可靠的保障措施,需要建立必要的法律和技术标准,要克服文化障碍,提高消费者在网上购物的意识。第三阶段,应用发展阶段。在这个阶段中,国家主管部门开始制定中国电子商务法杖的有关政策法规,启动政府上网工程,成立国家计算机网络与信息安全中心,开展多项电子商务示范工程,为实现企业与政府的电子商务奠定了基础。据信息产业部调查统计,我国电子商务领域显示,高速发展的态势,截止到今年的第一季度,中国消费类电子商务网站1100多家,主要是B2C到网站,其中综合商城占36%,图书类占14%,礼品类占12%,还有电脑通信,音箱制品,服装,医疗保健和家用电器等商品网站。1999年网上购物总交易额为660万美元,占社会零售总额的0.018%2。1.2.2 存在问题存在问题我国虽然得电子商务方面做了大量有益的工作,但这些只能算是电子商务初级阶段的一些尝试,还不能说是真正意义上的电子商务活动。从某个意义上说,我国的电子商务的发展,尚停留在对安全,加密,认证,法律等技术手段和标准规范是否成熟可靠的讨论上。中国不仅需要解决全球电子商务发展过程中所遇到的共性问题,而且还要解决一系列特有的问题:公众购物观念落后于商务模式。首先很多人的传统购物习惯是一手交钱一手交货,而且从网上购物等待时间太长,认为购物不方便,其次,对网上的商品缺乏安全感。基于 java 的鲜花销售系统3国内计算机信息网络运行质量差,网络基础设施不够完善。这几年,虽然计算机网络发展较快,但无论是网络技术还是网络管理,信息内容,技术标准,资费水平,通信速度和安全上都存在较大的差距,影响了网络的继续扩大。企业信息化普及率低。在15000家左右国有大中型企业中,大约只有10%的基本实现了企业的信息化,大约有70%左右的企业拥有一定的信息手段。网络安全和保密措施不足。网上交易的安全性是发展电子商务的重要因素之一,这对电子商务尤为重要。随着互联网的逐渐发展成为电子交易的最佳载体,必须在本质上对其进行重新设计,使其满足商业交易的安全性,这包括防火墙,认证,加密,防黑客,防抵赖等技术方面:即信息传送着和接受者的确认,保证信息在传输过程中未经篡改,保护敏感信息的隐私权等。网上支付尚未正真解决。电子商务的进行需要支付与结算的手段。因此需要高质,高效的金融服务以及电子化的配合。目前我国金融服务的水平和电子化程度不高,信用卡应用在我国尚不普及,网上支付很大程度上阻碍了我国电子商务发展的进程。中国缺乏电子商务发展的额法律环境。电子商务的发展,应当遵守国家的有关法律法规和安全管理制度,信息立法通常落后于信息技术应用。目前,我国的信息化政策,特别是发展电子商务有关的政策还不够明朗,修订有关的传统商业贸易的法律法规工作进展缓慢,相应的标准、法律、法规很不健全,开展国际电子商务立法合作协调不够,跨部门,跨地区的协调存在较大问题2。1.3 课题的指导思想和应解决的问题课题的指导思想和应解决的问题需要充分了解网上花店的工作流程和事务,充分掌握三大框架整合的用法,十分熟悉jsp页面技术,能很好的掌握MySql数据库的使用方法。使的这个鲜花销售系统能够是用户体验好,主页面的设计要到位,使用户一进入这个网站就能够喜欢这个系统。其次,在用户购买商品,产生订单要很容易完成,要简便。在后台管理员操作时,应遵循操作简便,容易,上手快的原则,这样的系统才令用户喜欢。1.4 本本文主要内容文主要内容本系统是一个基于BS结构的鲜花销售系统,是用java语言编写的。前台是顾客通过填写信息,来注册自己的账号,通过邮箱验证后,注册便成功。点击浏览主页,来浏览鲜花销售系统的页面,可以查看公告栏获取最新的产品信息以及折扣信息。购买看中的鲜花,如果未登入,会跳到登录的页面,进行用户登录。将商品放入购物车,在购物车里更改鲜花的数量,可以删除购物车里的商品,也可以恢复购物车里的商品,确定购买后,确认订单,填写送货地址,生成订单,付款,即可完成鲜花的购物。在后台管理界面,管理员通过登入后进入管理主页面,可以对用户,产品,类别,类别与产品关系,公告栏,留言板,订单进行管理。无锡太湖学院学士学位论文4基于 java 的鲜花销售系统52 相关原理与技术简介相关原理与技术简介2.1 MySQL Server 6.0 技术简介技术简介MySQL是一个关系型数据库管理系统,由瑞典的MySQL AB公司开发,目前属于oracle公司。MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有的数据放在一个大仓库内,这样就增加了速度并提高了灵活性。MySQL的SQL语言是用于访问数据库的最常用的标准化语言。MySQL软件采用了双授权政策,分为社区版和商业版,由于其体积小,速度快,总体拥有的成本低,尤其是开放源码这一特点,一般中小型网站的开发都会选择MySQL作为网站数据库。由于其社区版的性能卓越,搭配PHP和Apache可组成良好的开发环境3。MySQL最初的开发者的意图是用mSQL和他们的快速低级例程(ISAM)去连接表格。经过一些测试以后,开发者得出的结论是:mSQL并没有他们需要的那么快和灵活。这导致了一个使用几乎和mSQL一样的API接口的用于他们的数据库的新的SQL接口的产生,这样,这个API被设计成允许为用于mSQL而写的第三方代码更容易移植到MySQL中。与其他的大型数据库,例如oracle,db2,sql Server等相比,MySQL自有它的不足之处,如规模小,功能有限(MySQL Cluster的功能和效率都相对比较差)等,但这丝毫也没有减少它受欢迎的程度。对于一般的个人使用者和中小型企业来说,MySQL提供的功能已经绰绰有余,而且由于MySQL是开房源码软件,因此可以打打降低总体拥有的成本4。MySQL Server 6.0的系统特性:使用C和C+编写,并使用了多种编译器进行测试,保证源代码的可移植性。支持AIX、FreeBSD、HP-UX、Linux、Mac OS、NovellNetware、OpenBSD、OS/2 Wrap、Windows等多种操作系统。为多种编程语言提供了API。这些编程语言包括C、C+、Python、Java、PHP、Ruby等。支持多线程,充分利用CPU资源。优化的SQL查询算法,有效地提高查询速度。既能够作为一个单独的应用程序应用的客户端服务器网络环境中,也能够作为一个库而嵌套在其他软甲中。提供多语言的支持,常见的编码有中文的GB2312、BIG5,日文的Shift_JIS等都可以做数据表名和数据列名。提供TCP/IP、ODBC、JDBC等多种数据库连接的途径。提供用于管理、检查、优化数据库操作的管理工具。支持大型数据库,可以处理拥有上千万条记录的大型数据库。支持多种存储引擎。MySQL Server 6.0的应用架构:单点(Single),适合小规模应用无锡太湖学院学士学位论文6复制(Replication),适合中小规模应用集群(Cluster),适合大规模应用MySQL Server 6.0的安装过程:双击安装程序源文件后,如图2.1所示:图2.1 系统流程图默认安装 (注意:勾选Configure the MySql Server now),如图2.2所示图2.2 系统流程图基于 java 的鲜花销售系统7配置MySQL服务器默认一直点击 “next”,如图2.3所示图2.3 系统流程图注意在选择“默认编码集”的时候,点选默认的编码集为“UTF8”,如图2.4所示图2.4 系统流程图默认,如图2.5所示无锡太湖学院学士学位论文8图2.5 系统流程图注意输入密码,演示密码为“root”,如图2.6所示图2.6系统流程图点击 “Execute”执行,如图2.7所示基于 java 的鲜花销售系统9图2.7 系统流程图点击 “Finish”完成,如图2.8所示图2.8 系统流程图MySQL Server 6.0的简单使用:查看数据库:show databases ;使用某个数据库: use test ;查看该数据库所拥有的表: show tables ;无锡太湖学院学士学位论文10建立新数据库:create database guyan ;或者create database guyan default character set utf8 ;查看表的所有数据:select * from 表名 ;删除表中的数据:delete from 表名 where 条件建表:user guyan ;create table t_guyan(id bigint primary key auto_increment, /主键 自增长name varchar(50) unique, / 唯一约束salary double,age int ) ;2.2 JSP 简介简介jsp是sun公司指定的一种服务器端动态页面生成技术的规范,以前直接使用servlet,虽然也可以生成动态页面,但是过于繁琐,并且不利于代码的维护(比如要修改的页面,必须要修改java源代码),所以,sun公司制定了一种更见简单的动态页面生成技术规范,即jsp。jsp全名java server page,其根本是一个建华的Servlet的设计,实现了html语法中java的扩张。Jsp和servlet一样,是在服务器端执行的,通常返回给客户端的就是一个HTML文本,因此,客户端只要有浏览器就能浏览。Web服务器在遇到访问jsp网页请求时,首先,执行其中的程序段,然后将执行结果联通jsp文件中的html代码一起返回给客户端。插入的java程序可以操作数据库,重定向等,以实现建立动态网页所需要的功能5。使用jsp,只需要写一个以.jsp为后缀的文件,在该文件当中,直接写html(css,js),以及少量的java代码即可,容器会将.jsp文件转换成一个对应的servlet,然后调用该servlet的方法。2.3 struts 介绍介绍在javaEE的Web应用发展的初期,除了使用Servlet技术以外,普遍的在javaServerPage(jsp)的源代码中,用HTML与java代码混用的方式开发,不可比main的要把表现与业务逻辑代码混合在一起,都给前期开发与后去维护带来了巨大的复杂杜。蔚蓝摆脱这种现状,把业务逻辑代码从变现曾中清晰的分离出来,2000年,Craig McClananahan采用了MVC的设计模式开发了Struts。后来该框架产品一度被认为是最广泛、最流行的Java的Web应用框架6。Struts这个名字,来源于建筑和旧式飞机中使用的指出金属架。它的目的是为了减少在运用MVC设计模型来开发Web应用的时间。种种框架简单小巧,其中最成熟的版本是Struts1.2。之后出现了WebWork框架,其实现技术比Struts1先进,但影响力不如Struts1。2006年,WebWork与Struts这两个优秀的javaEE web框架的开发团体,共同开发了一个新的整合了WebWork和Struts优点,并且更加优雅、扩展性更强的框架,命名为“Struts2”,原Struts1.x版本产品称为“Struts1”。所以,Struts项目并行提供与维护两个主要版本的框架产品-Struts1与Struts2。Struts跟Tomcat等诸多Apache项目一样,是开源软件,能使开发者恩那个更深入的了解其内部实现的机制。Struts框架是MVC设计模式的实现,基于Struts开发可以简化开发难度,提高开发效率。MVC是一种设计思想,根据职责不同基于 java 的鲜花销售系统11将程序中的组件分成以下3个部分:V(View视图):负责与用户交互。将数据展现,或者是接收数据M(Model模型):负责业务处理。业务模型,数据模型C(Controller控制器):负责协同模型和视图工作。视图有请求调用模型处理,模型处理完毕调用视图响应。MVC是一个非常优秀的设计思想,基于该思想架构程序,可以提高程序的结构灵活性,便于日后维护、扩展和升级。Struts2 详细工作流程:浏览器发出 welcome.action 请求请求到达 Struts 的 Filter 控制器(由于 web.xml 配置)Struts 控制器判断请求类型,如果是/welcome.action 或/welcome 格式请求,将调用struts.xml 配置,寻找对应的 Action 组件调用 Action 组件的 execute 方法处理请求,最后返回一个 String 视图标识Struts 控制器根据视图标识寻找相应的 JSP(struts.xml 中 result 配置)调用 JSP 视图生成响应界面给浏览器显示。Struts2 控制流程:请求到来创建 ValueStack(Action 放栈顶),进行初始化调用拦截器 Interceptor,在拦截器中是可以访问 ValueStack 的调用 Action,执行 execute()方法调用 Result,Result 负责把数据显示给用户最后到页面,通过标记库(Taglib)取出数据Struts2 中常用的集中 Result 组件:JSP 响应dispatcher :采用请求转发方式调用 JSP 组件响应。redirect:采用请求重定向方式调用 JSP 组件响应。 (在重定向后,原 request 和 action都被销毁掉,因此在 JSP 获取不到值)Action 响应redirectAction:采用重定向方式发出一个*.action 请求chain:采用转发方式发出一个*.action 请求流响应典型功能:验证码和下载。stream:可以将 Action 中的一个 InputStream 类型属性以流方式响应输出。JSON 响应负责对 Ajax 请求进行数据响应。可以将 Action 中的一个属性或多个属性以 json 格式响应输出 (注意:使用前需要引入 struts-json-plugin.jar,然后将元素的 extends设置成json-default)。无锡太湖学院学士学位论文122.4 Hibernate 介绍介绍Hibernate 是一个数据库访问框架,用于实现对数据库的增删查改操作。使用Hibernate 框架可以简化数据库访问操作,要程序员将更多的经历放在业务层编写上。使用 Hibernate 框架可以解决以上问题。 原有 JDBC 操作数据库存在一些问题,主要有以下几个方面:需要编写大量复杂的 SQL 语句需要设置大量的 SQL 参数或者将 ResultSet 取值封装成实体对象当数据库移值时,需要修改部分 SQL 语句和操作ORM(Object Relation Mapping)对象关系映射。意思是将程序中的实体对象和关系数据库表中的一行记录进行映射。这样在程序中使用该工具就可以将一个对象写入数据表,或者将数据表记录自动封装成一个对象返回。 (这个也是 Hibernate 实现的原理)7。Hibernate 的几个核心接口:Configuration 类:Configuration 用于配置并启动 Hibernate。SessionFactory 接口:一个 SessionFactory 对应一个数据源,它是个重量级对象,不可随意生成多个实例。它是线程安全的,同一个实例可以被应用中的多个线程共享。Session 接口:Session 接口是 Hibernate 应用中使用最广泛的接口了,它是持久化管理器,提供添加、更新、删除、加载、查询对象。Session 不是线程安全的,所以应避免多个线程共享同一个 Session 实例。Session 是轻量级对象,它的创建和销毁不需要太多资源,这意味着在应用中可以经常创建和销毁 Session 对象。Transaction 接口:Transaction 是 Hibernate 的数据库事务接口,它对底层的事务接口进行了封装。Query 和 Criteria 接口:这两个是 Hibernate 的查询接口,用于向数据库查询对象,以及控制执行查询的过程。Hibernate中主键生成方式有:identity,sequence,native,increment,assigned。2.5 spring 介绍介绍Spring 框架提供了一个容器,该容器可以管理应用程序的组件,还提供了 IoC 和 AoP机制,实现组件之间解耦,提高程序结构的灵活性,增强系统的可维护和可扩展性。在 SSH 整合开发中,利用 Spring 管理 Service、DAO 等组件,利用 IoC 机制实现 Action和 Service,Service 和 DAO 之间低耦合调用。利用 AoP 机制实现事务管理、以及共通功能的切入等。功能是整合,好处是解耦。IoC(Inverse of Controller,控制反转) 8。控制权:A 调用 B 组件,可以说成 A 组件拥有控制权。控制权可以代指对象的创建、初始化、销毁等操作。 控制反转:是将控制权转移,转移给第三方(Spring 容器) ,当需要改变对象关系时,只需要修改 Spring 容器注入配置即可。IoC是一种思想,Spring框架通过DI(依赖注入:setter注入和构造方法注入)技术实现了控制反转。基于 java 的鲜花销售系统132.6 ssh 整合框架中,整合框架中,struts,hibernate,spring 的好处的好处 Struts 是一个很好的 MVC 框架,主要技术是 Servlet 和 Jsp。Struts 的 MVC 设计模式可以使我们的逻辑变得很清晰,让我们写的程序层次分明。基于 Struts 开发可以简化开发难度,提高开发效率。Spring 提供了管理业务对象的一致方法,并鼓励注入对接口编程而不是对类编程的良好习惯,使我们的产品在最大程度上解耦。Hibernate 是用来持久化数据的,提供了完全面向对象的数据库操作。Hibernate 对JDBC 进行了非常轻量级的封装,它使得与关系型数据库打交道变得非常轻松。在 Struts+Spring+Hibernate 系统中,对象之间的调用流程如图 2.9 所示:图2.9 系统流程图2.7 MyEclipse 的简介的简介MyEclipse企业级工作平台(MyEclipse Enterprise Workbench,简称MyEclipse)是对Eclipse IDE的扩展,用户可以利用它在数据库和J2EE的开发,发布及应用程序服务器的整合方面极大的提高工作效率。MyEclipse是功能丰富的J2EE集成开发环境,包括了完备的编码,调试,测试和发布功能,完整支持HTML,CSS,JavaScript,JSP,Struts,Hibernate.Sql等9。简而言之,MyEclipse是Eclipse的插件,也是一款功能强大的J2EE集成开发环境,MyEclipse6.0以前的版本需要先安装Eclipse,MyEclipse6.0以后的版本安装时则不需要安装Eclipse。当前,较为流行的是MyEclipse8.5版本,下面将以MyEclipse8.5为例,说明其安装过程。单击MyEclise8.5的安装文件,myEclise-8.5-win32.exe,安装文件开始自解压过程。解压文件后,进入安装向导的第一个界面,如图1-15所示,单击next按钮进入安装向导。在接受协议许可界面中选择I accept the terms of the license agreement 复选框,单击next按钮进入下一向导界面,若取消安装则单击Cancel按钮。在界面中设置MyEclipse的安装路径及通用路径,若要改变其默认路径可单击Browse按钮,在弹出的对话框中进行路径修改。单击next按钮进入下一个向导界面,确定安装路径后单击Install按钮进入安装过程,安装结束后,显示MyEclipse的启动界面。2.8 Ajax 介绍介绍ajax是asynchronous javascript and xml(异步的javascript和xml)的缩写,是为了解决传统的web应用当中 “等待-响应-等待”的弊端而创建的一种技术,以前传统的web应用中,比如注册,用户填写完整个注册信息,然后提交,此时,浏览器会将整个注册页面抛弃掉,等待服务器返回一个新的完整的页面,在等待的过程当中,用户不能够做其他的操作,无锡太湖学院学士学位论文14服务区生成新的页面发送给浏览器,浏览器需要重新解析这个页面生成相应的界面。现在这个技术是使用浏览器内置的一个对象(XmlHttpRequest)向服务器发送请求,服务器返回xml数据或者是文本数据给浏览器,然后再浏览器端,使用这些数据更新部分页面,整个过程中,页面没有任何的刷新,响应比较的快10。2.9 Apache TomCat 6.0 服务器服务器TomCat服务器是一个免费的开放源代码的web应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试jsp程序的首选。对于一个初学者来说,可以这样认为,当在一台机器上配置好的Apache服务器,可利用它响应对html页面的访问,实际上,TomCat部分是Apache服务器的扩展,但它是独立运行的,所以当运行tomcat时,实际上作为一个与Apache独立的进程单独运行11。基于 java 的鲜花销售系统153 鲜花销售系统的系统分析鲜花销售系统的系统分析3.1 系统可行性分析系统可行性分析 3.1.1 技术可行性技术可行性本系统是一个基于 web 的网上鲜花销售系统,是一个基于 B/S 架构的软件应用系统。B/S(Brower/Server,浏览器/服务器)模式,又叫做 B/S 结构。随着互联网技术的发展,B/S模式是对 C/S 模式应用的扩展。使用这种现在比较流行的结构,用户的工作界面,是通过浏览器来实现的。B/S 模式最大的好处是运行比较的简便,适合不同的人员,不同的地点。B/S 模式的最大的特点是:用户通过 www 的浏览器可以访问到互联网上的文本、图像、动画、视频、声音等信息,这么多的信息,都是从 Web 服务器上面产生的。而每一个 web 服务器通过各种方式的连接与数据库服务器相连,大量的数据都是放在数据库上面的。客户端通过 www 浏览器,只要从 web 服务器中下载程序到本地来执行,在下载途中遇到与数据库有关的指令,转交给数据库服务器来解释执行,并返回给 web 服务器,web 服务器又返回给用户。这样,将许许多多的连接到一块,形成一个巨大的网就全球网12。本系统化采用三大框架整合的方式开发这个鲜花销售系统。首先,Struts 是一个很好的 MVC 框架,Struts 的 MVC 设计模式可以使我们的逻辑变得很清晰,让我们写的程序层次分明,基于 Struts 开发可以简化开发难度,提高开发效率。然后,Spring 提供了管理业务对象的一致方法,并鼓励注入对接口编程而不是对类编程的良好习惯,使我们的产品在最大程度上解耦。最后 Hibernate 是用来持久化数据的,提供了完全面向对象的数据库操作。Hibernate 对 JDBC 进行了非常轻量级的封装,它使得与关系型数据库打交道变得非常轻松。页面技术上,是用 jsp。Jsp 是 sun 公司指定的一种服务器端动态页面生成技术的规范,以前直接使用 servlet,虽然也可以生成动态页面,但是过于繁琐,并且不利于代码的维护(比如要修改的页面,必须要修改 java 源代码) ,所以,sun 公司制定了一种更见简单的动态页面生成技术规范,即 jsp。使用 jsp,只需要写一个以.jsp 为后缀的文件,在该文件当中,直接写 html(css,js),以及少量的 java 代码即可,容器会将.jsp 文件转换成一个对应的 servlet,然后调用该 servlet 的方法。该系统采用 MySql 服务器存储数据。MySql 是一种开放源代码的关系型数据库管理系统。是最常用的数据库管理语言结构化查询语言进行数据库管理。速度快,可升级性好,简单性高,价值高,可移植性好。这个数据库稳定性好,加上强大的分析查询,存储功能好,非常满足这个系统的使用。无锡太湖学院学士学位论文16 3.1.2 经济经济可行性可行性这个系统的总体花费很低,首先人工成本,是本人自己开发的,不用付工资,其次,在软硬件这些开发工具上,现在是在具备成熟的软硬件环境,在软件上面的花费很有限,以后买个域名就能挂在网络上,供人们浏览网页了。在硬件方面,这个系统的分析和开发只使用一台笔记本,硬件的投资几乎没有,最后的调试也是在这台笔记本上。总之,这个系统的总体的开销很少。而这个系统完成后,为商家开拓了市场,买家增多了,就能为商户增加很多额外的收入,其次不用付很多的房租,节省了一大笔的开销,赚的更用了,综合来看,这个系统在经济上是值得的。 3.1.3 操作操作可行性可行性这个系统有良好的界面,设计方面考虑也很周全,使得用户的体验非常好,操作十分简单。只要是能够使用电脑浏览网页的广大用户们,都可以使用这个系统,我相信会被越来越多的人喜欢。所以,这个系统的开发也是可行的。 3.1.4 法律法律可行性可行性本系统是由我本人自己设计开发,在法律上没有侵犯他人的权利,无需承担任何法律责任,所以在法律方面,这个系统是完全可行的。3.2 系统需求分析系统需求分析 3.2.1 数据流分析数据流分析当数据在软件系统中流动时,它将被一系列“变换”所修改。数据流图(DFD)是一种图形化技术,它描述信息流和数据从输入移动到输出的过程中所经受的变换。在数据流图中没有任何具体的物理部件,只是描绘数据在软件中流动和被处理的逻辑过程。数据流图是系统逻辑功能图形表示。数据流程分析主要针对信息的流动,传递,处理和存储等分析。数据流程分析的目的是为了发现和解决数据流通过程中的问题。通过分层的数据流程图(data flow diagram,简称DFD)来对数据流程进行分析。具体的做法是:根据业务流程图理清流程顺序,将调查过程中掌握的相关的数据进行处理,最后绘制成一套完整的数据流程图13。对于本系统来说,管理员将花店的各种信息写入到数据库中,同时,对数据库里面的数据可以添,删,改。用户注册信息,用户登录信息,类别信息,产品信息,类别产品信息,留言信息,公告信息,订单信息等在整个过程中,涉及到用户信息的管理,查询处理,订单处理,产品管理,购物车等相关的处理。这里的数据文件有用户表,收货地址表,订单表,商品条目表,类别表,产品表,产品类别表,公告表,留言表等。鲜花销售系统的基本数据流图如图3.1所示:基于 java 的鲜花销售系统17访问存储鲜花销售系统用户数据库管理员图3.1 系统流程图 3.2.2 系统功能需求系统功能需求用户可以直接浏览主页面用户可以在主页面中,选择注册或者登录,注册好的用户才能登录用户可以查询自己需要的鲜花,根据鲜花的名字查询用户在可以根据类别来查找鲜花用户购买后,鲜花将被放入购物车,用户可以查看购物车里的鲜花购物车里,用户可以删除购买的商品,也可以恢复删除的商品购买后,用户确认订单,填写送货地址,生成订单用户付款,等待送货管理员登录后台,进行信息管理。用户信息管理,可以查看所有用户,可以删除用户。产品信息管理,管理员可以查看所有产品信息,添加产品,可以删除产品,可以修改产品。类别信息管理,管理员可以查看所有类别信息,可以添加类别,可以删除类别,可以修改类别。类别产品关系管理,管理员可以查看所有的类别和产品关系,添加关系,删除关系,修改关系。公告管理,管理员可以查看公告信息,可以删除公告,可以添加公告。订单管理,管理员可以查看所有的订单,根据订单,给用户发货。留言管理,管理员可以查看所有的留言,可以删除留言。 3.2.3 系统性能需求系统性能需求准确性,及时性:在性能上,保证系统的相应结果是正确的,相应时间是用户可以接受的。简便性。这个系统是让用户来使用的,所有的用户对计算机的熟悉程度不同,这个系统必须使得会使用电脑的用户,都能够操作容易简便,使用户体验有好。无锡太湖学院学士学位论文18 3.2.4 系统运行需求系统运行需求在硬件方面:酷睿 i3 CPU,2GBRAM,500G硬盘的笔记本。在软件方面:windows7,mySQL Server 6.0,apache-tomcat-6.0.26基于 java 的鲜花销售系统194 系统总体设计系统总体设计 4.1 系统总体系统总体设计思想设计思想用户可以先注册自己的账号,然后登录进入主页面进行浏览鲜花,也可以先浏览主页面,在主页面中选择注册或登录,在主页面中可以搜索自己所需的鲜花,也可以在左侧的类别框里查询自己想要的鲜花,在中间,有推荐的鲜花,热销的鲜花,最近上架的鲜花,右侧是公告栏,可以查看最新花店发布的信息。可以查看鲜花的具体信息,点击购买后进入购物车里,可以查看所购买的鲜花,也可以删除不想要的,可以恢复已经删除的鲜花,点击结算后进入订单模块,先确认这些商品,然后填写送货地址,就生成订单了,付款,等待发货就行。在后台,管理员登录,进入主页面对用户,产品,类别,产品类别,留言,公告,订单进行管理,进行相应的增删查改。4.2 系统系统模块设计模块设计4.2.1 系统功能分析系统功能分析通过认真的分析了网上花店的需求和结合了网上花店的实际情况,得出了整个系统有前台和后台两大模块,具体有以下几个功能。用户注册,用户在没有注册时在主页面上浏览,但必须注册,登录后才能进行结算。用户登录,用户登录后进入主页面进行浏览,可以购物商品,可以下订单,鲜花主页面浏览,有搜索功能,是模糊查询。左侧是类别,可以根据类别查询产品,中间是推荐鲜花,热销鲜花,最新上架鲜花,右侧是公告栏。购物车,在购物车里,可以查看购买的商品,也删除购买的商品,也可以恢复删除的商品订单管理等模块组成,确认所选商品,填写送货地址,生成订单,再付款等待发货。管理员进行用户信息管理,查看所有用户,可以删除久不登录的用户。管理员进行产品信息管理,可以查看所有产品,可以删除所有产品,可以修改产品信息。无锡太湖学院学士学位论文20管理员进行类别信息管理,可以查看所有的类别,可以修改类别,可以删除不需要的类别。管理员进行类别和产品信息管理,可以查看所有的关系,可以修改关系,也可以删除不需要的关系。管理员订单信息管理,可以查看所有的订单,产看订单对应的产品,发货。管理员进留言信息管理,可以查看所有的留言,也可以删除留言。管理员进行公告信息管理组成,可以查看现在的公告,也可以添加公告,删除公告。4.2.2 系统流程图系统流程图系统前台流程如图4.1所示:基于 java 的鲜花销售系统21开始用户注册是否是新用户用户登录用户浏览主页面YN进入购物车生成订单是否登录Y退出继续浏览主页面YN结束图4.1 系统前台流程图无锡太湖学院学士学位论文22系统后台流程如图4.2所示:开始密码是否正确管理员登录进入管理主界面YYN结束管理员管理退出NY管理图4.2 系统后台流程图4.2.3 系统模块结构图系统模块结构图通过对系统功能的认真分析,总结出如图4.3所示的功能结构图:基于java的鲜花销售系统系统后台系统前台用户管理模块主页面浏览模块购物车模块订单模块管理员登录模块管理员管理模块图4.3 系统总体功能结构图系统的前台,详细的功能图如图4.4所示:基于 java 的鲜花销售系统23系统前台用户管理模块用户登录用户注册主页浏览购物车模块订单模块左类别浏览搜索,推荐,热销,最新右边公告查看购物车的产品删除购物车的产品恢复购物车的产品确认订单填写送货地址生成订单图4.4 系统总体功能结构图系统的后台,详细的功能图如图4.5所示:系统后台管理员管理客户信息管理产品信息管理类别信息管理类别产品关系对应管理订单信息管理留言信息管理公告信息管理图4.5 系统总体功能结构图无锡太湖学院学士学位论文244.3 数据库设计数据库设计数据库设计是指在鲜花销售系统这样的应用环境下,构造最优的数据库模式,使之能够有效地对数据进行存储,满足用户的信息要求和处理要求14。4.3.1 数据库概念结构设计数据库概念结构设计 对本系统进行了深刻的分析,这个系统有如下的实体:管理员实体 管理员实体包括:id号,姓名,密码属性,如图4.6所示:管理员id号密码名字图4.6 管理员实体图用户实体用户实体包括:id 号,邮箱,昵称,密码,用户等级,是否邮箱验证,邮箱验证码,最后登录时间,最后登录 ip, 如图 4.7 所示:用户id号email昵称密码用户等级是否邮箱验证邮箱验证码最后登录时间最后登录ip图4.7 用户实体图鲜花产品实体鲜花产品包括:id号,产品名称,描述,添加时间,市场价,特价,关键字,是否下架,图片, 如图4.8所示:鲜花产品id号名称描述添加时间市场价特价关键字是否下架图片图4.8 鲜花产品实体图基于 java 的鲜花销售系统25类别实体图类别包括:id 号,顺序,名字,描述,父类 , 如图 4.9 所示:类别id号顺序名字描述父类图 4.9 类别实体图订单实体订单包括:id 号,用户 id,状态,订单时间,订单描述,总价,收件人姓名,详细地址,邮编,手机号,电话号码, 如图 4.10 所示:订单id号用户id状态订单时间订单描述总价详细地址邮编手机号电话号收信人姓名图 4.10 系统总体功能结构图公告实体公告包括:id 号,公告内容, 如图 4.11 所示:公告id号公告内容图 4.11 公告实体图收货地址实体收货地址包括:id 号,用户 id,送货人姓名,详细地址,邮编,手机号,电话号码, 如图 4.12 所示:无锡太湖学院学士学位论文26收货地址id号用户id收信人姓名详细地址邮编手机号电话号图4.12 收货地址实体图合并局部E-R图,并消除一些不必要的冗余,生成了全局的E-R图:如图4.13所示:mnnmmnnn11m1n1Id号公告查看用户包含开出浏览鲜花产品类别评价包含包含收货地址订单公告内容Id号.Id号.id号id号Id号.用户id产品id.订单id.产品id鲜花id类别id.图4.13 全局的E-R图基于 java 的鲜花销售系统274.3.2 数据库逻辑结构设计数据库逻辑结构设计 概念设计中E-R图是由实体,属性和联系组成,而关系数据库逻辑设计的结果是一组关系模式的集合,将E-R图转换成关系模式实际上是将实体、属性和联系转换成关系模式。根据上图的E-R图中的实体,联系,属性转化为以下的关系模式:管理员(管理员id,姓名,密码)用户(id,邮箱,昵称,密码,用户等级,邮箱验证码,是否邮箱验证,最后登录时间,最后登录ip)鲜花产品(id ,名称,描述,添加时间,是否下架,市场价,特价,关键字,图片)类别(id,顺序,名字,描述,父类)订单(id,用户id,状态,订单时间,订单描述,总价,收信人姓名,详细地址,邮编,手机号,电话号)公告(id号,公告内容)收货地址(id号,用户id,收信人姓名,详细地址,邮编,手机号,电话号)用户评价鲜花(id号,产品id,用户id,留言,留言时间,分数)类别包含鲜花(id号,产品号,类别号)订单包含产品(id号,订单号,产品号,产品名称,特价,产品数量,总价)4.3.3 数据库中的表的设计数据库中的表的设计管理员表(d_administrator) ,如表 4-1 所示:表 4-1 d_administrator字段名数据类型长度主键外键可空说明idint默认是否否序列namevarchar20否否否 用户名 passwordvarchar20否否否 密码用户表(d_user) ,如表 4-2 所示:表 4-2 d_user字段名数据类型长度主键外键可空说明idint12是否否序列emailvarchar50否否否邮箱nicknamevarchar50否否否昵称passwordvarchar50否否否密码user_integralint12否否否用户等级is_email_verifychar3否否否邮箱是否验证email_verify_codevarchar50否否是邮箱验证last_login_timebigint默认否否是最后登录时间last_login_ipvarchar15否否是最后登录 ip鲜花产品表(d_product) ,如表 4-3 所示:表 4-3 d_product字段名数据类型长度主键外键可空说明无锡太湖学院学士学位论文28idint12是否否序列product_namevarchar100否否否 产品名续表 4-3 字段名数据类型长度主键外键可空说明 descriptionvarchar100否否是 描述 add_timebigint20否否是添加时间 fixed_pricedouble默认否否否市场价 dang_pricedouble默认否否否特价 keywordsvarchar200否否是关键字 has_deleteint 1否否否是否下架 product_picvarchar200否否是图片类别表(d_category) ,如表 4-4 所示:表 4-4 d_category字段名数据类型长度主键外键可空说明idint12是否否序列turnint10 否否否顺序 namevarchar200否否否名字 descriptionvarchar200否否是描述 parent_id int 10 否 否 否 父类别订单表(d_order) ,如表 4-5 所示:表 4-5 d_order字段名数据类型长度主键外键可空说明idint12是否否序列user_idint10否是否 用户 id statusint10否否否状态 order_timebigint20否否否订单时间 order_descvarchar100否否是订单描述 total_pricedouble 默认否否否总价 receive_namevarchar 100否否是 收件人姓名 full_addressvarchar 200否否是详细地址 postal_codevarchar8否否是邮编mobilevarchar20否否是手机号phonevarchar20否否是电话号码公告表(d_announcement) ,如表 4-6 所示:表 4-6 d_announcement字段名数据类型长度主键外键可空说明idint默认是否否序列contenttext默认否否否公告内容收货地址表(d_receive_address) ,如表 4-7 所示:表 4-7 d_receive_address字段名数据类型长度主键外键可空说明idint12是否否序列基于 java 的鲜花销售系统29user_idint11否是否 用户 id receive_namevarchar20否否否 收件人姓名续表 4-7 字段名数据类型长度主键外键可空说明 descriptionvarchar100否否是 描述 full_addressvarchar 200否否否 收货地址 postal_codevarchar8否否是邮编mobilevarchar20否否是 手机号phonevarchar20否否是 电话号码留言表(d_comment) ,如表 4-8 所示:表 4-8 d_comment字段名数据类型长度主键外键可空说明idint默认是否否序列product_idint默认 否是否产品 id user_idvarchar默认否是否用户 id commentvarchar6000否否否留言 comment_time varchar 6000 否 否 否 留言时间comment_score int 默认 否 否 否 分数类别产品表(d_category_product) ,如表 4-1 所示:表 4-9 d_category_product字段名数据类型长度主键外键可空说明idint12是否否序列product_idint10否是否产品号cat_idint10否是否类别号商品条目表(d_item) ,如表 4-10 所示:表 4-10 d_item 字段名数据类型长度主键外键可空说明idint12是否否序列order_idint10 否是否订单号 product_idint10否是否产品号 product_name varchar100否否否产品名dang_price double默认 否 否 否 特价 product_num int 10 否 否 否 产品数量amount double默认 否 否 否 总金额4.4 本章小结本章小结本章节是鲜花销售系统的总体设计。首先介绍了鲜花销售系统的总体的设计思想,然后对系统的模块进行设计,画出系统的流程图,系统模块功能图,最后是对数据库的设计,从概念结构设计到逻辑结构设计还有数据表三个方面的设计。无锡太湖学院学士学位论文305 鲜花销售系统的实现鲜花销售系统的实现5.1 系统对数据库的访问系统对数据库的访问在本系统中,数据库是采用 MySQL 数据库进行数据存储,用 MySQL 提供好的驱动来连接数据库,因为使用 Hibernate 技术,所有只要对对象进行操作,即可完成对数据库的操作。本鲜花销售系统对数据库进行访问的实现如下: org.hibernate.dialect.MySQLDialecttruetrue org/tarena/flower/entity/User.hbm.xml org/tarena/flower/entity/Category.hbm.xml org/tarena/flower/entity/Product.hbm.xml org/tarena/flower/entity/Item.hbm.xml org/tarena/flower/entity/Order.hbm.xml org/tarena/flower/entity/ReceiveAddress.hbm.xml org/tarena/flower/entity/Administrator.hbm.xml org/tarena/flower/entity/Announcement.hbm.xml基于 java 的鲜花销售系统31 org/tarena/flower/entity/Comment.hbm.xml org/tarena/flower/entity/CategoryProduct.hbm.xml 5.2 系统前台用户注册功能的实现系统前台用户注册功能的实现用户注册分为三个小部分,第一步,填写 email,设置昵称,设置密码,输入验证码,每个文本框中要按照要求填写,都满足要求后,验证邮箱,第三部就是注册完成。如图5.1,5.2,5.3 所示。 图 5.1 填写信息在用户注册界面,填写注册信息,点击注册按钮时,发送一个 action 请求,在 struts-user.xml 中,匹配到对应的 action 的名字,/user/verify_form.jsp调用 RegisterAction 组件,在 RegisterAction 类中,实现用户注册的核心代码如下:public String execute() /执行这里的代码,返回的是字符串user.setLastLoginIp(httpRequest.getRemoteAddr(); /设置用户的最后登录iptry /trycatch捕获异常userService.register(user); /调用service里的register方法,保存用户的信息 catch (Exception e) e.printStackTrace();return verify; /返回,verify 标识,根据标识是返回到verify_form.jsp 无锡太湖学院学士学位论文32 图 5.2 验证邮箱在邮箱验证界面,当把上面的验证码复制到文本框内,点击外面的空白是,触发blur事件,发送ajax请求,$.post(checkemailcode, /发送json请求emailcode : emailcode /请求值, function(data) /返回的数据,字符串if (data) /如果是ok,就是验证码正确$(#errorMsg).html(right + 验证码输入正确);window.location=register_ok.jsp; /直接跳转到register_ok界面 else $(#errorMsg).html(not+验证码输入错误); /错误就显示, json);在struts-user.xml中,根据checkemailcode请求名,ok找到对应的组件,CheckEmailCodeAction 类,执行 execute()方法public String execute() try /try.catch.捕获异常User user = userDao.findUserByEmailVerifyCode(emailcode); /查找是否有基于 java 的鲜花销售系统33这个emailcodeif (user = null) /如果不存在返回falseok = false; else ok = true; /如果存在返回true user.setIsEmailVerify(Constant.YES); /设置用户的属性,是否邮箱验证,改为trueuserDao.update(user); /将其变更到数据库中User suser = (User) session.get(Constant.USER); /用session中取得用户if (suser = null) session.put(Constant.USER, user); /没有用户就新绑定一个用户 catch (Exception e) e.printStackTrace();return success; /返回success标识图 图 5.3 注册成功这是注册成功的界面,这里的名字是用户的昵称,是从session中获取 ,欢迎加入鲜花礼品网邮件地址也是从session中获取请牢记您的登录邮件地址:无锡太湖学院学士学位论文345.3 系统前台用户登录功能的实现系统前台用户登录功能的实现用户主界面是用户了解花店的重要的窗口之一,是整个系统的形象。在这个界面上,用户可以了解这个网站的信息。在主页面中,用户可以注册,然后登录,再浏览主页面,可以根据类别查询鲜花,也可以直接搜索鲜花,用户可以查看产品的具体信息,用户选中心仪的产品后购买,确认订单,填写送货地址,生成订单,付款,等待发货即可。用户必须是已经注册好的才能登录,用户登录需要输入 email 和密码,输入成功后就进入主页面,如图 5.4 所示。 图 5.4 用户登录用户必须先注册,再登录,如果没有注册的,可以点击创建一个新用户,进入到注册界面注册,注册好了的,进入登录界面。用户输入email地址和密码,提交表单,发送action请求,匹配请求名,/user/login_form.jsp/user/verify_form.jsp./order/info/main/main.jsp进入到LogoinAction类中,执行execute()方法, public String execute() try user = userDao.findUserByEmail(email); /查找是否有这个邮箱password = EncryptUtil.md5Encrypt(password); /用md5加密if (user = null | !user.getPassword().equals(password) /此用户不存在或者密码错误,就输入msg = /邮箱或密码输入错误;return error; /返回error标识user.setLastLoginTime(System.currentTimeMillis();/设置用户最后的登录时间基于 java 的鲜花销售系统35user.setLastLoginIp(httpRequest.getRemoteAddr();/设置用户最后的登录ipsession.put(loginUser, user); /session绑定登录用户String pay = (String) session.get(Constant.PAY);/从session中取得pay的值if (pay != null) /如果pay不为null,就将pay从绑定中去除,重定向到付款if (pay.equalsIgnoreCase(pay) session.remove(Constant.PAY);return pay;if (user.getIsEmailVerify().equals(N) /如果没有邮箱验证,就进入到邮箱验证界面return verify; catch (Exception e) e.printStackTrace();return success; 5.4 用户用户主页面浏览模块的实现主页面浏览模块的实现主界面是用户了解花店的重要的窗口之一,是整个系统的形象。在这个界面上,用户可以了解这个网站的信息。在主页面中,用户可以注册,然后登录,再浏览主页面,可以根据类别查询鲜花,也可以直接搜索鲜花,用户可以查看产品的具体信息,用户选中心仪的产品后购买,确认订单,填写送货地址,生成订单,付款,等待发货即可。如图 5.5 所示。 无锡太湖学院学士学位论文36 图 5.5 主页面左侧是类别管理,是一个category.jsp页面,当浏览主页面时,页面加载这个页面,发category请求,/main/category.jsp匹配action请求,进入到CategoryAction类中,执行execute()方法public String execute() try 基于 java 的鲜花销售系统37Thread.sleep(2000); /睡眠2s钟/求出所有的大类别以及小类别categorys =categoryService.getCategorys();return success; /返回success标识 catch (Exception e) e.printStackTrace();return error;中间有搜索,点击搜索按钮,发送search请求,匹配相应的action, /main/search.jspi找到 SearchAction 类,执行 execute()方法,public String execute() throws Exception products=productService.search(page,information,pageSize); /分页找到对应花名的产片 allPage=productService.countflowers(pageSize,information);/总页数return success;/返回success标识下面是推荐鲜花,热销鲜花,最先上架鲜花,都是jsp页面,在浏览主页面时加载进来的,热销鲜花,发送hotProduct请求,在struts-main.xml中找到相应的action, /main/hot.jsp找到对应的hotProductAction类,执行execute()方法,public String execute() throws Exception Thread.sleep(2000);products = productService.getHot(4); /找到四本热销的鲜花return success; /返回success标识推荐鲜花,最新上架鲜花也是如此。右侧是公告栏,在浏览主页面时,直接加载进来的,发送 announce 请求, /main/announcement.jsp找到对应的 AnnouncementAction 类,执行 execute()方法,public String execute() throws Exception announcements=announcementService.findAllAnnouncement(); /找出所有的公告内容 System.out.println(announcements.size();无锡太湖学院学士学位论文38return success;/返回success标识 5.5 左侧类别查询功能实现左侧类别查询功能实现在主页面左侧是类别查询,用户可以按自己的需要查询类别对应的鲜花,下图查询的是品种这个类别对应的白玫瑰,如图 5.6 所示。 图 5.6 类别查询界面当点击白玫瑰时,将会发送BookListAction请求并发送品种的id和白玫瑰的id, /main/book_list.jsp匹配请求,进入到BookListAction这个类中,执行excute()方法,public String execute() throws Exception /找出一个大类别对应的子类别 返回一个所有自类别的集合cats = categoryService.getCategoryByParentId(pid); /迭代出这个大类别的总的产品数量for (Category c : cats) totalNum += c.getPnum();基于 java 的鲜花销售系统39/找某个大类别 id=pid 大类别对应的名字cname = categoryService.getCategoryById(pid).getName();/当在界面选择不同的顺序时,就会出现不同的排序结果 if(order.equalsIgnoreCase(addtimeDESC) products = productService.getProductsByCarId(cid, page, pageSize); else if(order.equalsIgnoreCase(addtimeASC) products = productService.getProductsOrdeyByAddtimeASC(cid, page, pageSize); else if(order.equalsIgnoreCase(saleASC) products=productService.getProductsOrderBySaleASC(cid,page,pageSize); else if(order.equalsIgnoreCase(saleDESC) products=productService.getProductsOrderBySaleDESC(cid,page,pageSize); totalPage = productService.countProductsByCarId(cid, pageSize);return success;5.6 购物车模块购物车模块当用户购买后,产品就放在购物车里面了,用户进入购物车里,查看自己所购买的产品,可以修改购买的数量,可以删除不购买的产品,可以恢复删除的商品,点击结算按钮,进入订单环节。如图 5.7 所示。 图 5.7 购物车当用户点击购买按钮后,会发送buy请求,ok匹配到BuyAction,找到BuyAction这个类,执行execute()方法,public String execute() 无锡太湖学院学士学位论文40throws Exception ok = cartService.add(id);return success;会将购买到的产品放入到购物车中,当用户进入到购物车中,发送cart_list请求,匹配action组件,找到对应的action类,执行list()方法,public String list() throws Exception buyPros = cartService.list(true); /将购买的产品放入到buyPros集合中delPros = cartService.list(false); /将删除的产品放入到delPros集合中cost = cartService.cost();/计算出购买商品的花费save = cartService.save();/计算出在这里购买节约的钱return list; /返回list标识 点击修改数量,会发送 cart_update 请求,找到对应的 action 组件,执行 update()方法,public String update() throws Exception cartService.update(id, qty);/修改产品数量cost = cartService.cost();/计算总花费save = cartService.save();/计算节约的金额info = qty + , + save + , + cost;/数量,节省金额,花费return update; 当点击删除时,会发送cart_delete请求,执行delete()方法public String delete() throws Exception cartService.delete(id);return delete; 当点击回复是,会发送cart_recovery请求,执行recovery()方法,public String recovery() throws Exception cartService.recovery(id);return recovery;5.7 订单功能实现订单功能实现当用户购买完鲜花产品,结算时,进入到订单生成模块,先确认订单,再填写送货地址,再生成订单即可,如图 5.8,5.9,5.10 所示。基于 java 的鲜花销售系统41 图 5.8 确认订单当点击结算时,会发送info请求,在struts-order.xml中找到对应的action组件,执行execute方法,public String execute() throws Exception User user = (User) session.get(loginUser); /取出登录的用户if (user = null) /如果没有没有,就跳转到登录页面session.put(Constant.PAY, pay);return login;elselist = cartService.list(true); /取出购物车里的所有购买的商品,放入list集合中cost = cartService.cost(); /算出这些商品的所有的费用return success;当点击下一步,发送 address_list 请求,执行 list()方法public String list() throws Exception User user = (User) session.get(loginUser);/System.out.println(user.getEmail();/System.out.println(user.getId();address = orderService.addressByUserId(user.getId(); /找出所有的地址return list;无锡太湖学院学士学位论文42图 5.9 填写送货地址当点击下面的旧地址时,就是把以前的地址自动填写到文本框中public String load() throws Exception ReceiveAddress address = orderService.getAddressById(id);/得到某一条地址info = address.getReceiveName() + , + address.getFullAddress() + ,+ address.getPostalCode() + , + address.getPhone() + ,+ address.getMobile();return load;/返回load标识图当点击下一步,发送 order 请求,匹配对应的请求,执行 execute()方法,图 5.10 生成订单public String execute() throws Exception orderService.addOrder(order, session);/保存订单/orderService.addItem(oid, session);if(aid.equals()/如果aid为空,不保存地址,如果不为空,保存新地址int i=0;基于 java 的鲜花销售系统43orderService.addReceiveAddress(order,i, session);elseorderService.addReceiveAddress(order,Integer.parseInt(aid), session);cost = cartService.cost();orderService.cleanCart(session);/删除绑定的cartServicereturn success;/返回success标识图5.8 管理员登录管理员登录下图是鲜花销售系统的后台,管理员需要输入用户名,密码,正确后才能进入后天的管理界面。如图 5.11 所示。 图 5.11 管理员登录点击确定按钮,发送adLogin请求,在struts-administrate.xml中匹配请求, /administrate/adlogin.jsp /administrate/admain.jsp执行execute()方法,public String execute() throws Exception Administrator administrator=adLoginService.findByName(name); /从数据库中查找这个人 if (administrator = null | !administrator.getPassword().equals(password) /如果这个人不存在或密码不正确,返回error标识,如果正确,返回success标识msg = 用户名或密码输入错误;return error; return success; 无锡太湖学院学士学位论文445.9 后台主界面后台主界面下图是后台管理界面的主界面,在这个界面中,可以对客户进行管理,对产品,对类别,对类别产品进行管理,可以查看订单,可以管理留言,可以管理公告栏,如图5.12 所示。图 5.12 后台主界面5.10 后台信息管理后台信息管理下图是用户信息管理的界面,在这里,我们可以产看所有的用户,可以删除一直的不来的用户,如图 5.13 所示。图 5.13 用户管理界面这是用户信息管理界面,发送AdUser_list请求,匹配到对应的action组件,执行list()方法, public String list() throws Exception users=adUserService.findAllUser(); 找到所有的用户 return list;基于 java 的鲜花销售系统45 点击删除,发送AdUser_delete请求,匹配到对应的action组件,执行delete()方法,public String delete() throws Exception User user=adUserService.findById(id);/根据id找到用户 adUserService.delete(user);/删除用户 return delete;/返回delete标识下图是一张产品管理界面,在这里,我们可以查看所有的产品,可以添加产品,可以修改产品,可以删除产品,对产品管理非常方便,如图 5.14 所示。图 5.14 后台产品管理主界面/点击产品信息管理进入产品信息管理主界面,显示出所有的产品,执行 list()方法 public String list() throws Exception totalPage=adProductService.countProduct(pageSize); /求总页数 products=adProductService.getAllProducts(page,pageSize);/分页查询产品 return list;/返回list标识 /点击删除操作,执行delete()方法public String delete() throws ExceptionadProductService.delete(id);/根据id删除对应的产品return delete;/返回delete标识/修改某个产品是先查询某个产品public String load() throws Exceptionproduct=adProductService.load(id);/查询出某个产品return load;/返回load标识无锡太湖学院学士学位论文46public String update() throws ExceptionadProductService.update(product);/修改产品信息,同步到数据库中return update;/上传产品的图片public String add() throws ExceptionSystem.out.println(mf.getPath();System.out.println(mfFileName);System.out.println(mfContentType);/将临时文件复制到指定目标位置ServletContext sc = ServletActionContext.getServletContext();String realPath = sc.getRealPath(/productImages);String filePath = realPath + File.separatorChar + mfFileName;System.out.println(filePath);/将mf写入到filePathFile dest = new File(filePath);try FileUtil.copy(mf, dest);long time=System.currentTimeMillis();product.setAddTime(time); /设置产品的信息product.setHasDeleted(0);product.setProductPic(mfFileName);adProductService.save(product);/添加某个产品到数据库中return add;/返回add标识 catch (Exception e) e.printStackTrace();return error;/异常时,返回error标识以下的管理都如产品信息管理,具体代码,略下图类别管理界面,管理员可以添加类别,修改类别,删除类别,如图 5.15 所示。基于 java 的鲜花销售系统47图 5.15 后台类别管理界面下图是类别产品对应关系图,管理员可以添加关系,修改关系,删除关系,如图5.16 所示。图 5.16 后台类别产品对应界面下图是订单管理界面,管理员查看所有的订单,根据订单发送商品,如图 5.17 所示。无锡太湖学院学士学位论文48图 5.17 后台订单管理界面下图是留言管理,管理员可以查看所有的留言,可以删除留言,如图 5.18 所示。图 5.18 后台留言管理界面下图是公告栏,管理员可以查看公告,添加公告,删除公告,如图 5.19 所示。基于 java 的鲜花销售系统49图 5.19 后台公告栏界面5.11 本章小结本章小结本章节是对整个系统的实现进行了详细的说明,通过使用 Struts,Hibernate,Spring 这三个主要的技术对系统进行设计,并且采用 B/S 模式开发,使得整个系统结构清新,更容易更新与维护。本章节,首先是对如何访问数据库进行了详细的介绍,其次对前台的用户注册,登录,浏览主页面,购物车,生成订单的实现进行了详细的介绍,然后对后台管理员登录,在主页面进行用户管理,产品管理,类别管理,类别与产片关系管理,留言管理,订单管理,公告管理这些功能的实现进行了说明。无锡太湖学院学士学位论文506 系统测试系统测试6.1 测试的目的测试的目的系统测试英文名字是 System Testing,是为了发现错误而执行程序的过程,成功的测试是发现了至今尚未发现的错误。鲜花销售系统的测试是针对整个系统进行的测试,目的是验证鲜花
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
提示  人人文库网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
关于本文
本文标题:基于JAVA的鲜花销售系统
链接地址:https://www.renrendoc.com/paper/149925898.html

官方联系方式

2:不支持迅雷下载,请使用浏览器下载   
3:不支持QQ浏览器下载,请用其他浏览器   
4:下载后的文档和图纸-无水印   
5:文档经过压缩,下载后原文更清晰   
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

网站客服QQ:2881952447     

copyright@ 2020-2025  renrendoc.com 人人文库版权所有   联系电话:400-852-1180

备案号:蜀ICP备2022000484号-2       经营许可证: 川B2-20220663       公网安备川公网安备: 51019002004831号

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