网上订餐系统论文 - 图文

更新时间:2024-06-17 02:46:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

本科生毕业论文

网上订餐系统设计与开发

Design and Development of Online Meal

Ordering System

所在院(部):

学生姓名: 指导教师: 研究起止日期:

年 月

摘 要

随着时间的推移,计算机网络覆盖全球,今天的中国也以计算机为核心,计算机的出现给生活带来了很多的便利,各行各业都依赖于计算机的使用。网上订餐已变成当今年轻人喜爱的生活方式之一。网上订餐系统基于JSP,采用了Jsp+javaBean+MySQL技术。MySQL为数据库开发平台,Tomcat作为信息服务器,Jsp作为前台页面显示。网上订餐系统,可以让用户在线浏览菜品信息(图片,文字描述)、在线下订单、查看购物车,留言板、查询订单等功能。系统管理员可以添加和删除的菜肴,管理用户,管理删除订单。与普通的订餐相比,网上订餐系统为用户和商家都提供了更高的效率和更便捷的手段 。

关键词:网上订餐; MVC模型;Jsp

Abstract

With the passage of time, the computer network has covered the whole world, today’s China also takes computers as the core. The appearance of computers bring much convenience to life, all walks of life are dependent on the use of computers. Online meal ordering has become one of young people’s favorite ways of life at present. The online meal ordering system is based on JSP and uses the MVC model with Jsp+javaBean+SQL three-layer structure. The system takes MySQL as the database development platform, Tomcat as the information server and Jsp as the front page display. The online meal ordering system allows users to browse information of dishes online (pictures, text descriptions) and place orders online, View your shopping cart, message board, query the order. The system administrator can add and delete dishes, manage users, and manage and delete orders. Compared with ordinary meal ordering, the online meal ordering system provides users and merchants with higher efficiency and more convenient means.

Keywords: online ordering; MVC; JSP

目 录

1.绪论 ............................................................................. 1

1.1 背景及意义 .................................................................. 1 1.2 国内外现状 .................................................................. 1 1.3论文主要工作 ................................................................. 2 1.4论文结构安排 ................................................................. 2 2.相关语言及开发工具介绍 ........................................................... 3

2.1 JSP ......................................................................... 3

2.1.1 JSP重要功能 ........................................................... 3 2. 2 JDBC介绍 ................................................................... 3 2. 3 SERVLET技术 ................................................................. 4 2. 4 MVC介绍 .................................................................... 4 2.5 MYECLIPSE 简介 ............................................................... 5 2.6应用服务器 TOMCAT ............................................................. 5 2.7 本章小结 .................................................................... 5 3.网上订餐系统的分析和总体设计 ..................................................... 6

3.1系统设计分析 ................................................................. 6 3. 2系统用户分析 ................................................................ 6

3.2.1普通用户 ............................................................... 6 3.2.2管理员 ................................................................. 6 3.3系统功能分析 ................................................................. 7

3.3.1前台模块分析 ........................................................... 7 3.3.2后台模块分析 ........................................................... 7 3.4本章小结 ..................................................................... 8 4.系统数据库设计 ................................................................... 9

4.1 设计图 ...................................................................... 9 4.2数据库设计 .................................................................. 11 4.3本章小结 .................................................................... 13

5.系统模块设计实现 ................................................................ 14

5.1前台主要模块功能设计 ........................................................ 14

5.1.1数据库链接 ............................................................ 14 5.1.2用户登录模块功能设计 .................................................. 15 5.1.3商品模块功能设计 ...................................................... 16 5.1.4购物车模块功能设计 .................................................... 20 5.1.5订单模块功能设计 ...................................................... 21 5.1.6留言板模块功能设计 .................................................... 22 5.2后台主要模块功能设计 ........................................................ 24

5.2.1管理员登录模块功能设计 ................................................ 24 5.2.2菜单管理模块功能设计 .................................................. 26 5.2.3用户管理模块功能设计 .................................................. 29 5.2.4留言管理模块功能设计 .................................................. 31 5.2.5订单管理模块功能设计 .................................................. 31 5.3查询分页 .................................................................... 34 5.4网站系统测试 ................................................................ 35

5.4.1功能测试 .............................................................. 35 5.4.2数据测试 .............................................................. 35 5.4.3测试结果 .............................................................. 36 5.5本章小结 .................................................................... 36 结束语 ............................................................................. 37 参考文献 ........................................................................... 38 致谢 ............................................................................... 39

1.绪论

1.1 背景及意义

如今,电子商务已经覆盖全球,网上购物很好的解释了这一现象(淘宝,京动,一号店等)。随着时代的进步,上网的人数越来越多,网上订餐是年轻人依赖的生活方式之一,越来越完善的网上订餐系统将是现代社会必然的需求。 网上订餐系统是一个将餐饮和网络相结合的一个电子商务网站,它不但方便了用户足不出户就可以订餐,而且有助于餐饮行业更好地服务客户、拓宽市场,科学地管理和运营餐饮企业。

随着浏览网页数的增加,各类型的网站越来越多,页面越来越漂亮,网页的设计风格和颜色的搭配越来越被人注重,视觉效果占主导因素。餐饮行业也就可以利用这种优势,发布菜品的信息,每一样菜都配有图片及相关文字描述,吸引消费者的关注。只要消费者注册登录,就会很方便的点到需要的菜品。网上订餐提供快速便捷的服务给用户,消除了用户很多不必要的时间和麻烦,带来更多的利益的需要。

在线订购与传统的电话订购相比有许多优点。 例如,电话订单,往往是因为消费者不理解或不确定相关信息,进行相应的建议,这在一定程度上,浪费时间。最终送到消费者面前的菜品有可能不是与工作人员所描述的一样,相比而言,网络订餐信息更新迅速,让消费者有更多的选择。再者,网络不会跟电话一样占线,只要消费者注册登录,输入相关信息,地址就永远不会丢失,也不会弄错。

1.2 国内外现状

和其他传统行业一样,餐饮业近年来也在发生着变化,越来越多的新型餐厅向人们招手,新兴互联网公司深深打上餐饮业。在中国,在线预订第一次出现是在上世纪年代末,广州和其他大城市都出现了网上订购服务。

就例如所熟悉的肯德基,必胜客,吃一顿肯德基必须要到门店去吃,想想看,到了节假日去肯德基里面人山人海,吃一顿肯德基要等好久好久。现在不同了,自从肯德基、必胜客有了网上订餐,消费者不用到门店去排好长的队,只要上http://www.4008823823.com.cn/,在此网页选中你要的套餐下单,不要30分钟,香喷喷的肯德基、必胜客就会送到消费者的面前。

在其他国家,消费者可以访问并输入邮政编码,电脑会显示区域的提供在线服务的餐厅,消费者可以浏览到餐厅的菜单,并且预约。 食品网发言人说:在参加该公司网上联网销售的餐馆中,网

1

上订餐的数量实际上比普通的电话订餐高出22%。此外,网上订餐中多功能性的服务还可以让消费者从容地上网浏览餐馆的菜单,或进行价格上的比较,来选择所需要的美食佳肴。目前,通过上网提供外卖和送餐服务的餐厅多于独立餐馆经营者,外卖与送餐服务占餐饮生意额的一半以上。

1.3论文主要工作

本系统主要采用MVC模式实现的,运用JSP语言来编写,使用 MYSQL 数据库。该系统完成了普通用户和管理员两种身份的人使用。前台实现了用户的注册、登录以及用户资料修改、购物车、订单查询、畅销商品、所有商品、留言板,后台实现了用户管理模块、订单管理模块、菜单管理模块、留言管理模块。

1.4论文结构安排

本论文分为六个章节。

第一章 绪论,对网上订餐系统的背景、意义、国内外订餐的现状进行分析,对论文主要结构进行安排;

第二章 相关语言和开发工具的介绍,如JSP、SERVLET、MVC等;

第三章 网上订餐系统分析和总体设计,对系统、数据库、用户、前后台模块进行需求分析和设计,对设计的各个模块的功能进行设计,并且绘制出网上订餐系统功能模块图;

第四章 系统数据库设计,给出相关表的设计图和系统总体设计图,对各表结构进行描述说明; 第五章 系统模块设计实现,对各个模块设计详细介绍,在重要模块的地方并附有关键代码的说明和MVC层次之间调用图加以解释,最后进行各模块的功能测试。

第六章 论文总结,总体描述订餐系统的完成情况,运用哪些技术,不足之处加以改进。

2

2.相关语言及开发工具介绍

2.1 JSP

J S P是由Sun Microsystems公司(现已被Oracle收购)倡导、许多公司都参与了一个动态的技术标准的建立。在传统的网页HTML文件(*.htm,*.html)中加入Java程序片段(Scriptlet)和JSP标签,就构成了JSP网页java程序片段可以操纵数据库、重定向页面,实现功能的动态网站的建立需要。程序操作都在服务器端执行,得到的唯一结果上传到客户端,大大减少了客户端浏览器的请求,即使客户端的浏览器不支持,页面可以访问。

JSP与Servlet一样,是在服务器端执行的。Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序段,然后将执行结果连同JSP文件中的HTML代码一起返回给客户端。插入的Java程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。

2.1.1 JSP重要功能

JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。JSP将网页逻辑与网页设计的显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。 JSP(JavaServer Pages)是一种动态页面技术,它的主要目的是将表示逻辑从Servlet中分离出来。

JSP页面由HTML代码和嵌入其中的Java代码所组成。在网页服务器要求客户端代码进行处理,然后将生成的页面返回给客户端的浏览器。Java Servlet是JSP的技术基础,而且大型的Web应用程序的开发需要Java Servlet和JSP配合才能完成。JSP具备了Java一个简单的使用技术,完全面向对象的,具有独立性和安全性。

2. 2 JDBC介绍

①JDBC包括两组接口,一组接口面向Java应用开发人员,另一组接口面向驱动程序编写人员。 ②通过JDBC API可以完成以下3件事情:

建立与数据库管理系统的连接; 向服务器提交要执行的SQL语句; 处理返回的结果集。 ③主要接口:

java.sql.Driver:读取数据库信息,创建一个用于访问数据库连接对象提供连接方法驱动。

3

java.sql.DriverManager:管理Driver对象,连接数据库。注册驱动程序、获得连接、向数据库发送信息。

java.sql.Connection:连接Java数据库和Java应用程序之间的主要对象。创建所有的Statement对象,执行SQL语句。

java.sql.Statement:代表一个特定的容器,一个特定的数据库执行语句。

java.sql.ResultSet:用于控制对一个特定语句的行数据的存取。也就是数据库中记录或行组成的集合。

javax.sql.DataSource:采用数据源方式时使用,用于获取连接。

2. 3 Servlet技术

Servlet是使用Java Servlet 应用程序设计接口(API)及相关类和方法的 Java 程序。Java servlet对于Web服务器就好象Java applet对于Web浏览器。Servlet装入Web服务器并在Web服务器内执行,而applet装入Web浏览器并在Web浏览器内执行。Java Servlet API 定义了一个servlet 和Java使能的服务器之间的一个标准接口,这使得Servlets具有跨服务器平台的特性。

Servlet 通过创建一个框架来扩展服务器的能力,以提供在 Web 上进行请求和响应服务。当客户机发送请求至服务器时,服务器可以将请求信息发送给 Servlet,并让 Servlet 建立起服务器返回给客户机的响应。 当启动 Web 服务器或客户机第一次请求服务时,可以自动装入 Servlet。装入后, Servlet 继续运行直到其它客户机发出请求。Servlet 的功能涉及范围很广。

2. 4 MVC介绍

MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑和数据显式分离的方法组织代码,将业务逻辑被聚集到一个部件里面,在界面和用户围绕数据的交互能被改进和个性化定制的同时而不需要重新编写业务逻辑。MVC开发独特传统的输入,处理和一个图形用户界面的逻辑功能配置输出。 ◆Model层实现系统中的业务逻辑,通常可以用javabean或EJB实现。 ◆View层用于与用户的交互,通常用JSP来实现。

◆Controller层是Model与View之间沟通的桥梁,通常可以由servlet来实现,它可以分派用户的请求,并选择恰当的视图以用于显示,同时它也可以解释用户的输入并将它们映射为模型层可执行的操作。

4

2.5 MyEclipse 简介

MyEclipse企业级工作平台(MyEclipse Enterprise Workbench ,简称MyEclipse)是对EclipseIDE的扩展,利用它我们可以在数据库和JavaEE的开发、发布以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的JavaEE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML,Struts,JSP,CSS,Javascript,Spring,SQL,Hibernate。

2.6应用服务器 Tomcat

Tomcat是一个免费的开源的Serlvet容器,它是Apache基金会的Jakarta项目中的一个核心项目,由Apache Sun和其它一些公司以及个人共同开发而成。由于有了Sun的参与和支持,最新的Servlet和JSP规范在Tomcat中得到体现。Tomcat被Java World杂志的编辑选为2010年度最具创新的java产品,可见其在业界内的地位。Tomcat不只是一个Servlet容器,它也有一个传统的Web服务器的功能:也处理Html页面,但是与Apache相比,它的处理静态Html的能力就不如Apache。

2.7 本章小结

本章主要是对系统中所运用的技术进行简单的介绍,系统主要采用了JSP技术,JDBC技术,Java Bean技术,Servlet技术,MVC模式,运用MyEclipse和Tomcat软件。系统利用MVC模式,降低了模块之间的耦合度,有利用程序的维护和拓展。

5

3.网上订餐系统的分析和总体设计

3.1系统设计分析

模块设计:包括登录注册模块、菜品展示模块、购物车模块、订单模块、留言板模块和后台管理。

数据库设计:包括数据库实体图、数据库表功能设计。 项目目录结构:开发文件夹使用说明。

在创建完项目之后,接下来就是为项目添加必需的文件,其中src主要存放Java源文件,包括Dao包(数据库的操作都封装在Dao内)、VO包(把从数据库查询到的信息实例化为VO)等;css存放样式文件;JS用于存放JAVAScript源文件;images/dishes-img用于存放系统中用到的图片文件;manage用于存放后台管理模块的页面;WEB-INF系统文件夹,存放项目所需的库文件和编译后的Java文件;META-INF系统文件夹。

3. 2系统用户分析

3.2.1普通用户

任何用户访问网上订餐系统都可以浏览菜品信息,但如果该用户是第一次访问订餐的话,必须要先进行注册,然后登录后才可以订餐。在本系统中,用户如果不登录的话,只可以看,没有订餐的操作,只有登录后才可以。信息系统中的用户,可以查看你的个人信息,你可以注册,修改个人信息,等等。用户选好菜品后可以将其放入购物车,系统将对用户购买的菜品价格进行计算,一目了然。用户也可以对已放入购物车的菜品进行删除操作。在确定自己购买的菜品后,用户填写自己的地址等信息(电话,邮编),方便送达。

另外,用户还可以在系统留言板进行留言,可以用你注册的名字,也可以匿名留言,无论是好是坏,都有助于提高餐饮的服务质量。用户还可以查找自己历史订单。

3.2.2管理员

管理员是享有系统最高权限的管理人员。管理员在登录后台系统后,可可以对普通用户或整个系统的适当的管理操作。在后台,管理员可以查看订单,并确认后交货的订单状态的变化。在菜品管理方面,管理员可以对菜品进行增加,删除,修改操作。在用户管理方面,可以对用户进行删除,修改操作。在留言板管理上,只能对留言进行删除。

6

3.3系统功能分析

该网站是针对消费者网上订餐所设立的,在设计之前,浏览了当前一些订餐网站并做了一些资料搜集,针对此类型网站的功能做了总结,以及每个功能的具体说明。

3.3.1前台模块分析

用户注册模块:在这个系统中注册,用户必须登录会员可以购买的商品,没有会员用户必须注册(包括用户名,密码,电子邮件,等等)。

用户登录模块:实现用户的登录。

用户修改信息:用户可以通过该模块对自己相应的信息进行修改,但是必须先进行登录之后方可修改。

推荐商品模块:数据库中newfoods为1的菜品被查询出来。 菜品销售TOP模块:按照hit进行降序排列,然后取前4个商品。

查看菜品模块:在用户未登录时,只能给用户查看,不能购买。在用户登录后,可以进行对该菜品购买。

购物车模块:当用户登录购买菜品以后,点击该模块后,会看到购买商品的相应信息,并且可以点“继续购物”或“去收银台结账”或“清空购物车”。

查看订单模块:这个模块要与购物车模块共同工作,可以在这个模块中显示购买者的购买详细情况。

留言板模块:在你登录的前提下,进行留言。不过唯一的好处是,你的用户名可留下自己注册的,也可以另取,这样也保证自己信息的安全。

关于我们模块:介绍系统相关的信息。

3.3.2后台模块分析

订单管理模块:管理员登录后,您可以订购信息用户的删除,修改操作。 菜品管理模块:管理员登录后,可以对菜品信息进行添加、删除、修改的操作 用户管理模块:管理员登录后,可以对会员信息进行删除、修改的操作 留言板管理模块:管理员登录后,可以对公告信息进行删除操作 系统整体模块图,如图3-1所示。

7

图3-1系统整体模块图

3.4本章小结

本章主要是对系统的整体设计进行了分析,对前台普通用户和后台管理员用户权限问题进行了分析设计,无论是普通用户还是管理员,进入系统前都要先进行登录,才能有权限进行操作。除此之外,对系统前后台管理各个功能模块进行了说明,通过系统整体模块图,能够更直观、更清楚。

8

4.系统数据库设计

网上订餐系统数据库共由6张表组成,分别是菜品表(foods)、后台管理员表(manager)、会员表(member)、留言信息表(message)、配送订单表(ordertable)和详细订单表(orderdetail)。

4.1 设计图

菜品实体图包括:菜品ID、菜品名、菜品价格、是否是新品、浏览次数等属性,如图4-1所示。

图4-1 菜品实体图

会员实体图包括:会员ID、用户名、出生日期、密码、地址、消费额等属性,如图4-2所示。

图4-2 会员实体图

配送订单实体图包括:订单ID、订单编号、运送方式、付款方式等属性,如图4-3所示。

9

图4-3 配送订单实体图

详细订单实体图包括:订单ID,菜品数量、菜品ID、菜品价格、菜品名称,如图4-4所示。

图4-4详细订单实体图

留言信息实体图包括:留言ID、留言人、主题、留言内容,如图4-5所示。

图4-5 留言信息实体图

除去各表之间的属性后,网上订餐系统总体关系图,如图4-6所示。

10

图4-6 网上订餐系统总体关系图

4.2数据库设计

本系统数据库通过MySQL Server5.1、Navicat 8 for MySQL图形化界面软件对数据库进行创建。

表4-1 菜品表(foods) 序号 1 2 3 4 5 6 7 8 9 字段名 id foodsname introduce price picture intime newGoods sale hit 字段类型 Bigint Varchar Text Decimal Varchar Datetime Int int int 长度 8 200 0 10 100 0 4 4 4 备注 Primary Key Not Null Not Nul Not Nul Not Nul Not Nul Not Nul Not Nul Not Nul 描述 菜品ID 菜品名称 菜品介绍 价格 图片 时间 新品 物价 浏览次数

表4-2后台管理员表(manager)

序号 1 2 3 字段名 id manager password 字段类型 int varchar varchar

11

长度 4 30 30 备注 Primary Key Not Null Not Null 描述 管理员ID 名字 密码

表4-3会员表(member) 序号 1 2 3 4 5 6 7 8 9 10 11 字段名 id username truename password city address postcode amount tel bdate email 字段类型 int varchar varchar varchar varchar varchar varchar decimal varchar date varchar 长度 4 20 20 20 20 20 200 10 20 0 100 备注 Primary Key Not Null Not Null Not Nul Not Nul Not Nul Not Nul Not Nul Not Nul Not Nul Not Nul 描述 用户ID 用户名 真实姓名 密码 城市 地址 邮编 消费额 电话 出身日期 邮箱 表4-4 详细订单表(orderdetail) 序号 1 2 3 4 5 6 字段名 id orderid goodsid goodsname price goodsnumber 字段类型 bigint bigint bigint varchar decimal int 长度 8 8 8 100 11 10 备注 Primary Key Not Null Not Null Not Null Not Null Not Null 描述 详细订单ID 订单ID 菜品ID 菜品名称 价格 菜品数量 表4-5 配送订单表(ordertable) 序号 1 2 3 4 5 7 8 9 10 11 字段名 id pay carry rebate zhuangtai bz intime gnumber memberid onumber 字段类型 bigint varchar varchar float varchar varchar timestamp smallint int varchar 长度 8 20 20 0 1 200 0 4 11 20 备注 Primary Key Not Null Not Null Not Nul Not Nul Not Nul Not Nul Not Nul Not Nul Not Nul 描述 订单ID 支付方式 运输方式 折扣 状态 备注 订货时间 品种数 用户ID 订单编号 表4-6 留言信息表(message) 序号 1 2 3 4 字段名 id username title content 字段类型 int varchar varchar varchar 长度 4 10 255 255 备注 Primary Key Not Null Not Null Not Null 描述 信息ID 用户名 主题 内容 12

4.3本章小结

本章主要介绍网上订餐系统的数据库设计。首先设计各表的设计图,然后略去各实体属性之后绘制出一个系统整体关系图,最后以表格的形式详细介绍orderdb数据库中每张表的字段名,字段类型、长度数据。

13

5.系统模块设计实现

5.1前台主要模块功能设计

订餐系统的前台主要为用户提供用户注册、登录、购物车、订单查询、查看菜品等功能。系统首页为top.jsp,界面如图5-1所示,它包括了导航、图片特效、推荐商品、网站公告、菜品销售top、留言六个部分。

图5-1 系统主页top.jsp

5.1.1数据库链接

在Java技术系列中,访问数据库的技术叫做JDBC,它提供了一系列的API,让用Java语言编写的代码连接数据库,对数据库的数据进行添加、删除、修改和查询。连接数据库代码如下:

public Connection conn; String url=\/orderdb?useUnicode=true&characterEncoding=gbk\ String username=\//连接数据库的用户名 String password=\//连接数据库的密码 //定义getConnection()方法获取连接 public Connection getConnection(){ try { Class.forName(\ conn=DriverManager.getConnection(url,username,password); } catch (Exception e) { 14

e.printStackTrace(); } return conn;} 5.1.2用户登录模块功能设计

用户浏览本系统的时候,无论你是要订餐、留言都必须先登录。如果你未登录进行相应的操作时,系统会提示你未登录,并且跳转到如图5-2 denglu.jsp登录界面,让你输入用户名和密码。如果不是系统中的会员用户,即可进行注册。

图5-2 denglu.jsp 用户登录界面

用户输入用户名和密码后,点击登录,会然后跳转到loginAction.jsp页面中处理,利用request.getParameter获取表单中的用户名和密码等信息。在登录界面会有一个判断,如果用户未输入用户名或密码就直接提交,会提示请输入用户名/密码,并且返回原来界面,主要代码:

if(name==\){ alert(\用户名不能为空\); document.loginform.name.focus(); return false; } 如果用户不是此系统的会员,那么就应该选择注册,如图5-3 register.jsp用户注册界面:

15

图5-3 register.jsp 用户注册界面

用户注册页面为register.jsp,用户输入相应信息后点击登录会触发 js程序,判断验证输入的内容是否为空,验证成功后将form表单提交给registerAction.jsp。在这个registerAction.jsp这个处理页面里会调用getMemberByName方法。

5.1.3商品模块功能设计

在首页中中,会有一个推荐商品的模块如图5-4,点击推荐商品旁边的更多,就会到畅销商品界面中,如图5-5所示。

16

如图5-4 推荐商品

推荐商品的界面是tnewGoods.jsp,查询推荐商品的sql语句为String sql=\foods where newfoods=1 order by hit desc limit 3\将查询的结果封装在集合里,然后用循环来将单个商品显示出来。

调用ToolsDao中的getNewGoods(),将查询到newfoods=1的商品保存到good中。tnewGoods.jsp中,通过循环,将查询到的信息获取,放在相应的位置上。

17

图5-5 畅销商品界面

畅销菜品的界面是hotGoods.jsp,查询畅销商品的sql语句为String sql=\* from foods order by hit。HotgoodsServlet.java调用GoodsDao中的getHotGoods()方法查询点击率高菜品,并将查询到的信息保存至hotGoods中,Servlet通过request中转发给hotGoods.jsp, hotGoods.jsp通过HotgoodsServlet获取hotGoods中存放的数据,并且在相应的位置分别获取对象的值。图5-6,详细的解释了畅销菜品的运行流程。

18

图5-6 畅销菜品运行流程

在hotGoods.jsp页面代码中,有一个判断,代码如下:

<%String name=(String)session.getAttribute(\); \><%} %> if(name!=null){%> 这段代码判断用户是否登录,如图5-7,如果name为空,用户只能看到菜单信息,不能购买;如果name不为空,则会出现ship_now.png这张图片(立刻购买)。

图5-7 购买流程图

19

并且点击这张图片,系统会通过goodsID响应CartAddServlet,再利用GoodsDao中的方法将菜品加入购物车。

5.1.4购物车模块功能设计

购物车即用户所选中,但尚未付款成交的商品。如图5-8 购物车界面。

图5-8 购物车界面

当用户将菜品加入购物车时,会请求响应CartAddServlet,先获取该商品的id ,调用GoodsDao中的getGoodsById()方法,将该商品的信息查询出来,加入到Session cart中,实现代码如下:

ArrayList cart=(ArrayList)request.getSession().getAttribute(\);

if(cart==null){ } request.getSession().setAttribute(\, cart); ServletContext sc=this.getServletContext(); RequestDispatcher rd=sc.getRequestDispatcher(\); rd.forward(request, response); 20

cart=new ArrayList(); cart.add(newci); for(int i=0;i

CartItem是一个存放菜品价格、ID和购买数量的一个集合类,如果加入购物车的菜品和购物车中已有的菜品ID相同,则购物车数组长度不会变,只把数量加1。为了防止重复几次购买相同的食品在购物车中添加,添加一次就只有把购买数量不断累加,如果购买的菜品和已购菜品不同,则将新购菜品加入购物车数组,跳转到cart_see.jsp。

5.1.5订单模块功能设计

用户下订单的过程非常的简单,用户只要确认好需要菜品的相关信息后,点击“去收银台结账” 系统会跳转到cart_checkout.jsp界面,并且请求响应CartCheckoutServlet,调用GoodsDao中的getMemberByName方法,通过用户名查询获得用户,返回给cart_checkout.jsp,系统自动获取个人信息,配送信息界面如图5-9所示。

图5-9 配送信息界面

用户填写好付款方式、运送方式,点击提交后进入到SaveOrderServlet.java页面中处理,分别调用saveOrder(Order o)和saveOrderDetail(OrderDetail od)方法将数据分别存入配送订单表(ordertable)和详细订单表(orderdetail)。

用户完成系统操作后,点击首页中的“订单查询”,如图5-10所示,会看到刚才下的订单,点击订单号,可以查看详情,如图5-11所示。经过以上步骤以后,后台的管理员会在后台订单管理里

21

面看到用户的订单信息。

图5-10 订单界面

5-11 详细订单

5.1.6留言板模块功能设计

在首页中,点击右下方“留言”,系统就会跳转到如图5-12的页面中。留言是用户与用户之间、

22

用户与管理员之间相互沟通的一个平台,通过留言板这个平台,可以促进用户与管理员的沟通,提升系统的服务质量。

图5-12 留言板界面

在 showmessage.jsp(留言板界面)中,用户会查看到所有人的留言,包括自己的。在点击此页面时,系统会调用MessageDao.java中的getMessage()方法,通过sql语句String sql=\FROM message\查询到所有,并且添加到相当于容器的m里。showmessage.jsp通过getMessage(),获取m中查询到的数据。

点击上方的添加留言,如图5-13所示。

23

图5-13 添加留言

用户将信息填入后点击提交AddMessageServlet.java 中,首先在AddMessageServlet.java页面中获取之前提交的表单中的信息,然后调用insertMessages(Message m)方法进行添加。

在MessageDao.java中,添加新留言的语句:String sql=\message(title,content,username) VALUES (?,?,?)\。

5.2后台主要模块功能设计

后台管理功能主要针对管理员,管理员登录后可以进行对菜品管理、订单管理、用户管理以及留言管理。

5.2.1管理员登录模块功能设计

如果需要对菜品、订单、用户以及留言板进行相应的操作,必须成功登录后台方可操作,图5-14所示,后台登录界面。

24

图5-14后台登录界面

图5-15管理员登录流程图

如图5-15,管理员输入用户名和密码后,点击登录,会触发onclick事件然后调用一段js程序,验证输入的内容是否为空,验证成功后将form表单提交给Login_M_deal.jsp,页面会调用

25

本文来源:https://www.bwwdw.com/article/qfs3.html

Top