摘 要
本论文阐述了整个美食网的功能及实现。实现了从菜品管理,名店加盟,到后台管理实现,留言处理,再到系统管理。基本上实现了美食网的功能流程。本系统界面简单直观,易于操作和使用,交互性强,完全基于Internet网络。经过分析,我们使用 JSP+mysql进行设计开发。
关键词:美食网、JSP、mysql
Abstract
This paper expounds the function of the food network and implementation. Realizes from food management, boutique, to join management background realization, message processing, arrive again system management. Basically realized the function of the food network flow. This system interface is simple, intuitive, and easy to operate and use, interactivity is strong, completely based on Internet network. Through analysis, we use the JSP + mysql design development.
Key word: Gourmet nets, JSP, mysql
目 录
第一章 开发背景 4
1.1 目的和意义 4
1.2 开发设计思想 5
1.3 开发目标 5
第二章 开发工具和环境简介 6
2.1 JSP技术简介 6
2.2 JSP工作原理 7
2.3 JSP体系结构 7
2.4 JSP的特点 7
2.5 mysql 8
2.6 系统数据库连接 9
第三章 美食网功能分析 10
3.1 系统功能分析 10
3.2 可行性研究 10
3.3 需求分析 11
3.4 系统总体结构图 12
第四章 美食管理系统总体设计 14
第五章 数据库设计 16
第六章 程序设计 19
6.1 程序说明 19
6.2 具体模块划分 19
6.2.1用户注册 20
6.2.2用户登录模块 21
6.2.3特色美食 22
6.2.4特色美食 23
6.2.5美食社区 23
6.3后台管理 24
6.3.1管理用户信息 25
6.3.3管理美食信息 26
6.3.4管理论坛信息 27
结束语 28
致谢 29
参考文献 29
第一章 开发背景
1.1 目的和意义
本系统的设计目的是为了满足消费者只要通过互联网就可以足不出户的订购自己喜欢的菜品,改变传统商业交易,在互联网上进行交易,实现网上购买菜品。
本论文主要涉及软件,数据库与网络技术等。涵盖知识面广,可有效地提高学生综合运用所学知识分析解决问题的能力,增强学生对事物的理解与掌握能力,培养学生掌握科学的研究方法,正确的设计思想,独立思考,勇于进取,探索创新,为今后进一步学习与工作奠定了良好的基础。
1.2 开发设计思想
本系统用JSP语言来编写美食网,数据库用 mysql 来连接系统,通过编写JavaBeans来进行后台业务逻辑控制,即JSP +JavaBeans + mysql 三层模式完成整个设计工作。本系统全部基于Internet网络,以JSP语言对网站进行开发,注重用户与网站的交互性。因此在这样的背景下,针对当前Internet网络发展趋势来计美食网就成为了当今应用软件的首选体系结构。
1.3 开发目标
随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一部分,使用计算机对线上销售平台进行管理,具有线下操作所无法比拟的优点。例如:检索迅速、方便快捷、高效率、低成本、存储量大、寿命长、沟通成本低等,这些优点能够极大地提高管理和办事的效率。因此,开发这样一个网上销售平台就成为很有必要的事情。而且只要系统的设计合理,就可以为公司再开一条销售通路,减少库存堆积,利用网络的共享、互动的优点,结合地面销售的优点,借助数据库管理技术,开发一个网上预定销售平台,实现餐饮网上预定销售规范化、个性化、人性化。
相比传统地面销售,网络销售有着以下优点:
(1)降低成本:由于管理系统是通过互联网将企业的客户联系在一起,能够动态地反映当前企业的销售状况,使企业对内部信息有一个准确的了解,降低业务交易中的风险和成本,加强各级与总部的信息交流,大大降低了人力成本、管理成本,使企业能够及时对企业在销售中出现的问题进行解决。
(2)增加收益:建立管理系统可加快资金回笼速度,提高资产回报率,可以迅速、准确响应市场变化和客户需求,从而达到增加收益的目的。
(3)提高控制力度:管理系统可以加强销售成本控制,减少人为错误,使每一级客户都可以降低销售风险,使管理更完善。
(4)减少操作误差:销售的自动化管理,可以在业务操作时录入,保证数据的真实性。多种业务单据自动生成和权限控制,减少操作上的人为误差。
(5)提高企业规范化运作水平:实施管理系统,保证统一业务处理模式,规范销售流程,消除不符要求的销售请求,提高业务效率,使销售管理规范化。业务流程化,避免重复抄写和录入,减少失误,提高业务人员工作效率。
(6)提升信息交流:管理者和决策人员及时获取分销售的各项真实数据,保证了各分公司与上级管理者之间信息交流,提高企业运作效率。同时,更可与其它系统结合,建立一个统一互动的电子商务平台,供客户共享企业信息。
(7)提供决策支持:管理系统可充分收集销售信息,加强了对历史数据的利用,为进一步市场分析提供数据基础和决策支持。
总之,伴随着个人电脑的普及和使用电脑人口的增加,网络销售在众多的销售渠道中脱颖而出,其地位及占有量一定会逐渐增加。技术革命引发产业结构变革,市场的竞争规则也会跟着发生变化,网络销售的产生是流通领域中的一场革命。
本论文含针对毕业设计程序的相关说明,但不是软件系统的使用说明书。本论文不单单介绍系统的各组成部分及操作方法,更强调系统的应用前景,以及能给餐厅带来的益处,从提高经济利益、提升服务质量、合理安排人力、扩大商店影响、增进消费者口碑等方面进行全方位介绍。
第二章 开发工具和环境简介
2.1 JSP技术简介
JSP(Java Server Page服务器网页)是从1998年开始出现的新技术。由Sun公司倡导、许多公司参与一起建立的一种动态网页技术标准,是基于JavaServlet以及整个Java体系的web开发技术。在传统的网页HTML文件(*.htm,*.html)中加入脚本片段和JSP标记(Tag),构成JSP网页(*.jsp)。JSP技术为创建显示动态生成内容的web页面提供了简便的方法。JSP作为Java家族的一员,承袭了Java的特点,即跨平台的特性,也即一次编译,到处运行。
在国外,己经大量使用JSP作为网络应用程序的开发工具,而在国内,尽管JSP还不是主流开发技术,但是由于JSP的强大优势,许多网站都已经准备转向JSP,利用JSP来开发动态网站。
2.2 JSP工作原理
JSP是面向服务器的,因此支持任何浏览器。当Web服务器和JSP引擎遇到访问JSP网页的请求时,JSP引擎将请求对象发送给服务器端的相关组件,比如JavaBean组件、Servlet或EJB等,然后由服务器端组件处理这些请示,可能需要从数据库或数据存储中检索信息,然后服务器端组件再将响应对象返回JSP引擎。JSP引擎将响应对象传递给JSP页面,根据JSP页面的HTML格式完成数据编排,最后Web服务器和JSP引擎将格式化后的JSP页面以HTML格式返回客户浏览器。这就是当前网站构建中广泛采用的浏览器——Web服务器——后台数据库的三层架构模式。因为JSP所有程序操作都在服务器端执行,网络上传送给客户端的仅是得到的结果。
2.3 JSP体系结构
JSP网站开发标准给出了两种使用JSP的技术,可以归纳为模式一、模式二。
模式一:JSP+JavaBeans技术 在这种模式中,JSP页面独自响应请求并将处理结果返回给客户。Bean处理所有数据访问,JSP实现页面的表现,以实现内容生成与显示相分离。当处理复杂的大型应用时,页面被嵌入大量的脚本或Java代码段,当需要处理的商业逻辑复杂时,这种情况会变得非常糟糕,大量的内嵌代码使得页面程序变得复杂,对于前端界面设计人员,这是不可思议的事情。所以模式一可用于小型应用,不能够满足大型应用的需要。
模式二:JSP+Servlet+JavaBeans技术 Servlet技术是一种采用Java技术来实现CGI功能的一种技术,Servlet技术非常适于服务器端的处理和编程,并且Servlet会长期驻留在内存。
从开发的观点看,模式二具有更清晰的页面表现,清楚的开发者角色划分,在大规模项目开发中,模式二更被采用,模式二也更符合当前流行的MVC结构(Model/view/controller),其中Servlet对应controller,处于控制者的位置,处理HTTP请求,负责生成JSP中使用的Beans组件或对象,并判断应将请求传递给哪个JSP等,JSP对应view,负责生成最终的动态网页并返回给浏览器。而JavaBeans对应的是Model,实现各个具体的应用逻辑与功能。
2.4 JSP的特点
简化的页面生成技术。
JSP页面用标准的HTML或XML命令来处理页面的格式化和布局设计,而用类似HTML、XML的标记和Java语言编写的脚本程序生成页面内容。这使得页面形式与页面内容互相独立,非常有利于大型项目的分工合作。
与Java平台有机集成。
JSP技术是Java 2平台的重要组成部分,JSP使用Java语言作为它的脚本语言。在JSP页面中可以使用几乎所有的Java组件和Java API,这就能充分发挥出Java语言的强大功能。使用JSP技术可以创建具有高度可伸缩性和可靠性的Web应用程序。
硬件平台和服务器无关性。
JSP作为Java家族的一员,秉承了Java技术的“一次编写,随处可用(Write Once,Rum Anywhere)”的特性,可以运行于大多数流行的操作系统平台及Web服务器,这种与服务器硬件和操作系统平台的无关性是JSP相对于其它动态网页技术最大的一个优点。
功能可扩展性。
如同的JSP技术可以通过ActiveX/COM组件来扩展功能一样,JSP可以通过JavaBean和EJB(Enterprise JavaBean)以及自定义的标记来扩展功能。
JSP可以通过JDBC,与诸如Oracle、mysql这样的大型关系数据库进行连接。
JSP提供了一些隐含对象。这些隐含对象在JSP页面中可以直接引用,而不必首先声明。利用JSP提供的这些隐含对象,可以使脚本功能更加强大,并且编程更加容易、方便。例如,利用request对象,可以很容易地接收用户在HTML表单中提交的信息。
2.5 mysql
mysql 是一个具备完全 Web 支持的数据库产品,提供了对可扩展标记语言 (XML) 的核心支持以及在 Internet 上和防火墙外进行查询的能力,提供了以 Web 标准为基础的扩展数据库编程功能。丰富的 XML 和 Internet 标准支持允许使用内置的存储过程以 XML 格式轻松存储和检索数据。
mysql 提供强大的开发工具和各类开发特性,在大大提高开发效率的同时,进一步拓展应用空间,带来新的商业应用机遇。例如,XML数据库与Web Service的支持将使您的应用实现Internet数据互联,.Net集成极大的扩展了开发空间,异构数据集成、Service Broker使您的数据和其它应用无缝集成,各种新数据类型和T-SQL扩展带来了诸多灵活性。C#、VB.Net、XQuery、XMLA、ADO.Net 2.0、SMO、AMO等都将成为mysql数据平台上开发数据相关应用的有力工具。
JDBC技术是Java DataBase Connectivity的缩写,它是SUN公司提供的一种支持基本SQL功能的通用的应用程序接口(Application Programming Interface)。它由一组用Java语言编写的类和接口组成。通过这些类和接口,程序开发人员可以在Java语言中方便地建立与数据库的链接,通过执行相应SQL语句,完成对不同数据库的访问。因此,开发人员使用JDBC API可以不必编写一个应用程序来访问Sybase数据库,又另外编写一个应用程序去访问Oracle数据库,再写一个应用程序访问的mysql。不但如此,使用Java语言编写的应用程序可以在任何支持Java的平台上运行,不必在不同的平台上开发不同的应用程序。
简单地说,JDBC能完成下列三件事:
JDBC是一种通用低层的应用程序编程接口,它在不同的数据库功能模块的层次上提供一个统一的用户界面。说JDBC是一处低级的API,是指它直接调用SQL命令,它比其他的一些数据库连接API要容易使用些,但它有同样可以作为更高级的,用户办面更友好的API或开发工具基础。
第三章 美食网功能分析
为了最终实现目标系统,必须设计出组成这个系统的所有程序和文件(或数据库)。模块是数据说明、可执行语句等程序设计对象的集合,它是单独命名的而且可通过名字来访问。模块化就是把程序化分成若干个模块,每个模块完成一个子功能,把这些模块集起来组成一个整体,可以完成指定的满足问题的要求。
3.1 系统功能分析
首先对现有系统进行分析,现有系统是信息的重要来源。分析已有系统的功能和实现,从而确定新系统的设计目标和模型。由于条件有限,调研主要是在网上进行。即通过在网上已有的美食网站注册成会员来了解其具备的功能。
本网站提供各种与美食相关的信息,实现了对信息数据的浏览、查询、编辑和删除等基本数据库操作,采用了模块化设计方法,实现了前台功能模块和后台功能模块,前台功能模块包括名店介绍、特色美食、名店加盟、美食教程、美食社区等;后台功能模块包括管理员信息管理管理用户信息、管理名店信息、管理美食信息、管理教程信息、管理社区信息等功能。
网站首页:灵活推荐餐馆、美食和各种文章、图片内容等;名店介绍:可按菜系分类、餐馆环境等;条件检索查询餐馆,每个餐馆具有一个综合展示页,展示餐馆的店堂图片、菜式和网友点评。
特色美食:通过分类检索,可直接查询美食介绍、相关餐馆等信息。
美食教程:查询和浏览美食教程,可通过后台发布文章。用户也可以自定义创建文章栏目和分类。
美食社区: 一个会员互动交流的小型社区系统,包括餐馆点评、美食评论、聚会活动讨论等区域,用户也可自定义创建讨论区。
名店加盟:添加名店加盟信息。
后台设计:管理员信息管理:管理员登陆,信息修改等
管理用户信息:用户注册,登陆,忘记密码,信息修改,删除等
管理名店信息:名店的添加,查询,修改,删除
管理美食信息:美食的添加,查询,修改,删除
管理美食教程信息:美食教程的添加,查询,修改,删除
管理论坛信息:信息查询,删除,发表留言等
管理名店加盟信息:名店加盟的查询、处理、删除
3.2 可行性研究
可行性研究阶段的主要任务是在系统初步调查的基础上,对新系统是否能够实现和值得实现等问题做出判断,避免在花费了大量的人力和物力之后才发现系统不能实现或新系统投入使用后没有任何实际意义而引起的浪费,对新系统可行性的分析,要求用最小的代价在尽量短的时间内确定系统是否可行。
①技术可行性分析
美食网的开发是一项复杂的系统工程。为了保证系统开发成功,必须采用工程化的系统开发方法,并研究出一些符合工程化标准的开发方法。这些方法旨在指导开发者进行工程化的系统开发,从而加快系统开发的速度,保证质量以及降低开发成本。工程化的系统开发方法确实在开发实践中取得了一定的效果。此次开发使用JSP作为开发语言,采用Servlet技术,Tomcat5.0作为Web服务器。
②运行可行性分析:
随着计算机知识的普及和推广,越来越多的人掌握了计算机的基本使用方法和技能。随着Internet的发展,用户对于网络、WINDOWS等环境下的软件使用比较熟悉,对于新鲜事物,用户表现出极大的兴趣和热情。
③经济可行性分析:
美食网给人们带来了方便,成为一种全新的商务模式。因此,不用出门就可以在家购物的新时尚已经到来,构建一个美食网在经济上是完全可行的。
就本系统而言,随着电脑的普及,为学生在网络上进行购物提供有利的条件。而一个美食网可以为学生提供软件条件,这样学生便可以足不出户的买菜品了。商家可以从中获得利润,两全其美。
通过以上的分析,开发美食网是完全可行的。
④运行环境:
本系统采用联网多机多用户操作方式,系统的运行环境包括硬件、操作系统、关系数据库等软件:
硬件:中央处理器(CPU):奔4 以上的处理器;
硬 盘:80 GB以上硬盘;
内 存:512 MB;
显示器: 17寸显示器;
操作系统: Windows XP,
关系数据库: mysql ;
3.3 需求分析
需求分析的任务是通过详细调查现实世界要处理的对象,充分了解系统的工作概况,明确用户的各种需求,然后在此基础上确定新系统的功能。新系统必须充分考虑今后可能的扩充和改变。
1.在这里我们需要了解用户有什么样的具体要求和对系统性能的要求。
(1)用户的需求分析:
(a)用户注册
(b)用户登录
(c)菜品浏览
(d)菜品订购
(e)菜品查询
(f)订单修改
(g)修改密码
(h)修改个人信息
(i)管理员
(2)系统性能分析
对数据的安全性、完整性要求:用户信息保密,只有管理员能任意修改。确保网上支付安全。菜品信息、用户信息必须保证其完整性。防止恶意删改。以下是系统性能需求:
(a)准确性和可靠性高
(b)页面友好,功能齐全,且可以使用
(c)系统便于维护和升级。
(d)数据库访问效率高
3.4 系统总体结构图
3.5系统ER图
注册用户信息实体E-R图如下图4-3所示:
图4-3 注册用户信息实体E-R图
图书信息实体E-R图如下图4-4所示:
图4-4 图书信息实体E-R图
菜品名称实体E-R图如下图4-5所示:
图4-5 菜品名称实体E-R图
餐馆展示信息实体E-R图如下图4-6所示:
图4-6 餐馆展示信息实体E-R图
名店加盟实体E-R图如下图4-7所示:
图4-7 店辅加盟实体E-R图
第四章 美食管理系统总体设计
4.1 系统功能设计目标
理论系统功能设计目标如下:
(1) 实用性强:我们努力使系统符合实际操作流程的习惯,并尽量减少用户的输入,易学易用的友好的用户界面,满足各层次的用户使用的需求;
(2) 先进的程序结构:使用当代前卫的软件编程,能延长其生命周期,易于维护与管理;
(3) 安全可靠性高:后台维护功能齐全,根据平台在各个阶段不同的使用情况,管理人员可以设置相应的操作权限,增加系统注册,分配各个栏目的管理权限,实现系统的维护,保证系统的安全、可靠;
(4) 使用模块化设计的方法:使系统具有良好的可扩充性,以适应其不同阶段的发展需要,便于后来者分析、维护;
(5) 操作简单,维护方便:每个子系统都具有相对独立的系统维护功能对可变化的项目可自行维护;
(6) 查询功能强大:可以对菜品的基本情况、用户基本情况,菜品评信息,用户留言等按各种方式查询,可形成各种表单,同时还可对其进行汇总,使管理人员能及时准确地掌握用户和菜品等的基本情况。
4.2.美食网功能模块划分
根据需求分析与系统功能设计目标,结合实际情况本系统功能模块设计分为如下几个模块:
网站首页:灵活推荐餐馆、美食和各种文章、图片内容等;名店介绍:可按菜系分类、餐馆环境等;条件检索查询餐馆,每个餐馆具有一个综合展示页,展示餐馆的店堂图片、菜式和网友点评。
特色美食:通过分类检索,可直接查询美食介绍、相关餐馆等信息。
美食教程:查询和浏览美食教程,可通过后台发布文章。用户也可以自定义创建文章栏目和分类。
美食社区: 一个会员互动交流的小型社区系统,包括餐馆点评、美食评论、聚会活动讨论等区域,用户也可自定义创建讨论区。
名店加盟:添加名店加盟信息。
后台设计:管理员信息管理:管理员登陆,信息修改等
管理用户信息:用户注册,登陆,忘记密码,信息修改,删除等
管理名店信息:名店的添加,查询,修改,删除
管理美食信息:美食的添加,查询,修改,删除
管理美食教程信息:美食教程的添加,查询,修改,删除
管理论坛信息:信息查询,删除,发表留言等
管理名店加盟信息:名店加盟的查询、处理、删除
4.3 美食管理系统的体系结构
三层结构:
即:JSP技术 + JavaBeans + mysql 数据库
第五章 数据库设计
5.1 数据库系统
本系统的前端开发是使用JSP技术,通过JavaBeans进行逻辑控制和数据库连接,而后台数据库采用的是mysql 。mymysql管理系统是一项全面完整的数据库与分析产品。mysql 非常容易学习、使用,介绍、学习资料比较多,mysql 全面支持Web功能的数据库解决方案,与此同时,mysql 还在可伸缩性与可靠性方面保持着多项基准测试纪录,而这两方面特性又都是企业数据库系统在激烈市场竞争中克敌致胜的关键所在。无论以应用程序开发速度还是以事务处理运行速度来衡量,mysql 都堪称最为快捷的数据库系统。
对比mysql 和其他的大型数据库管理系统,mysql 具有可靠的安全性,较快的存储速度,高度的兼容性,简单易用,应用mysql 作为后台数据库为系统的开发提供了强有力的支持,并对以后软件的运行提供了坚实的基础,因此,我们采用了mysql 作为后台数据库。
5.2 数据库表设计
系统数据库中其中几个表格的设计结果如下面表格所示。每个表格表示在数据库中的一个表。本系统的数据库其中包括八个表:
表:dtproperties
序号 |
字段名 |
类型 |
长度 |
精度 |
小数位数 |
默认值 |
允许空 |
主键 |
说明 |
1 |
id |
int |
4 |
|
|
|
|
√ |
|
2 |
objectid |
int |
4 |
|
|
|
√ |
|
|
3 |
property |
varchar |
64 |
|
|
|
|
√ |
|
4 |
value |
varchar |
255 |
|
|
|
√ |
|
|
5 |
uvalue |
nvarchar |
255 |
|
|
|
√ |
|
|
6 |
lvalue |
image |
16 |
|
|
|
√ |
|
|
7 |
version |
int |
4 |
|
|
(0) |
|
|
|
表:t_admin
序号 |
字段名 |
类型 |
长度 |
精度 |
小数位数 |
默认值 |
允许空 |
主键 |
说明 |
1 |
userId |
int |
4 |
|
|
|
|
√ |
|
2 |
userName |
varchar |
50 |
|
|
|
√ |
|
|
3 |
userPw |
varchar |
50 |
|
|
|
√ |
|
|
表:t_canguan
序号 |
字段名 |
类型 |
长度 |
精度 |
小数位数 |
默认值 |
允许空 |
主键 |
说明 |
1 |
canguan_id |
int |
4 |
|
|
|
|
√ |
|
2 |
canguan_name |
varchar |
50 |
|
|
|
√ |
|
|
3 |
canguan_add |
varchar |
50 |
|
|
|
√ |
|
|
4 |
canguan_tel |
varchar |
50 |
|
|
|
√ |
|
|
5 |
canguan_beizhu |
varchar |
5000 |
|
|
|
√ |
|
|
6 |
canguan_del |
varchar |
50 |
|
|
|
√ |
|
|
表:t_catelog
序号 |
字段名 |
类型 |
长度 |
精度 |
小数位数 |
默认值 |
允许空 |
主键 |
说明 |
1 |
catelog_id |
int |
4 |
|
|
|
|
√ |
|
2 |
catelog_name |
varchar |
50 |
|
|
|
√ |
|
|
3 |
catelog_miaoshu |
varchar |
5000 |
|
|
|
√ |
|
|
4 |
catelog_del |
varchar |
50 |
|
|
|
√ |
|
|
表:t_doc
序号 |
字段名 |
类型 |
长度 |
精度 |
小数位数 |
默认值 |
允许空 |
主键 |
说明 |
1 |
id |
int |
4 |
|
|
|
|
√ |
|
2 |
mingcheng |
varchar |
50 |
|
|
|
√ |
|
|
3 |
fujian |
varchar |
50 |
|
|
|
√ |
|
|
4 |
fujianYuanshiming |
varchar |
50 |
|
|
|
√ |
|
|
5 |
del |
varchar |
50 |
|
|
|
√ |
|
|
表:t_gonggao
序号 |
字段名 |
类型 |
长度 |
精度 |
小数位数 |
默认值 |
允许空 |
主键 |
说明 |
1 |
gonggao_id |
int |
4 |
|
|
|
|
√ |
|
2 |
gonggao_title |
varchar |
50 |
|
|
|
√ |
|
|
3 |
gonggao_content |
varchar |
8000 |
|
|
|
√ |
|
|
4 |
gonggao_data |
varchar |
50 |
|
|
|
√ |
|
|
5 |
gonggao_fabuzhe |
varchar |
50 |
|
|
|
√ |
|
|
6 |
gonggao_del |
varchar |
50 |
|
|
|
√ |
|
|
7 |
gonggao_one1 |
varchar |
50 |
|
|
|
√ |
|
|
8 |
gonggao_one2 |
varchar |
50 |
|
|
|
√ |
|
|
9 |
gonggao_one3 |
varchar |
50 |
|
|
|
√ |
|
|
10 |
gonggao_one4 |
varchar |
50 |
|
|
|
√ |
|
|
11 |
gonggao_one5 |
datetime |
8 |
|
|
|
√ |
|
|
12 |
gonggao_one6 |
datetime |
8 |
|
|
|
√ |
|
|
13 |
gonggao_one7 |
int |
4 |
|
|
|
√ |
|
|
14 |
gonggao_one8 |
int |
4 |
|
|
|
√ |
|
|
表:t_goods
序号 |
字段名 |
类型 |
长度 |
精度 |
小数位数 |
默认值 |
允许空 |
主键 |
说明 |
1 |
goods_id |
int |
4 |
|
|
|
|
√ |
|
2 |
goods_name |
varchar |
50 |
|
|
|
√ |
|
|
3 |
goods_miaoshu |
varchar |
5000 |
|
|
|
√ |
|
|
4 |
goods_pic |
varchar |
50 |
|
|
|
√ |
|
|
5 |
goods_jiage |
int |
4 |
|
|
|
√ |
|
|
6 |
goods_catelog_id |
int |
4 |
|
|
|
√ |
|
|
7 |
goods_canguan_id |
int |
4 |
|
|
|
√ |
|
|
8 |
goods_del |
varchar |
50 |
|
|
|
√ |
|
|
表:t_liuyan
序号 |
字段名 |
类型 |
长度 |
精度 |
小数位数 |
默认值 |
允许空 |
主键 |
说明 |
1 |
liuyan_id |
int |
4 |
|
|
|
|
√ |
|
2 |
liuyan_title |
varchar |
50 |
|
|
|
√ |
|
|
3 |
liuyan_content |
varchar |
5000 |
|
|
|
√ |
|
|
4 |
liuyan_date |
varchar |
50 |
|
|
|
√ |
|
|
5 |
liuyan_user |
varchar |
50 |
|
|
|
√ |
|
|
第六章 程序设计
6.1 程序说明
根据前边的需求分析和系统总体设计内容进行程序设计。本系统是以Java 语言为基础进行开发的。主要是采用JSP技术+JavaBeans+ mysql 模式进行模块开发与实现的。全部都以面向对象的方法进行设计和实现。
6.2 具体模块划分
网站首页:灵活推荐餐馆、美食和各种文章、图片内容等;名店介绍:可按菜系分类、餐馆环境等;条件检索查询餐馆,每个餐馆具有一个综合展示页,展示餐馆的店堂图片、菜式和网友点评。
6.2.1用户注册
普通用户无需注册就可以浏览网站部份信息,如果用户要留言、或者加盟一定要注册才可以访问这几个页面。用户注册包括:用户名、密码、密码确认、真实姓名、住址、性别、联系方式等资料。
TUser user=new TUser();
user.setUserName(userName);
user.setUserPw(userPw);
user.setUserAddress(userAddress);
user.setUserTel(userTel);
user.setUserRealname(userRealname);
user.setUserEmail(userEmail);
user.setUserSex(userSex);
user.setUserQq(userQq);
user.setUserDel("no");
userDAO.save(user);
Map session= ServletActionContext.getContext().getSession();
session.put("user", user);
return "successAdd";
6.2.2用户登录模块
用户登录包括:登录名称,输入密码。
当用户登录后由管理员核对该用户的名称和密码是否正确,如果无误的话用户可以通过检查直接进入网站的其它页面进行浏览和订购。
String sql="from TAdmin where userName=? and userPw=?";
Object[] con={userName,userPw};
List adminList=adminDAO.getHibernateTemplate().find(sql,con);
if(adminList.size()==0)
{
result="no";
}
else
{
WebContext ctx = WebContextFactory.get();
HttpSession session=ctx.getSession();
TAdmin admin=(TAdmin)adminList.get(0);
session.setAttribute("userType", 0);
session.setAttribute("admin", admin);
result="yes";
}
String sql="from TGoods where goodsDel='no'";
List goodsList=goodsDAO.getHibernateTemplate().find(sql);
Map request=(Map)ServletActionContext.getContext().get("request");
request.put("goodsList", goodsList);
return ActionSupport.SUCCESS;
6.2.3餐馆展示
特色美食:通过分类检索,可直接查询美食介绍、相关餐馆等信息。
TMingdian mingdian=new TMingdian();
mingdian.setName(name);
mingdian.setAddress(address);
mingdian.setTel(tel);
mingdian.setBeizhu(beizhu);
mingdian.setZhuantai("noshenhe");
mingdian.setDel("no");
mingdianDAO.save(mingdian);
return ActionSupport.SUCCESS;
6.2.4美食教材
美食教程:查询和浏览美食教程,可通过后台发布文章。用户也可以自定义创建文章栏目和分类。
String sql="from TDoc where del='no'";
List docList=docDAO.getHibernateTemplate().find(sql);
Map request=(Map)ServletActionContext.getContext().get("request");
request.put("docList", docList);
return ActionSupport.SUCCESS;
6.2.5美食社区
美食社区: 一个会员互动交流的小型社区系统,包括餐馆点评、美食评论、聚会活动讨论等区域,用户也可自定义创建讨论区。
TLiuyan liuyan=new TLiuyan();
liuyan.setLiuyanContent(liuyanContent);
liuyan.setLiuyanTitle(liuyanTitle);
liuyan.setLiuyanDate(new Date().toLocaleString());
Map session=ActionContext.getContext().getSession();
if(session.get("user")!=null)
{
TUser user=(TUser)session.get("user");
liuyan.setLiuyanUser(user.getUserName());
}
liuyanDAO.save(liuyan);
this.setMessage("留言成功");
this.setPath("liuyanAll.action");
return "succeed";
6.2.6名店加盟
名店加盟:添加名店加盟信息。
TMingdian mingdian=new TMingdian();
mingdian.setName(name);
mingdian.setAddress(address);
mingdian.setTel(tel);
mingdian.setBeizhu(beizhu);
mingdian.setZhuantai("noshenhe");
mingdian.setDel("no");
mingdianDAO.save(mingdian);
6.3后台管理
管理员输入用户名和密码,系统判断合法时,刚进入后台主界面,否则提示错误信息。登录后台后,我们可以看到后台功能有留言管理、餐馆管理、菜品管理、美食教材等功能信息。管理员可以在左边菜单中选择相应的功能进行操作。
WebContext ctx = WebContextFactory.get();
HttpSession session=ctx.getSession();
TAdmin admin=(TAdmin)session.getAttribute("admin");
admin.setUserPw(userPwNew);
adminDAO.getHibernateTemplate().update(admin);
session.setAttribute("admin", admin);
6.3.1管理用户信息
为了保证系统安全性,管理员登录后可以修改密码
WebContext ctx = WebContextFactory.get();
HttpSession session=ctx.getSession();
TAdmin admin=(TAdmin)session.getAttribute("admin");
admin.setUserPw(userPwNew);
adminDAO.getHibernateTemplate().update(admin);
session.setAttribute("admin", admin);
6.3.2管理名店信息
管理员登录后可以对店辅加盟的信息进行添加,修改,删除操作,添加成功后,前台就会显示
TMingdian mingdian=mingdianDAO.findById(id);
mingdian.setDel("yes");
mingdianDAO.attachDirty(mingdian);
this.setMessage("操作成功");
this.setPath("mingdianMana.action");
return "succeed";
6.3.3管理美食信息
美食的添加,修改,删除。其中美食管理信息包括名称
Map request=(Map)ServletActionContext.getContext().get("request");
TGoods goods=goodsDAO.findById(goodsId);
request.put("goods", goods);
return ActionSupport.SUCCESS;
6.3.4管理论坛信息
论坛信息是一个比较简单却是很直观的信息发布/存放系统,它提供了一个和浏览者交流、沟通的平台。现在许多网站都有论坛,它可以收集浏览者提出的各种意见和建议。
在论坛信息管理系统中,管理员可以对用户留言进行管理。其整个系统的功能如下。
整个系统要实现的功能可以将系统分为以下几个模块:发表留言模块、查看留言模块、管理员修改、留言设置、留言管理模块。系统的设计结构图如图所示。
TLiuyan liuyan=liuyanDAO.findById(liuyanId);
liuyanDAO.delete(liuyan);
this.setMessage("留言删除成功");
this.setPath("liuyanMana.action");
return "succeed";
结束语
经过十个月的不懈努力,和指导老师的谆谆教导,以及同组同学的团结协作,充分利用大学四年所学的专业知识,通过大量阅读与设计相关的专业参考文献,我终于完成了本次毕业设计,已经基本上实现了美食网的各项功能。
在这次毕业设计过程中,我独立设计和实现了用户注册,用户登录,修改密码,留言板,菜品浏览等五个模块的全部功能,以及这几个模块的数据库设计。
通过这次毕业设计,我掌握了mysql 这种大型数据库的编程方法,掌握了JAVA语言和JSP技术。了解到电子商务的理论以及平台开发的模式,掌握了网络开发的方法与模式。对团队的协作,对软件开发方法和手段,有了一定的认识,丰富了我的软件开发的经验,提高了程序编写的水平,并加深理解了许多课程中、菜品本上学到的知识和理论。同时,通过编写毕业设计论文,我还基本掌握了软件文档的菜品写方法和菜品写格式。
本系统的缺陷也是明显的,如安全性,效率问题等等。由于时间,能力,国内JAVA,JSP技术资料有限等原因,有些功能实现的并不完美,在已经完成的程序中,也存在许多不尽人意的算法,也没有统一优化,系统有待进一步改善,而这些问题也让我充分认识到了软件开发的困难。
通过毕业设计,我学会了如何去了解一种新型的技术,去掌握一种技术。以及软件开发的基本流程。在学习过程中,我们遇到问题经常上网求助,去菜品店查询资料,扩大了自己的知识面。
总之,这次毕业设计为我今后继续学习、深造奠定了基础,我非常感谢各位老师、同学的支持与帮助。
致谢
在本次毕业设计过程中,得到了指导老师的指导与支持。在此特别感谢我的知道老师老师。指导老师的悉心指导和大力支持,在总体结构、功能的把握上给予了非常大的帮助,同时根我提供了非常优越的设计环境,并对我在编程、数据库设计等细节工作上给予了耐心的指导,对于我顺利完成这次毕业设计起到了关键性的作用。
我还要感谢我的母校——XXX大学,以及在大学四年生活中给予我关心和帮助的老师和同学,是他们教会了我专业的知识和做人的道理。通过这次毕业设计我还明白了作为一名计算机专业的大学毕业生,我们要会的不仅仅是编写代码,更重要的是要有整体把握系统设计的能力。我会在以后的工作和学习中不断完善自己,为我最热爱的母校争光,为自己翻开辉煌的新篇章。
参考文献
[1]孙卫琴,李洪成.《Tomcat 与 Java Web 开发技术详解》.电子工业出版社,2003年6月:1-205
[2]BruceEckel.《Java编程思想》. 机械工业出版社,2003年10月:1-378
[3]FLANAGAN.《Java技术手册》. 中国电力出版社,2002年6月:1-465
[4]孙一林,彭波.《Java数据库编程实例》. 清华大学出版社,2002年8月:30-210
[5]Lee Anne Phillips.《巧学活用HTML4》.电子工业出版社,2004年8月:1-319
[6]飞思科技产品研发中心.《JSP应用开发详解》.电子工业出版社,2003年9月:32-300
[7]耿祥义,张跃平.《JSP实用教程》. 清华大学出版社,2003年5月1日:1-354
[8]孙涌.《现代软件工程》.北京希望电子出版社,2003年8月:1-246
[9]萨师煊,王珊.《数据库系统概论》.高等教育出版社,2002年2月:3-460
[10]Brown等.《JSP编程指南(第二版)》. 电子工业出版社 ,2003年3月:1-268
[11]清宏计算机工作室.《JSP编程技巧》. 机械工业出版社, 2004年5月:1-410
[12]朱红,司光亚.《JSP Web编程指南》.电子工业出版社, 2001年9月:34-307
[13]赛奎春.《JSP工程应用与项目实践》. 机械工业出版社, 2002年8月:23-294
电话咨询
在线咨询
微信咨询