鲜花信息类网站管理系统-计算机科学与技术本科论文_第1页
鲜花信息类网站管理系统-计算机科学与技术本科论文_第2页
鲜花信息类网站管理系统-计算机科学与技术本科论文_第3页
鲜花信息类网站管理系统-计算机科学与技术本科论文_第4页
鲜花信息类网站管理系统-计算机科学与技术本科论文_第5页
已阅读5页,还剩55页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

安徽工业大学毕业论文课题名称鲜花信息类网站管理系统学院计算机科学与技术学院专业班级计算机科学与技术111班姓名学号指导老师

安徽工业大学毕业设计(论文)任务书课题名称鲜花信息类网站管理系统学院计算机科学与技术学院专业班级计算机科学与技术111班姓名学号毕业设计(论文)的主要内容及要求:1)学习并掌握Java、MyEclipse等开发工具,MySQL数据库技术等相关知识。

2)针对鲜花企业现状,设计与开发鲜花信息网站管理系统,能够实现包括鲜花产品种类的管理(发布鲜花品种、管理鲜花品种)、鲜花管理(添加鲜花产品、鲜花产品管理、资质证书添加、资质证书管理)、求职和招聘管理(公司信息管理、求职信息管理、招聘信息管理);等基本功能。

3)设计要求:结合社会实际需求,设计并实现本系统。通过设计和实现本系统,对大学所学知识有一个整体的了解和汇总,为马上步入社会奠定基础、搭建理论与实践之桥梁。

4)学习毕业论文的写作方法,论文篇幅为1.5-2万字。

5)查阅文献资料不少于8篇,其中英文资料不少于2篇。并完成相关英文资料大于等于5000字的翻译。

6)提交主要源程序清单。

7)软件结构良好,具备一定的可维护性和可靠性。

8)能力要求:具备勤奋认真的学习态度和较强的上进心,具备一定的中英文文献检索和阅读能力,并掌握软件开发的基本方法和面向对象程序设计的基本思想。指导教师签字:摘要随着互联网的快速普及,世界步入了信息化的时代,越来越多的人更青睐于通过互联网来进行获取感兴趣的信息。计算机对于电子商务的信息管理可以充分发挥它的优越性。因此,一些大型鲜花公司迫切需要自己管理系统和网站来适应时代的需求。鲜花网站管理系统是在WIN7的环境下,利用Myeclipse和MySql以及TomCat服务器来搭建JSP运行的环境,利用MVC模式实现本系统的主要功能。系统分为前台和后台,后台可以实现用户管理、商家信息管理、鲜花类产品的添加及修改、公司相关的证书的添加和更改以及公司动态的更新等功能。前台提供给游客查看相关的鲜花产品及公司需求。本文论述了鲜花类网站管理系统的开发过程:从对需求的分析到对系统的功能的分析,还有相关的数据库的设计、前后台页面的布局等。关键词:MVC;互联网;鲜花信息管理AbstractWiththerapidpopularizationoftheInternet,theworldenteredtheinformationage,moreandmorepeopleprefertogetinformationofinterestviatheInternet.Computerinformationmanagementfore-commercecangivefullplaytoitsadvantages.Therefore,somelargeflowerscompaniesownmanagementsystemandtheurgentneedforthesitetomeettheneedsofthetimes.FlowerswebsitemanagementsystemisundertheWIN7theenvironment,theuseMyeclipseandTomCatandMySqltobuildJSPserveroperatingenvironment,theuseMVCmodeltoachievethemainfunctionofthissystem.Thesystemisdividedintofrontandback,thebackgroundcanachieveusermanagement,businessinformationmanagement,addandmodifyFlowersproducts,thecompanyassociatedwiththecertificateandthecompanyadds,andchangesdynamicallyupdatefunctions.Receptionflowerstotouristsviewtheproductsandthecompany'sneeds.ThisarticlediscussesthedevelopmentprocessmanagementsystemwebsitesFlowers:Fromdemandanalysistotheanalysisofthefunctionalityofthesystem,aswellastheassociateddatabasedesign,layout,frontandbackpagesandthelike.Keywords:MVC;Internet;InformationManagementflowers

目录TOC\o"1-3"\h\u摘要 31.绪论 71.1选题背景 71.2课题的意义 71.3系统目标 82.可行性研究 82.1技术可行性 82.2经济可行性 82.3操作可行性 92.4法律可行性 93.需求分析 93.1系统需要解决的主要问题 93.2系统具备的基本功能 103.3数据流图[7] 103.4数据字典 103.4.1数据存储 113.4.2数据流 123.4.3处理过程 124.总体设计 134.1概述 134.2系统设计 144.2.1系统架构设计 144.2.2业务实体设计 144.2.3业务逻辑设计 144.3系统功能划分 154.3.1后台管理员的功能设计 154.3.2前台信息模块 164.4系统功能描述 174.4.1后台管理员功能模块 174.4.2前台模块的功能描述 184.5数据库设计 184.5.1数据库概念结构设计 194.5.2数据库逻辑结构设计 225.详细功能设计与开发工具 245.1设计概述与开发工具简介 245.1.1B-S模式的优势及C-S的弊端 245.1.2JAVA语言简介[6] 255.1.3Web开发—JSP技术[2] 255.1.4Tomcat服务器[3] 265.1.5MyEclipse简介与下载[3] 265.2程序流程图 275.3通用功能的实现 285.3.1对数据库的相关操作 285.3.2验证码工具类 295.3.3实现一些功能管理模块 315.3.4鲜花商品管理模块 335.3.5商家信息及证书管理模块 345.3.6求购和招聘信息模块 365.3.7前台显示模块 375.3.8文件上传和分页技术模块 416.维护和测试 456.1测试的任务及目标 456.1.1什么是测试? 456.1.2软件测试的准则 466.2测试步骤 466.3软件维护 46结束语 47致谢 48参考文献 49附录: 50数据库部分代码: 50对管理员进行身份验证的主代码: 52商品分类和添加的主代码: 54

1.绪论1.1选题背景在信息时代快速发展的今天,整个社会趋于无纸化办公,对于大多数生产型和有实体店铺的商家,也希望能够通过网上进行信息的更新。同时,作为这些鲜花类企业的合作伙伴,可以通过这个企业的网站来了解更多的公司动态。时代在互联网的列车里快速发展,因而,而学生管理人员则相对减少。加上我国高等学校基层学生考核管理工作的头绪多,一些传统的大型鲜花企业的营销模式也需要与时俱进。在以前的鲜花企业中,对很多鲜花品种进行记录,很是枯燥和麻烦,稍等发展好一点的企业,每天的数据记录量很多,一不小心就会出现失误,鲜花产品的宣传渠道也很单一。所以,在信息多元化和计算机技术飞快发展的背景下,使用计算机来让企业完成对产品的更新,让客户对企业的信息通过网络来进行查看,是必要的,而且是可行的。对鲜花类信息进行网上管理,提高工作质量的同时,也增加了工作效率。1.2课题的意义在一些大型鲜花企业里,企业的鲜花品种各式各样,同时鲜花品种的上市和下架也很频繁,用以前的单纯手工记录,将是一件很复杂的事情。而且由于人工记录存在着很多的不可预知的因素,很有可能会带来一些不规范的信息管理。同时,从一些鲜花订购商的角度来说,更希望通过网上就可以对一些鲜花实体企业的产品及最新动态进行了解。通过计算机来帮助这些鲜花类实体商家进行产品的发布,公司的介绍,以及一些求购信息,招聘信息、产品的分类。这样客户可以通过网上访问的形式,了解最新的鲜花公司的产品发布情况。因此,为鲜花类实体企业开发一套管理信息的网站很有必要,让企业通过后台对信息更新管理,客户及销售商轻松的通过前台来查看相关的信息。在下面我将详细介绍这套鲜花类信息管理系统的开发过程。1.3系统目标鲜花类信息管理系统,设计它主要是对后台信息的管理和前台信息的展示。让鲜花企业的管理人员通过后台可以方便快捷的进行信息的更新,以及一些过时信息的删除等。一些客户和鲜花销售商可以访问公司的网站来了解最新的动态。其主要的功能内容如下:前台功能包括:首页、商家的简介,以及产品的分类和鲜花品种的展示,及对公司的招聘信息、公司的求购信息、公司的证书、联系方式。后台功能包括:管理员的登录,对鲜花产品的类别进行管理,对鲜花产品进行管理,照片的上传,公司信息的修改、企业一些荣誉证书的上传及更新。还有公司招聘和求购信息的更新操作。2.可行性研究2.1技术可行性可行性研究(FeasibilityStudy)是指,在很短的时间内来明确所提出的问题是否能够解决,它的目的不单单是解决问题,还有确定问题是否值得去解决。因此,我们对于可行性研究本质上是要对鲜花信息类管理系统的分析和设计的过程进行压缩,或者说是以抽象的方式在较高的层次上进行的系统分析和设计的过程。系统的可行性分析主要包括操作上的可行性,技术上的可行性,和法律上的可行性,经济上的可行性。鲜花信息类管理系统的可行性分析如下:鲜花信息类商家管理系统是基于B-S架构的。本鲜花类系统采用的JSP技术,利用JSP+Servlet+JavaBean+Dao模式,服务器端用JAVA来写,数据库用的是MSql5.0数据库,开发环境是Myeclipse7.0,服务器是TOMCAT7.0。对于这些开发环境,我自己从网上找到相关使用的视频,用一个月左右的时间进行过多次案例开发,对这类系统的开发有了不错的基础,以及指导老师认真的指导,因而在技术上是可行的。2.2经济可行性对于鲜花信息类管理系统的开发,在前期的开发过程中只需要进行少量的投入,在今后企业对系统的使用过程中将会给企业带来大大的便利。对于工作效率而言,可以大大的提高,避免各种直接或间接的经济损失,而且系统运行所需要的经济哦突入主要是计算机硬件设备上,众所周知,计算机的硬件价格很低,只需要非常少的资金就可以保证该鲜花信息类系统的运行。在开发的前期,如果能够进行合理的需求分析,还可以让软件保持良好单位可扩展性。因此,该系统的开发在经济方面是可行的。2.3操作可行性本鲜花信息管理系统是一个基于Web的企业鲜花管理网站,是Web技术应用的体现。越来越多的人更青睐于通过网络来获取外界的新闻,手机、平板、笔记本的普及更为销售商和客户对网站的访问提供了便利。该系统基于WebB-S的架构模式,不管是企业信息的管理者还是销售商及游客的使用,都只需要输入相应公司域名即可访问,企业对于产品的发布,产品的分类,公司获得相关证书的更新,只需要简单的几次鼠标点击,就可以方便完成。对这一模块的公司人员,不管是在企业还是在家中,都能在浏览器中对信息进行录入更改,只需要联网,在自己的电脑上进行相关的更新。所以说,本系统使用简单、方便快捷,是非常容易可操作的。2.4法律可行性本鲜花信息网管理系统是基于毕业设计而进行开发的,与商业无关,不参与销售,只是对自己所学知识的一个综合运用,不会侵犯到他人、集体或者某些公司的利益,因此,在法律上是可行的。3.需求分析3.1系统需要解决的主要问题计算机的飞速发展对鲜花类大型企业信息管理的解决方案要求越来越严格。要想成功的开发鲜花信息类管理网站,本系统制定的解决方案应该从企业的真实需求和发展的趋向入手,在对鲜花类信息网站进行设计之前,一定要对相关的问题进行科学的认识,像对系统需求的分析,总体项目的计划,鲜花信息网的实施方案、调试运行软件所需要的配置环境等等。3.2系统具备的基本功能鲜花类信息网管理系统主要分为前台功能和后台功能:1.管理员进行后台的管理企业管理员利用登录名和密码登录网址进行公司信息的更新与管理,主要有公司信息的管理、鲜花产品分类的添加和修改、鲜花的添加及上传相应的图片、还有证书及相关招聘求职的管理。2.前台的访问对于一个大型鲜花企业的前台,对于所有的销售商和客户都可以通过网址来进行直接访问,他们可以看到后台添加的产品分类,更新的一些鲜花类产品,也能看到公司获取的一些资质证书和招聘求职的信息。3.3数据流图[7]数据流图(DFD):数据流图简称DFD图,它是一种图形化技术,它描绘信息流和数据从输入移动到输出的过程中所经受的变换。在数据流图中没有任何具体的物理部件,它只是描绘数据在软件中流动和被处理的逻辑过程。数据流图是系统逻辑功能的图形表示,即使不是专业的计算机技术人员也很容易理解它,因此是分析员和用户之间极好的通讯工具。3.4数据字典数据流图表达了数据和处理的关系,数据字典则是系统中各类数据描述的集合。是进行详细的数据收集和数据分析所获得的主要成果。数据字典在数据库设计中占有很重要的地位。数据字典和数据流图共同构成系统的逻辑模型,没有数据字典,数据流图就算严格,然而没有数据流图,数据字典也难发挥作用。数据字典通常包括数据项、数据结构、数据流、数据存储和处理过程五个部分。[8]3.4.1数据存储数据存储是数据结构停留或保存的地方。也是数据流的来源和去向之一,可以是手工文档或手工凭单,也可以是计算及文档。一般而言,应包括如下内容:{数据存储名,说明,编号,输入的数据流,输出的数据流,组成(数据结构),数据量,存取频度,存取方式}[1]。名字:商家信息表rl_company名字:商家信息表rl_company描述:记录商家的一些信息,如联系电话、地址、简介等。编号:D1组成:id,company,Name,companyInfo,address,fax,tel.email,http名字:鲜花类别表rl_category_Product名字:鲜花类别表rl_category_Product编号:D2组成:id,categoryName,orderby名字:鲜花产品表rl_product名字:鲜花产品表rl_product描述:记录产品相关的一些信息。编号:D3组成:id,productname,productimg,productinfo,state,category名字:求购信息表rl_shop名字:求购信息表rl_shop描述:记录企业想购买的产品相关的信息。编号:D4组成:id,title,ftime,description,states。名字:认证信息表rl_shopIetter名字:认证信息表rl_shopIetter描述:记录商家获得有关证书的基本信息。编号:D5组成:id,letername,letterimg,organname,available。名字:招聘信息表rl_job名字:招聘信息表rl_job描述:记录公司相关的招聘信息。编号:D6组成:id,jobname,ftime,jobdescription,state。3.4.2数据流数据流是数据结构在系统内传输的路径。对数据流的描述通常包括如下内容:{数据流名,说明,编号,数据流来源,数据流去向,组成(数据结构)}[8]。3.4.3处理过程处理过程的具体处理逻辑一般用判定表或者判定树来描述。数据字典中只需要描述处理过程的说明性信息,通常包括以下内容:{处理过程名,说明,输入数据流,输出数据流,处理}。[8]

4.总体设计4.1概述经过需求分析阶段的工作,系统必须“做什么”已经很清楚了,现在就是决定怎么做的时候了。总体设计的基本目的就是回答“概括的说,系统应该如何实现”这个问题,因此,总体设计又称为概要设计或者初步设计。通过这个阶段的工作将划分出组成系统的物理元素程序、文件、数据库、人工过程和文档等,但是每个物理元素仍然处于黑盒子级,这些黑盒子里的具体内容将在以后仔细设计。总体设计过程首先寻找实现目标系统的各种不同方案,需求分析阶段得到的数据流图是设想各种可能方案的基础。然后分析员从这些供选择的方案中选取若干个合理的方案,为每个合理的方案都准备一份系统流程图,列出组成系统的所有物理元素。从对系统的分析过程中产生的结果进行提取可用的信息,确定系统的各个功能模块的实现方案。模块化就是把程序划分成独立命名且可以独立访问的模块,每个模块完成一个子功能,把这些模块集成起来构成一个整体,可以完成指定的功能来满足用户的需求。采用模块化原理可以使软件结构清晰,不仅容易设计也很容易阅读和理解。因为程序错误通常局限在有关的模块及他们之间的接口中。所以,模块化使软件容易测试和调试,因而有助于提高软件的可靠性提高软件的可靠性,可修改性。有助于软件开发的组织管理。一个复杂的大型程序可以由许多程序员分工编写不同的模块,并且可以进一步分配技术熟练的程序员编写困难的模块。设计原理的其他几个内容如下:(1).抽象人类在认识复杂现象的过程中使用的最强有力的思维工具就是抽象。当考虑对任何问题的模块化解法时,可以提出许多抽象的层次。逐步求精和模块化的概念,与抽象是紧密相关的。2).逐步求精逐步求精是人类解决复杂问题是采用的基本方法,也是许多软件工程技术的基础。逐步求精之所以如此重要,是因为人类的认知过程遵守Miller法则:一个在任何时候都只能把注意力集中在(7+2)个知识块上。[7]4.2系统设计4.2.1系统架构设计鲜花类信息管理系统的前台是用来对数据库中的相关数据进行显示,所显示的数据是存放在MySql的数据库中,通过页面显示的方式来供客户和销售商进行查看。一般情况下,所有的网民都可以通过URL来进行查看。对于后台的管理必须管理员登录之后才可以进行对相关的数据修改和更新。在该鲜花信息网的开发过程中,秉承MVC三层架构的思想,采用模块化的设计,对以后功能的拓展提供了方便。中间层的设计,即是Controler,采用了Servelet,表现层,即是View,采用的是JSP的页面,Model用的是JavaBean,数据库采用的是MySql来进行数据的增删改查。对数据库的访问还融入了Dao的思想。4.2.2业务实体设计本软件的业务实体在内存中是指实体域对象,在数据库其实是关系数据,对业务实体的实现包括以下内容:设计关系数据模型。设计域模型,创建域模型实体对象。鲜花信息网管理系统的业务实体包括、鲜花产品的分类、管理员、公司的简介、鲜花产品、相关的资质证书、求职信息、招聘信息。管理员的登录:管理员必须使用正确的用户名和密码进行登陆,否则进不去后台。鲜花品种的分类和鲜花产品:一个鲜花分类下可以有多个鲜花产品,在鲜花产品上市前必须制定所属的是哪一个鲜花种类。公司的相关信息和资质证书:这包含公司的地理位置和联系方式,及鲜花类企业运行期间获得荣誉证书,这是鲜花类企业品牌的象征。招聘信息:一个大型鲜花公司对于员工和经理的需求很大,需要经常的更新招聘信息。求购信息:对于一个大型鲜花公司的运营,除了销售本公司产品外,还需要从外公司进购一些产品和服务。4.2.3业务逻辑设计在本系统开发过程中,采用了Dao设计模式来实现对数据库的访问。DAO(DataAccessObject)是一个数据访问接口,数据访问:从名字中就可以明白这是就是与数据库打交道。它位于数据库资源与业务逻辑中间。对于J2ee的开发人员使用数据访问对象(DAO)设计模式把高层的商务逻辑和底层的数据访问进行了分开.实现DAO模式之后可以让程序开发人员能够更加专注于编写数据访问代码.图4-1DAO模式若使用Dao模式,业务的核心部分就不用考虑数据库是如何操作的,仅仅需要关心自己的业务操作就行。而数据库操作的任务此时便由代理的DAO来执行。4.3系统功能划分在进行完整的系统需求分析之后,把整个系统一分为二,前台的功能设计、管理员后台的功能设计。4.3.1后台管理员的功能设计管理员通过互联网访问后台登陆首页,输入相应的身份验证后进入后台鲜花信息的管理。后台管理员系统的主要模块包括如下的几个方面:对鲜花种类的管理,其中包括鲜花品种的及时更新和信息的变动,还有鲜花产品的增删改查,以及公司联系方式、地理位置的修改。除此之外,还有招聘信息模块、求职信息模块、资质证书模块等。后台管理员各模块图如下4-1。图4-2后台管理员系统模块4.3.2前台信息模块客户和进货商通过访问网站来查看相应的公司动态,查询产品分类,查询相关的证书和招聘、求职信息。前台模块如图4-3。图4-3前台的设计模块4.4系统功能描述4.4.1后台管理员功能模块管理员在后台负责对前台显示的信息进行及时的更新与维护。1.鲜花品种的管理管理员通过身份验证,登录成功后即可对鲜花种类的序号,名称进行更改,还可以根据需要添加或删除种类。2.鲜花产品信息管理对于鲜花类的大型企业来说,每天可能都会有新的鲜花准备销售,所以说,对于信息更新人员,可以通过这简单的操作来更新企业最新的鲜花产品,上传相应的图片把过时、停售的鲜花产品删除,这样,客户在最快的时间就能了解供应商的动态。其中可以对鲜花产品进行改名,更改图片等等。3.公司信息的管理公司信息包括对前台商家简介显示信息的修改。如商家的联系方式,商家的联系地址等等。修改过之后就可以在前台看到相应的变化。4.公司获得证书的管理对于一些大型知名的企业,凭借自己产品的质量和服务获得了社会各个方面的认可,通过这个模块,可以方便的上传各种资质证书的图片,让鲜花的订购者更放心的去订购企业的鲜花产品。可以按照时间、学生、课程进行统计。并且可以查看汇总信息和详细信息。5.企业的招聘信息的管理企业的员工经常会变动,对一些技术人才的需求也在不断变化,通过这个模块可以满足企业的招聘需求,更新企业的招聘信息。6.企业的求购信息的管理鲜花类企业除了销售自己的鲜花产品外,对于一个公司的运营还要其他的需求。比如需要购进一些办公设备,运输设备等等。4.4.2前台模块的功能描述前台负责对后台信息的展示,供客户和游客来查看公司的相关信息。4.5数据库设计数据库是一个很复杂的系统,涉及面很广,难以用简练的语言准确的概括其全部的特征,而与数据库相关的数据库技术是的一种高效的数据管理技术,它建立在一定的基础之上。对于数据库技术而言,能够对系统数据的完整性,共享性有很好的保持。顾名思义,数据库就是存储数据的”仓库”。但它和普通的仓库是有所不同的。有组织的存储在一定结构内的相关数据的集合可以说是数据库的缩影。通常一个数据库系统包含几个模块的内容。其中有一个结构化的相关数据的集合,这一集合统称为数据库,还要有一个负责数据库管理和维护的软件系统。除上面以外,还要有供数据库及数据库管理系统运行的环境、有若干个用户。数据库技术之所以能够如此快速的发展,受到计算机科学普遍的重视,成为引人注目的一门重要的学科,是因为它具有如下的特点:(1)采用数据模型表示复杂的数据结构。数据模型就是在数据世界中队概念模型的数据描述。在不同的数据库管理系统对应有不一样的数据模型,而一个好的数据库设计在于有没有好的数据模型被设计出。很显然,在计算机中,人们经常要考虑数据的存储、数据的操作、操作的效率与性能以及数据可靠性等因素。现在对于数据模型的定义,一般情况下要考虑数据结构、数据操作、完整性约束,这也被称为数据模型的三个要素。目前,数据库领域中最常用的数据模型包括层次模型、网状模型、关系模型、面向对象模型。(2)数据易扩充,共享性高。数据库系统从整体角度看待和描述数据在本系统的设计中,充分考虑到了管理系统数据繁杂,重复性很大,数据使用频繁。因此本系统采用了一种能正确反映学生实现环境,能被现行系统接受,易于维护、效率高的数据管理方法--数据库系统。(3)数据的独立性较高。数据独立性包括物理独立性和数据的逻辑独立性。逻辑独立性是指数据库的逻辑结构和用户的应用程序是相互独立的。物理独立性指的是用户程序不需要了解,应用程序要处理的只是数据的逻辑结构[1]数据库的设计可以分为两个部分,一个是对概念模型的设计(E-R图),另外一个是对物理模型的设计,如下所述。4.5.1数据库概念结构设计E-R图包括三个基本的成分: 1.矩形框用来表示需求中的实体。2.菱形框用来表示实体间的联系。3.椭圆形框用来标记实体的很多属性。本鲜花信息网管理系统的实体及其关系(E-R图)是在进行了需求分析,系统分析之后进行的。各个实体及其关系如下面图所示:主要有管理员实体、鲜花商品分类实体、鲜花商品实体、求购实体、招聘实体、商家信息实体、资质证书实体[5]。图4-4管理员实体属性图图4-5商品分裂实体图图4-6鲜花产品实体属性图图4-7公司信息实体属性图4-8求职信息实体属性图图4-9公司证书实体属性图4.5.2数据库逻辑结构设计本软件使用的数据库软件是MySql5.5。Mysql是一种开放源代码的关系型数据库管理系统,它是开源的,因而任何人都可以下载源代码,然后根据个人需要进行修改。MYsql使用最常用的数据库管理语言,即结构化查询语言SQL进行数据库管理。本系统为了方便开发,除了用mYsql外还安装了图形化的界面,轻松方便的管理MYsql数据库。安装的工具是SqlYog.它是一款易于使用而且很方便的图形化管理MySql的工具。下面是对表格进行设计:本系统的数据库名为test_new。主要包括如下几个表: 表4-1鲜花商品分类表(rl_category_product)字段名称类型长度主键说明允许空idint11YES分类编号NOcategoryNamevarchar50商品类别名YESorderByint11类别顺序YES表4-2鲜花产品表(product)字段名称类型长度主键说明允许空idInt11YES产品编号NOproductNamevarchar50产品名称YESproductImgvarchar50产品图片名YESproductInfovarchar50产品信息YESstatevarchar50产品状态YEScategoryvarchar50所属类别NO表4-3商家信息表(rl_company)字段名称类型长度主键说明允许空IdInt11YES商家编号NOcompanyNamevarchar50公司名NOcompanyInfovarchar50公司信息YESAddressvarchar50公司地址YESTelvarchar50联系电话YESEmailvarchar50联系邮箱YEShttpvarchar50公司主页YES表4-4商家认证信息表(rl_shopLetter)字段名称类型长度主键说明允许空IdInt11YES认证编号NOletterNamevarchar50 NO证书名称YESLetterImgvarchar50NO认证图片YESorganNamevarchar50NO认证机构名称YESavaiablieDateVarchar50NO开始生效日期YES表4-5招聘信息表(rl_job)字段名称类型长度主键说明允许空IdInt11YES招聘编号NOJobNamevarchar50No职位名称YESfTimevarchar50NO发布时间YESJobDescriptionvarchar50NO职位描述YESStateInt11NO招聘状态YES表4-6求购信息表(rl_shop)字段名称类型长度主键说明允许空IdInt11YES求购编号NOTitlevarchar50NO求购标题NOfTimevarchar50NO发布时间YESDescriptionvarchar50NO详细描述YESStatesvarchar50NO求购状态YES表4-7管理员信息表(rl_manager)字段名称类型长度主键说明允许空idInt11YES编号NOAdminNamevarchar50No姓名YESSexvarchar50No性别YESPasswordvarchar50No密码YES5.详细功能设计与开发工具5.1设计概述与开发工具简介在详细功能设计阶段,这个阶段的目标是明确对软件各个模块的精确描述。换句话说,在这个阶段中,应该对系统的完成已经胸有成竹。5.1.1B-S模式的优势及C-S的弊端 在计算机技术飞速发展的今天,各种企业的软件正在由基于C-S(模式的应用系统转化为基于B-S(Browser/Server)模式的系统软件。在C-S这种模式下,很多软件的运作都产生了一些共同的问题。例如:把主要的逻辑业务在客户端进行处理,这样以来,对系统的调试和维护还有升级安装提供了难度。服务器的负荷也相当严重。同时,在整个系统中,用户界面和数据的逻辑部分都在客户端进行,大大增加了安全隐患。因此,迫切地需要新的模式来平衡C-S的弊端,这时,出现了基于浏览器-服务器的工作模式,也就是B—S模式(Brower/Server)。在这种结构下,用户工作界面主要是通过WWW浏览器来实现,很少的部分在前端(Browser)实现,但是主要事务逻辑在服务器端(Server)实现,形成所谓三层3-tier结构。B—S这种模式统一了客户端,将系统功能实现的核心部分集中到服务器上,大大简化了对系统的开发、维护和使用。用户在设备上只需安装一个IE浏览器(Browser),这便可以很容易的简化客户端电脑载荷,降低了各种成本。虽然浏览器-服务器模式给我们带来了很大的好处,但是因为C—S模式下可以轻松的完成一些B-S很难完成的任务,所以也有部分软件继续C—S。尽管这样,B/S模式仍在目前占据了开发排行的首位。5.1.2JAVA语言简介[6]java是1995年5月由SUN公司推出的,一门面向对象的程序设计语言。Java具有很多的优点,用Java实现的很多浏览器都显示了Java的魅力:跨平台、动态的Web、Internet计算。在此之后,Java被广泛接受并推动了Web的迅速发展。Java是一门面向对象的、安全的、强大稳健的、跨平台的、流行的程序设计语言。目前由JavaCommunityProcess控制。Java语言的风格较为接近C++和C#,特别是它的跨平台性,受到了越来越多的程序设计人员的喜爱,在计算机的手机、移动设备、智能卡、各种平台、操作系统,以及消费家电方面都有广泛的应用。5.1.3Web开发—JSP技术[2]什么是JSP?JSP语言的全名是JavaServerPages,它是基于Web服务器端的开发技术,利用这一技术可以建立安全和跨平台的Web应用程序。JSP页面时运行在服务器端的一种WEB应用程序。JSP的安全性和跨平台得益于Java语言,这是因为java语言具有不依赖于平台、面向对象和安全等优良特性,已经成为网络程序设计的佼佼者。许多和java有关的技术得到了广泛的应用和认可,JSP技术就是其中之一。JSP是由原SUN公司倡导的、许多公司共同参与建立的一种基于Java语言的动态WEB应用开发技术,利用这一技术可以建立安全、跨平台的比较先进的动态网页技术。JSP和ASP技术非常相似。JSP使用的是java编程语言,而ASP使用的是VBScript脚本语言。与ASP相比,JSP以Java技术为基础,又在许多方面做了改进,具有动态页面与静态页面分离、能够脱离硬件平台的束缚及编译后运行等优点,完全克服了ASP的脚本级执行的缺点。JSP已经成为开发网站的主流技术。[2]本系统是基于JSP下的mvc模式。“视图”、“模型”、“控制器”的具体体现如下:模型(Model):一个或多个JavaBean对象,用于存储数据,JavaBean主要提供简单的set和getXXx方法,在这些方法中不涉及对数据的具体处理细节,以便增强模型和通用性。视图(View):一个或多个JSP页面,其作用主要是向控制器提交必要的数据和为模型提供数据显示,JSP页面主要使用HTML标记和标签。控制器(Controller)一个或多个servlet对象,根据视图提交的要求进行数据处理操作,并将有关的结果存储到Javabean中,然后Servlet使用重定向的方式请求视图中的某个JSP页面更新显示,即让给JSP页面通过使用JavaBean标记显示控制器存储在JavaBean中的数据5.1.4Tomcat服务器[3]Tomcat服务器是开放源代码的Web应用服务器,目前最新的版本是Tomcat7.x。它是目前比较流行的Web应用服务器之一。在目前有关JSP的应用服务器是较多的,Tomcat是apaheJakarta的子项目之一,作为一个优秀的开源Web应用服务器,全面支持JSP2.0以及Servlet2.4规范。因其运行时占用的系统资源小,扩展性好,支持负载平衡、邮件服务,性能稳定,而且免费,因为深受广大Java爱好者的喜爱并得到了大部分软件开发商的认可。其被JavaWorld杂志的编辑推选为2001年度最具创新的Java产品,同时又是SUN公司官方推荐的Servlet和JSP容器。[3]要获取Tomcat,可以直接从Tomcat官网站下载需要的Tomcat版本,地址是/.本系统使用的是Tomcat7.0的版本。进入网站后,单击Download下的链接即可下载。5.1.5MyEclipse简介与下载[3]MyEclipse企业级工作平台是对EclipseIDE的扩展,利用它可以在数据库和JavaEE的开发、发布,以及应用程序服务器的整合方面极大的提高了工作效率。它是强大的JavaEE集成开发环境,包括了完备的编码、调试、测试、发布等功能,完整支持HTML\UML\WEBTOOL、JSF、CSS、Struct2等技术。MYeclipse可以简化Web应用的开发,并对Struct等框架的广泛应用起到了非常好的作用。5.2程序流程图程序流程图又称为程序框图,它是历史悠久使用最广泛的描述软件设计的方法。1.后台管理员的程序流程图YY管理员界面开始正确?后台首页登陆N求职模块管理公司信息管理认证模块管理鲜花类别管理鲜花产品管理招聘模块管理结束图5-1后台管理员模块程序流程图

2.前台游客及进货商访问模块开始开始输入网址进入首页输入网址进入首页 商家简介公司首页鲜花展示资质证书求职信息招聘信息商家简介公司首页鲜花展示资质证书求职信息招聘信息图5-2前台界面程序流程图5.3通用功能的实现在本鲜花信息类网站管理系统中,有些功能是所有的模块通用的,像对于数据库的操作,可以把这部分实现为公共部分,这样就提高了代码的利用率,方便了程序的设计。5.3.1对数据库的相关操作在整个项目的开发过程中,对数据库的访问几乎无时无刻不在进行,不同的模块中对数据库的访问代码各不一样,但又有共同点,所以抽象出一些公共的模块来进行,这样便大大简化了代码,提高了程序的可移植性。在项目中建立perties文件,把与数据库进行连接的部分信息放入其中。在以后程序开发的过程,若有变动直接修改此部分文件即可。内容入下:driver=com.mysql.jdbc.Driverurl=jdbc:mysql://localhost:3306/test_newuser=rootpassword=1234在项目中创建包com.ck.database,然后再里面创建类ConnectionFactory,代码如下:图5-3数据库连接实现数据库的详细代码见附录5.3.2验证码工具类在管理员进入后台系统之前,必须输入正确的验证码之后才有可能进入后台管理,这就为一些非法入侵的用户设置了障碍按钮。建立包com.ck.util。在里面建立CheckCodeservice,CheckCodeServlet.java部分代码如下:图5-4验证码源码界面CheckCodeServlet代码如下:packagecom.ck.util;importjava.io.IOException;importjava.io.PrintWriter;importjavax.servlet.ServletException;importjavax.servlet.http.HttpServlet;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletResponse;publicclassCheckCodeServletextendsHttpServlet{ publicvoiddestroy(){ super.destroy();//Justputs"destroy"stringinlog //Putyourcodehere } publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse) throwsServletException,IOException{ //使用GUI编程的绘图功能 CheckCodeServiceccService=newCheckCodeService(); Stringcode=ccService.randomString(4); //把图片上的字符串保存起来,以供验证 request.getSession().setAttribute("check_code",code); //输出到响应输出流 response.setContentType("image/png"); //通过发送响应头,来禁用浏览器的缓存 response.setHeader("pragma","no-cache"); response.setHeader("cache-control","no-cache"); response.setHeader("expires","0"); ccService.renderImage(code,response.getOutputStream(),80,22); } publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse) throwsServletException,IOException{doGet(request,response); } /** *Initializationoftheservlet.<br> * *@throwsServletExceptionifanerroroccurs */ publicvoidinit()throwsServletException{ //Putyourcodehere }}还需要在web.xml进行相应的配置:<servlet><description>ThisisthedescriptionofmyJ2EEcomponent</description><display-name>ThisisthedisplaynameofmyJ2EEcomponent</display-name><servlet-name>CheckCodeServlet</servlet-name><servlet-class>com.ck.util.CheckCodeServlet</servlet-class></servlet><servlet-mapping><servlet-name>CheckCodeServlet</servlet-name><url-pattern>/getvc</url-pattern></servlet-mapping>5.3.3实现一些功能管理模块后台管理员登录的界面如下所示:图5-5管理员登录页面当用户没有输入用户名和密码是会用javascript的函数给予提示。若验证码输入不正确也会给予提示。图5-6管理员输入错误时的登录页面验证码错误时图5-7验证码输入错误时的登录页面对于验证码生成的原理,本验证码的生成是利用Graphics类和BufferedImage类当用户名和密码输入都正确且验证码也正确是进入了后台管理主界面图5-8管理员身份验证成功后后台管理主页面对管理员身份进行验证的主代码见附录5.3.4鲜花商品管理模块在这一模块可以对鲜花的种类进行增删改查,还能对鲜花的产品上传相应图片商品分类添加界面图5-9商品分类和添加列表控制这一块的主要代码见附录中商品分类和添加的主代码:添加鲜花产品的图片与相应的信息还实现了文件上传的功能这时候点击提交可以看到图5-105.3.5商家信息及证书管理模块在这里可以更改商家的信息,上传鲜花类企业获得的荣誉证书等。如下所示添加证书模块图5-11公司和认证模块图之后在前台就可以进行查看了部分关键代码见附录里资质证书相关代码。5.3.6求购和招聘信息模块在这个模块里面可以进行发布招聘信息,发布公司需要购买的东西。图5-12招聘和求职模块图部分servlet代码如下:packagecom.ck.servlet;importjava.io.IOException;importjavax.servlet.ServletException;importjavax.servlet.http.HttpServlet;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletResponse;importcom.ck.bean.PageModel;importcom.ck.bean.rl_Job;importcom.ck.dao.rl_JobDao;importcom.ck.daoImpl.rl_JobDaoImpl;publicclassrl_JobServletextendsHttpServlet{ @Override protectedvoiddoGet(HttpServletRequestreq,HttpServletResponseresp) throwsServletException,IOException{ //TODOAuto-generatedmethodstub this.doPost(req,resp); } @Override protectedvoiddoPost(HttpServletRequestreq,HttpServletResponseresp) throwsServletException,IOException{ Stringmethod=req.getParameter("method"); if(method.equals("add")) { add(req,resp); } elseif(method.equals("show")) { show(req,resp); } elseif(method.equals("delete")) { delete(req,resp); } elseif(method.equals("update1")) { update1(req,resp); } elseif(method.equals("update")) { update(req,resp); } elseif(method.equals("frontList")) { frontList(req,resp); } elseif(method.equals("frontFind")) { frontFind(req,resp); } }……}5.3.7前台显示模块输入网址后即可进入首页点击商家简介,这里利用到百度地图的api图5-13前台首页和商家简介显示图关于百度地图api的部分代码如下:在使用百度地图的控件时,出现了一个不能显示的问题,后来,我仔仔细细的排查了代码,发现还是不能显示,最后发现原来是没有联网造成的。<scripttype="text/javascript"src="/api?key=&v=1.1&services=true"></script><scripttype="text/javascript">//创建和初始化地图函数:functioninitMap(){createMap();//创建地图setMapEvent();//设置地图事件addMapControl();//向地图添加控件}//创建地图函数:functioncreateMap(){varmap=newBMap.Map("dituContent");//在百度地图容器中创建一个地图varpoint=newBMap.Point(118.561639,31.675746);//定义一个中心点坐标map.centerAndZoom(point,12);//设定地图的中心点和坐标并将地图显示在地图容器中window.map=map;//将map变量存储在全局}//地图事件设置函数:functionsetMapEvent(){map.enableDragging();//启用地图拖拽事件,默认启用(可不写)map.enableScrollWheelZoom();//启用地图滚轮放大缩小map.enableDoubleClickZoom();//启用鼠标双击放大,默认启用(可不写)map.enableKeyboard();//启用键盘上下左右键移动地图}//地图控件添加函数:functionaddMapControl(){//向地图中添加缩放控件 varctrl_nav=newBMap.NavigationControl({anchor:BMAP_ANCHOR_TOP_LEFT,type:BMAP_NAVIGATION_CONTROL_LARGE}); map.addControl(ctrl_nav);//向地图中添加缩略图控件 varctrl_ove=newBMap.OverviewMapControl({anchor:BMAP_ANCHOR_BOTTOM_RIGHT,isOpen:1}); map.addControl(ctrl_ove);//向地图中添加比例尺控件 varctrl_sca=newBMap.ScaleControl({anchor:BMAP_ANCHOR_BOTTOM_LEFT}); map.addControl(ctrl_sca);}initMap();//创建和初始化地图</script>下面是产品展示页面:图5-14鲜花产品分类展示图可以点击想看的品种。会有产品的图片显示出来。接下来是求购信息和资质证书以及招聘中心的图片及相关重要代码:这些网页都是通过Servlet来访问后台数据库,然后显示在前台图5-15前台目录里其他图片5.3.8文件上传和分页技术模块本鲜花管理信息网系统的开发采用了SmartUpload的上传组件来实现文件的上传,其中对上传的文件命名才有了以当前日期的形式,这样方便记忆,一目了然。关键代码:<%@pagecontentType="text/html;charset=GB2312"%><%@page import="java.util.*,java.text.*,java.io.*,com.ck.util.DealString"%><% DealStringds=newDealString();StringstrNum=(String)application.getAttribute("count");intcount=1;if(strNum==null)strNum="1";count=Integer.valueOf(strNum)+1;application.setAttribute("count",String.valueOf(count)); Stringtitle=""; Stringstrtype1=ds.toString((String)request.getParameter("id")); Stringstrclose=ds.toString((String)request.getParameter("close")); title="图片上传"; Stringname=ds.getDateTime(); name=name+String.valueOf(count); name=name.replaceAll("-",""); name=name.replaceAll("",""); name=name.replaceAll(":",""); if(strclose.equals("1")){%><script>window.opener.document.all.img.value='<%=ds.toGBK((String)request.getParameter("filename"))%>';window.close();</script><% }%><html> <head> <metahttp-equiv="Content-Type"content="text/html;charset=GBK"> <title><%=title%></title> </head> <BODYbgColor=menutopmargin=15leftmargin=15style="font:9pt"> <CENTER> <FIELDSETalign=left> <LEGENDalign=left><%=title%></LEGEND> <spanstyle="font:9pt">文件不要超过10204K</span> <formname="form"method="post" action="/company/uploadimage.jsp?name=<%=name%>" enctype="multipart/form-data"> 文件: <inputtype="file"name="file11"size=20> <inputtype="hidden"name="txt_file11"size=20> <inputtype="hidden"name="txt_name11"> <inputtype="hidden"name="txt_type1"value=<%=strtype1%>> <inputtype="submit"onclick="returnsubmit111();"value="上传"> </form> </fieldset> </body> <script>functionsubmit111(){ document.all.txt_file11.value=document.all.file11.value; if(document.all.file11.value=="") returnfalse; varname1=document.all.txt_file11.value; vari=name1.lastIndexOf("."); name1=name1.substring(i); varname=<%=name%>; document.all.txt_name11.value=name+name1; varname2=document.all.file11.value; varj=name2.lastIndexOf("\\"); name2=name2.substring(j+1); if(document.all.txt_type1.value=="1") { if(window.opener.document.all.ORGID.value=="") { window.opener.document.all.ORGID.value=document.all.txt_name11.value; window.opener.document.all.OLDORGID.value=name2; } else window.opener.document.all.ORGID.value=window.opener.document.all.ORGID.value+","+document.all.txt_name11.value; window.opener.document.all.OLDORGID.value=window.opener.document.all.OLDORGID.value+","+name2; } if(document.all.txt_type1.value=="2") { if(name1!=".gif"&&name1!=".jpg"&&name1!=".png"&&name1!=".bmp"&&name1!=".jpeg"&&name1!=".GIF"&&name1!=".JPG"&&name1!=".PNG"&&name1!=".BMP"&&name1!=".JPEG") { alert("图片格式不正确!"); document.all.txt_file11.value=""; document.all.txt_name11.value=""; name=""; returnfalse; } window.opener.document.all.picpath.value=document.all.txt_name11.value; } //window.close(); //returntrue;}</script> </html>分页技术的部分代码:packagecom.ck.bean;importjava.util.List;/***存放分页数据的模型*@authorck*/publicclassPageModel<T>{……}当在页面中使用分页时,需要Servlet传相应的参数,然后再页面获取。部分代码如下:<%@tagliburi="/jsp/tags"prefix="t"%> <t:pagerpageSize="${list.pageSize}"pageNo="${list.pageNo}"url="${pageContext.request.contextPath}/rl_ProductServlet.do?method=show"recordCount="${list.recordCount}"/>publicvoidshow(HttpServletRequestrequest,HttpServletResponseresponse) throwsServletException,IOException{ StringpageNo=request.getParameter("pageNo"); intpageSize=15; if(pageNo==null){ pageNo="1"; } rl_JobDaomanDao=newrl_JobDaoImpl(); PageModel<rl_Job>pm=manDao.findAll(Integer.parseInt(pageNo),pageSize); if(pm!=null){ request.setAttribute("list",pm); request.getRequestDispatcher("/mng/job/info_list.js

温馨提示

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

评论

0/150

提交评论