idingfan订餐系统订单模块的设计与实现[毕业论文].doc

上传人:文初 文档编号:284166 上传时间:2018-08-26 格式:DOC 页数:23 大小:582.60KB
下载 相关 举报
idingfan订餐系统订单模块的设计与实现[毕业论文].doc_第1页
第1页 / 共23页
idingfan订餐系统订单模块的设计与实现[毕业论文].doc_第2页
第2页 / 共23页
idingfan订餐系统订单模块的设计与实现[毕业论文].doc_第3页
第3页 / 共23页
idingfan订餐系统订单模块的设计与实现[毕业论文].doc_第4页
第4页 / 共23页
idingfan订餐系统订单模块的设计与实现[毕业论文].doc_第5页
第5页 / 共23页
点击查看更多>>
资源描述

1、 本科毕业论文 ( 20_ _届) idingfan 订餐系统订单模块的设计与实现 摘 要 : 随着电子商务应用的推广,网上购物的普及,涌现出越来越多的订餐网站。 Idngfan订餐网站使用 struts 框架实现, struts 框架为 MVC 模式的一种实现。本文主要实现订餐网中的订单系统的实现,包括购物车的实现,将购物车信息写入订单表及订单详细表,今日订单及历史订单的查询等模块功能。系统主要实现偏向于购物车功能,购物车功能主要实现商品的添加、删除、数量修改、查看的功能。订餐系统订单模块还存在一些缺陷,订单模块还 需要完善的地方。 关键词 : MVC 模式; Struts 框架 ; 订餐网

2、 ; 交互式 2 the design and the achievement of the roscoe system order module of a idingfan Abstract: With the promotion of e-commerce applications, the popularity of online shopping, more and more networks arise .The website of Idnfan implements it with the framework of struts. In this paper,we impleme

3、nt the ordering system of website,including implementing the shopping cart,copying the shopping cart information into the order form ,taking notes of the detail order form,todays order form,the history and so on.The system is mainly to achieve the part of the shopping cart,and the function of the sh

4、opping cart is mainly to insert,delete,update and list Certainly,the system has some shortcomings ,which is needed to be perfected. Key words: MVC mode; Struts framework; networking; interactive 目 录 一、订餐网站的开发 . 1 (一)开发工具 . 1 (二)开发语言的选择 . 2 (三)开发模式 MVC . 2 (四)订餐网的开发背景 . 4 二、 Idingfan 网站的整体结构设计 . 5 (一

5、)订餐管理模块的数据库设计 . 5 (二)订餐管理模块的页面设计 . 9 (三)爱订饭系统订餐模块的功能实现 . 11 三、订单系统的购物车功能实现 . 12 (一)购物车流程 . 12 (二) MVC 模式应用 购物车功能实现 . 13 四、订单系统实现中安全问题的解决方法 . 19 (一)权限设置(会员是否登录) . 19 (二)用户信息安全( MD5 加密技术) . 19 (三)目录共享安全(使用 Struts 结构 .do) . 19 总结 . 19 参考文献 . 19 致谢 . 错误 !未定义书签。 1 引言 随着计算机网络技术的发展,电子商务的大力推广,网上商城逐渐走入大众生活。网

6、上购物成为人们日常生活必不可少的一部分。网上购物改变了传统的购物方式,它可以使人们不受时间的限制,不受空间的限制,不受传统购物的诸多限制,随时随地通过互联网购物 。网上购物的便利性促进了淘宝网、淘宝商城、团购网等网上购物平台的发展。同时,订餐网也出现在大众视线中。由于餐厅用餐时间及餐厅地点的局限性,我们采用了基于 MVC 模式 的struts 框架开发爱订饭网上订餐系统。 MVC 模式将 J2EE 表示层和业务逻辑层划分为模型(Model)、视图 (View)和控制器 (Controller)三部分,在理论上实现了页面显示与业务逻辑分离。 Struts 是一个开源的 MVC 实现,它提供了可在

7、应用中继承、修改的基本控制器的功能。除了提供 MVC 的实现, Struts 还提供了一些有价值的定制标签库。由于订餐网站的流量较大,而 MVC 模式思路清晰,可以方便快捷的实现网站的后期维护。全方位的实现爱订饭订餐网站的实现及后续发展。 一、订餐网站的开发 (一) 开发工具 1、 Windows 2000 以上的操作系统 这是主要的软件,此系统开发过程在除了文档的编写,其它的工作都在操作系统中进行,它是现在所有初级学者的操作系统工具,在开发过程中担任重要的任务。 2、 Macromedia Dreamweaver 8 页面编辑器 Macromedia Dreamweaver CS3 是 制作

8、 Web 页站点和 Web 应用程序开发的专业工具。它将可视布局工具、应用程序开发功能和代码编辑支持组合在一起,其功能强大,使得各个层次的开发人员和设计人员都能够快速创建界面吸引人的基于标准的网站和 应用程序。 3、 My SQL 数据库开发软件 My SQL 是一个真正的多用户、多线程 SQl 数据库服务器。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了 MySQL 作为网站数据库。 4、 My Eclipse 8.0 开源软件 My Eclipse 8.0 是一个十分优秀的用于开发 Java、 J2EE 的 Eclipse 的插

9、件集合,也是功能丰富的 JavaEE 的集成开发环境。具有完备的编码、调试、测试和发布功能,完整支持HTML、 Struts、 JSF、 Css、 javascript、 SQL、 Hibernate。 My Eclipse 8.0 新增 Struts 的图形编辑器,更加方便开发者的使用。 5、其他网页设计软件 Macromedia Flash8.0、 Photoshop CS3、 Macromedia Firewoks8.0 等。 2 (二)开发语言的选择 1、 JAVA JAVA 是一种跨平台的、适合于网络计算环境的面向对象语言。语言具有简单性、面向对象、分布性、编译和解释性、安全性、中性

10、的体系结构、可移植性、高性能、多线程和动态性等特点 由于爱订饭订餐网选用 MVC 模式,在 MVC 模式下的 ActionServlet、 Action、 ActionForm都支持 JAVA 语言编写。 2、 JSP JSP 技术是一种动态网页技术标准,是基于 Java Servlets 以及整个 Java 系统的 Web 开发技术。 JSP 能够在 HTML 语言中嵌入或者调用脚本语言从而链接多个对象,与客户端实现交互作用。 利用 JSP 技术 , 动态信息由 JSP 页面来表现 , JSP 页面由安装在 WEB 服务器或者使用JSP 的应用服务器上的 JSP 引擎执行。 JSP 引擎接受

11、客户端对 JSP 页面的请求 , 并且生成JSP 页面作为对客 户端的响应。 (三)开发模式 MVC MVC 模式将 J2EE 表示层和业务逻辑层划分为模型 (Model)、视图 (View)和控制器(Controller)三部分,在理论上实现了页面显示与业务逻辑分离,具有模块独立、流程清晰、设计灵活和易于扩展等特点。实践证明, MVC 模式能够有效提高企业级 Web 应用的开发效率,并显著增强系统代码重用性与可靠性。基于 MVC 模式的 JZEE 多层 Web 框架己经成为目前分布式企业级应用的主流架构之一。 MVC 模式的适用范围很广,这与其具有众多优点密不可分,具体包括:结构清晰,重用性

12、、灵活性 和可配置性,功能强大的用户界面,模块的有效性和可维护性,有利于软件工程化管理等优点。 采用 MVC 模式 模型 (Model)、视图 (View)和控制器 (Controller), Struts 架构,其内容主要以 ActionServlet + Action + ActionForm 形式展现,如图 2-1 所示。 1、 ActionServlet 类 ActionServlet 是该 MVC 实现的 Command 部 分 , 它 是 这 一 框 架 的 核 心 。ActionServlet(Command)创建并使用 Action、 ActionForm。 struts-co

13、nfig.xml 文件配置该Command。在创建 Web 项目时,扩展 Action 和 ActionForm 来解决特定的问题。文件struts-config.xml 指示 ActionServlet 如何使用这些扩展的类。这种方法有几个优点: ( 1)应用程序的整个逻辑流程都存储在一个分层的文本文件中。这使得人们更容易查看和理解它,尤其是对于大型应用程序而言。 ( 2)网页设计人员不必费力地阅读 Java 代码来理解应用程序的流程。 ( 3) Java 开发人员也不必在更改流程以后重新编译代码。 ( 4)可以通过扩 展 ActionServlet 来添加 Command 功能。 2、 A

14、ctionForm 类 3 ActionForm 维护 Web 应用程序的会话状态。 ActionForm 是一个抽象类,必须为每个输入表单模型创建该类的子类。输入表单模型,是指 ActionForm 表示的是由 HTML 表单设置或更新的一般意义上的数据。例如,有一个由 HTML 表单设置的 UserActionForm。 Struts 框架将执行以下操作: ( 1)检查 UserActionForm 是否存在;如果不存在,它将创建该类的一个实例。 ( 2) Struts 将使用 HttpServletRequest 中相应的域设置 UserActionForm 的状态。例如, Struts

15、 框架将从请求流中提取 fname,并调用 UserActionForm.setFname()。 ( 3) Struts 框架在将 UserActionForm 传递给业务包装 UserAction 之前将更新它的状态。 ( 4)在将它传递给 Action 类之前, Struts 还会对 UserActionForm 调用方法进行表单状态验证。 3、 Action 类 Action 类是业务逻辑的一个包装。 Action 类的用途是将 HttpServletRequest 转换为业务逻辑。 ActionServlet(Command)使用 perform()方法将参数化的类传递给 Action

16、Form。当事件进展到这一步时,输入表单数据(或 HTML 表单数据)已被从请求流中提取出来并转移到ActionForm 类中。 图 2-1 Command(ActionServlet)与 Model(Action & ActionForm)之间的关系的 UML 图 Struts 框架是 MVC 模式的一种实现,它将 servlet 和 jsp 标记用作实现的一部分。Struts 继承了 MVC 的各项特性,并根据 J2EE 的特点,做了相应的变化与扩展。 以下步骤为 Struts 框架实现 MVC 模式的基本原理。 ActionServlet 是 struts 最核心的组件。在 Web 容器

17、启动的时候, ActionServlet 被4 初始化,加载 struts-config.xml 配置文件。 Struts 处理请求的过程如下: ( 1) 当客户端浏览器发起请求到 ActionServlet 时, Action-Servlet 根据请求的路径和 Struts-config.xml 配置信息找到对应的 Action bean 和 Form bean。 ( 2) 在确定将要调用 Action Bean 和对应的 From Bean 后,就将请求中包含的值填充到 From Bean 中。在调用 Action 的 execute 方法前, ActionServlet 还需要准备好Ac

18、tionMapping 参数, ActionMapping 中包含了该 Action 的配置信息。 ( 3)然后 Struts 将请求分发至相应的 Action Bean 处理, ActionMapping 参数、ActionFrom 参数、 request 和 response 都作为参数传给处理请 求的 Action Bean 的execute 方法。 ( 4) Action 调用业务逻辑方法,得到返回值,并返回 Action-Forward 对象。 ( 5) 控制 权重新 回到 ActionServlet, ActionServlet 根据 Action 返 回的ActionForwar

19、d 对象转发到相应的 JSP 页面。 ( 6)处理结果返回给浏览器。 Struts 的工作原理如图 1 所示: 图1 Struts的工作原理 (四)订餐网的开发背景 爱订饭订餐网的订单模块主要实现 购物车技术完成用户的订餐状态 ,并且 确认订餐后,购物车 信息写入订单表和订单细节表 。 订餐成功后用户积分增加,相应的商家的订餐次数发生修改 。客户也可以通过客户中心对订单进行查询,包括今日订单查询和历史订单查询。而购物车模块可以实现商品的添加、删除、修改、统计价格等功能。 随着电子商务的进一步应用,订餐网的普及。为了适应订餐网的高访问量及高频率的点餐率,为了更好的实现服务、管理的网络化。使用 M

20、VC 模式来提高网站后期的管理及更新,实现高度交互的网络环境,更好的提高订餐网的效率。基于 MVC 模式的订餐网订单模块主要实现购物车、动态导航条、订单查询、选择订单日期、订单列表的 分页显示等功能。 5 二、 Idingfan 网站的整体结构设计 (一)订餐管理模块的数据库设计 、数据库逻辑结构设计 本系统数据库主要采用 My SQL 数据库,系统数据库名为 idingfan,共包含 12 张表。其中涉及到订单系统的数据表有 5 张。 订单系统总体结构功能模块设计后,就要对数据库进行设计。系统使用关系数据库,而数据之间的结构关系可以用 E-R 表来分析。 E-R 图由实体、属性、实体之间的关

21、系三部分组成。经分析总结出系统的实体大致包含以下几个: 用户 用户编号、送餐地址、真实姓名、联系电话 餐馆 餐馆编号、 餐馆地址、餐馆号码、送餐费 订单 订单编号、用户编号、订餐时间、订餐份数、餐馆简介 订单详细 订单详细编号、订单编号、菜品编号、总价格 菜品 菜品编号、餐馆编号、价格、菜品名称、菜品照片、菜品名字 以下是通过经订餐网整体系统实体分析,在 Visio 下设计的订餐网基本实体关系 E-R 图如图 2 所示: 6 图2idingfan订餐网的实体基本关系E-R 图 2、数据库物理结构设计 即尽可能减少数据冗余和重复,结构设计与操作设计相结合,数据结构要具有相对的稳定性,进行本系统中

22、关系数据库表结构设计及代码设计。仅 举一例如下:教务系统附件上传结构设计,就是基于对关系数据库中的各个关系模式都要满足一定的要求,以便使用。规范化设计后和附件上传相关的 5 个数据库表的具体结构设计相关数据如表 3-1 至表 3-5,其中用户( customer)表的用户编号( id)字段与、订单( order)表中的用户 ID( customer_id)相关联,订单详细表( orderdetail)表中菜品编号( menu_id)与菜品( menu)表中编号( id)的: 表 3-1 用户 ( customer)表结构 7 字段名称 字段类型 Null 含义 示例数据 id Int 否,自增

23、 主键列,用户 id 1 email Varchar(50) 邮箱 password Varchar(50) 密码 building_id Int 外键列,写字楼 id companyname Varchar(50) 公司名称 address Varchar(50) 接收人地址 tel Int 联系电话 name Varchar(50) 接收人姓名 qq Varchar(50) QQ msn Varchar(50) MSN 表 3-2 订 单( order)表结构 字段名称 字段类型 Null 含义 示例数据 order_id Int 否,自增 主键列,订单编号 1 customer_id I

24、nt 否 外键列,用户 id Customer id message Varchar(50) 是 留言 tips decimal(13,3) 送餐费 2.5 表 3-3 订单详细( orderdetail)表结构 字段名称 字段类型 Null 含义 示例数据 id Int 否,自增 主键列,外码,订单编号 order_id Int 否 外码 ,订单 id menu_id Int 否 外码,菜品 id count Int 数值 数量 1 表 3-4 餐厅( restaraunt)表结构 字段名称 字段类型 Null 含义 示例数据 id Int 否,自增 主键列,餐厅 id 1 type Var

25、char(50) 所属菜系 “中式快餐,广式烩饭,家常炒菜,日式料理 ” price Varchar(50) 价格范围 introduction Varchar(50) 餐厅简介 takeawaytime Varchar(100) 外送时段 address Varchar(100) 餐厅地址 tel Varchar(50) 餐厅电话 satisfaction Varchar(50) 满意度 laterate Varchar(50) 迟到率 notic Varchar(200) 店内公告 promotion Varchar(200) 促销信息 1: 家家送从 9 月13 日至 11 月 31日 , 1.新品土鸡煲

展开阅读全文
相关资源
相关搜索
资源标签

当前位置:首页 > 学术论文资料库 > 毕业论文

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。