1、 摘 要 二十一世纪是一个集数字化,网络化,信息化的,以网络为核心的社会。中国的网民充分领略到“畅游天地间,网络无极限” 所带来的畅快。随着 Internet 的飞速发展,使得网络的应用日益的广泛。如电子商务,电子政务,网上医疗,网上娱乐,网络游戏,网络教学等。 本次毕业设计的题目就是网络订餐系统。 本论文就毕业设计的内容,系统地阐述了整个网络订餐系统的功能及实现。实现了从菜品管理,菜品分类和查询,到订餐车实现,用户订单处理,再到系统管理。基本上实现了网上购物的功能流程,能够实现用户与商家在网上进行订餐交易。本系 统界面简单直观,易于操作和使用,交互性强,完全基于 Internet 网络。 经
2、过分析 ,我们使用 SUN 公司的 JSP 开发工具 ,利用其提供的各种面向对象的开发工具 ,尤其是数据窗口这一能方便而简洁操纵数据库的智能化对象 ,首先在短时间内建立系统应用原型 ,然后 ,对初始原型系统进行需求迭代 ,不断修正和改进 ,直到形成满意的可行系统。 关键词:网络订餐系统、 JSP、 信息时代 Abstract The 21st century is a collection digitization, the network, the informationization, take network as core society. When Qian Tian taught
3、without charge gives sends out the first email in September 14, 1986 in Beijing computer applied technology research institute introversion Germany Karlsruhe University “to pass through the Great Wall, moved toward the world” time, perhaps he did not know that he has opened China information age fro
4、nt door; on April 20, 1994, the Chinese Academy of Science computer center entered Internet through the American Sprint Corporation company the 64K international special line clear, has realized internets entire function binding, henceforth China entered into the Internet information age. The Intern
5、et had 10 remaining years of life development in a moment in China, Chinas web cams understands fully “enjoys a trip to between the world, the network does not have carefree which the limit” brings. Along with the Internet swift development, causes the network application day-by-day widespread. If e
6、lectronic commerce, E-government, on-line medical service, on-line entertainment, network game, network teaching and so on. This graduation projects topic is on-line books management system management system. The present paper on graduation projects content, elaborated systematically the entire on-l
7、ine books management system management systems function and realizes. Has realized from the merchandise control, the classification of goods and the inquiry, realizes to the shopping cart, user order form processing, arrives at the chatroom again, the manager system. Basically has realized the elect
8、ronic commerce function flow, can realize the user and the business on-line carries on the commodity exchange. This system contact surface simple direct-viewing, simplify operation and use, interactive is strong, completely based on the Internet network. Key word: On-line purchase books system , JSP
9、, Information age 目 录 第一章 开发背景 -1 1.1 目的和意义 -1 1.2 开发设计思想 -1 1.3 开发目标 -1 第二章 开发工具和环境简介 -=-2 2.1 Java Server Page 简介 -2 2.2 MYSQL 简介 -2 2.3 JDBC 驱动程序简介 -4 2.4 JavaBeans 简介 -5 2.5 JAVA 简介 -5 2 6 电子商务简介 -8 第三章 网络便民服务管理系统功能分析 -9 3 1 系统功能分析 -9 3 2 可行性研究 -10 3 3 需求分析 -12 3 4 系统总体结构图 -13 3 5 数据字典 -17 3 6 需
10、求分析复审 -18 第四章 网络便民服务管理系统总体设计 -18 4 1.系统功能设计目标 -18 4 2.网络订餐系统功能模块划分 -19 4 3 网上购物的体系结构 -20 第五章 数据库设计 -21 5 1 数据库系统概述 -21 5 2 数据库表设计 -21 第六章 程序设计 -24 6 1 程序说明 -24 6 2 具体模块划分 -25 第七章 软件安装与调试 -29 7 1 软件的安装与配置 -29 7 2 软件调试 -30 7 3 软件测试 -30 第八章 结束语 -31 第九章 附 录 -32 9 1 致谢 -32 9 2 参考文献 -32 第一章 开发背景 1.1 目的和意义
11、 本系统的设计目的是为了满足 消费者只要通过互联网就可以足不出户的订购自己喜欢的菜品,改变传统商业交易,在互联网上进行交易,实现网上购买菜品。 本论文主要涉及软件,数据库与网络技术等。涵盖知识面广 ,可有效地提高学生综合运用所学知识分析解决问题的能力,增强学生对事物的理解与掌握能力,培养学生掌握科学的研究方法,正确的设计思想,独立思考,勇于进取,探索创新,为今后进一步学习与工作奠定了良好的基础。 1.2 开发设计思想 本系统用 JSP 语言来编写网络订餐系统,数据库用 MYSQL 来连接系统,通过 编写JavaBeans 来进 行 后台业务逻辑控制 , 即 JSP +JavaBeans + M
12、YSQL 三层模式 完成整个设计工作。本系统全部基于 Internet 网络, 以 JSP 语言对网站进行开发 , 注重用户与网站的交互性。因此 在这样的背景下,针对当前 Internet 网络 发展趋势来计网络订餐系统就成为了 当今应用软件的首选体系结构。 1.3 开发目标 网上购物的优势在于选择面大、价格便宜、交易方便、节省时间和精力等。整个菜品市场一片繁荣。在中国,网上购物有发展的必要,也有发展的基础,发展网上购物的各方面条件也日趋成熟,但是还存在一些问题,只有把问题解决好了,才能保证网上购物的蓬勃发展。 第二章 开发工具和环境简介 2.1 JSP技术简介 JSP(Java Server
13、 Page 服务器网页 )是从 1998 年开始出现的新技术。由 Sun公司倡导、许多公司参与一起建立的一种动态网页技术标准,是基于 JavaServlet 以及整个 Java 体系的 web开发技术。在传统的网页 HTML 文件 (*.htm,*.html)中加入脚本片段和 JSP 标记 (Tag),构成 JSP网页 (*.jsp)。 JSP 技术为创建显示动态生成内容的 web 页面提供了简便的方法。 JSP 作为 Java家族的一员,承袭了 Java 的特点,即跨平台的特性,也即一次编译,到处运行。 在国外,己经大量使用 JSP 作为网络应用程序的开发工具,而在国内,尽管 JSP 还不是
14、主流开发技术,但是由于 JSP 的强 大优势,许多网站都已经准备转向 JSP,利用 JSP 来开发动态网站。 2.2 JSP工作原理 JSP 是面向服务器的,因此支持任何浏览器。当 Web 服务器和 JSP 引擎遇到访问 JSP 网页的请求时, JSP 引擎将请求对象发送给服务器端的相关组件,比如 JavaBean 组件、 Servlet或 EJB 等,然后由服务器端组件处理这些请示,可能需要从数据库或数据存储中检索信息,然后服务器端组件再将响应对象返回 JSP 引擎。 JSP 引擎将响应对象传递给 JSP 页面,根据JSP 页面的 HTML 格式完成数据编排,最后 Web 服务器和 JSP
15、引擎将格 式化后的 JSP 页面以HTML 格式返回客户浏览器。这就是当前网站构建中广泛采用的浏览器 Web 服务器 后台数据库的三层架构模式。因为 JSP 所有程序操作都在服务器端执行,网络上传送给客户端的仅是得到的结果。 2.3 JSP体系结构 JSP 网站开发标准给出了两种使用 JSP 的技术 ,可以归纳为模式一、模式二。 模式一 :JSP+JavaBeans 技术 在这种模式中, JSP 页面独自响应请求并将处理结果返回给客户。 Bean 处理所有数据访问, JSP 实现页面的表现,以实现内容生成与显示相分离。当处理复杂的大型应用时,页面被 嵌入大量的脚本或 Java 代码段,当需要处
16、理的商业逻辑复杂时,这种情况会变得非常糟糕,大量的内嵌代码使得页面程序变得复杂,对于前端界面设计人员,这是不可思议的事情。所以模式一可用于小型应用,不能够满足大型应用的需要。 模式二 :JSP+Servlet+JavaBeans 技术 Servlet 技术是一种采用 Java 技术来实现 CGI 功能的一种技术, Servlet 技术非常适于服务器端的处理和编程,并且 Servlet 会长期驻留在内存。 从开发的观点看,模式二具有更清晰的页面表现,清楚的开发者角色划分,在大规模项目开发中, 模式二更被采用,模式二也更符合当前流行的 MVC 结构 (Model/view/controller),
17、其中 Servlet 对应 controller,处于控制者的位置,处理 HTTP 请求,负责生成 JSP 中使用的Beans 组件或对象,并判断应将请求传递给哪个 JSP 等, JSP 对应 view,负责生成最终的动态网页并返回给浏览器。而 JavaBeans 对应的是 Model,实现各个具体的应用逻辑与功能。 2.4 JSP的特点 1. 简化的页面生成技术。 JSP 页面用标准的 HTML或 XML命令来处理页面的格式化和布局设计,而用类似 HTML、XML 的标记和 Java 语言编写的脚本程序生成页面内容。这使得页面形式与页面内容互相独立,非常有利于大型项目的分工合作。 2. 与
18、Java 平台有机集成。 JSP 技术是 Java 2 平台的重要组成部分, JSP 使用 Java 语言作为它的脚本语言。在 JSP页面中可以使用几乎所有的 Java 组件和 Java API,这就能充分发挥出 Java 语言的强大功能。使用 JSP 技术可以创建具有高度可伸缩性和可靠性的 Web 应用程序。 3. 硬件平台和服务器无关性。 JSP 作为 Java 家族的一员,秉承了 Java 技术的“一次编写,随处可用 (Write Once, Rum Anywhere)”的特性,可以运行于大多数流行的操作系统平台及 Web 服务器,这种与服务器硬件和操作系统平台的无关性是 JSP 相对于
19、其它动态网页技术最大的一个优点。 4. 功能可扩展性。 如同的 JSP 技术可以通过 ActiveX/COM 组件来扩展功能一样, JSP 可以通过 JavaBean 和EJB(Enterprise JavaBean)以及自定义的标记来扩展功能。 JSP 可以通过 JDBC,与诸如 Oracle、 MYSQL 这样的大型关系数据库进行连接。 JSP 提供了一些隐含对象。这些隐含对象在 JSP 页 面中可以直接引用,而不必首先声明。利用 JSP 提供的这些隐含对象,可以使脚本功能更加强大,并且编程更加容易、方便。例如,利用 request 对象,可以很容易地接收用户在 HTML 表单中提交的信息
20、。 2.5 MYSQL 数据库 MySQL 是一个小型关系型数据库管理系统,开发者为瑞典 MySQL AB 公司。目前 MySQL被广泛地应用在 Internet 上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了 MySQL 作为网站数据库。 2.6 系统数据 库连接 JDBC 技术是 Java DataBase Connectivity 的缩写,它是 SUN 公司提供的一种支持基本 SQL功能的通用的应用程序接口 (Application Programming Interface)。它由一组用 Java 语言编写
21、的类和接口组成。通过这些类和接口,程序开发人员可以在 Java 语言中方便地建立与数据库的链接,通过执行相应 SQL 语句,完成对不同数据库的访问。因此,开发人员使用 JDBC API可以不必编写一个应用程序来访问 Sybase 数据库,又另外编写一个应用程序去访问 Oracle 数据库 ,再写一个应用程序访问的 MYSQL。不但如此,使用 Java 语言编写的应用程序可以在任何支持 Java 的平台上运行,不必在不同的平台上开发不同的应用程序。 简单地说, JDBC 能完成下列三件事: 1. 同一个数据库建立连接; 2. 向数据库建立连接; 3. 处理数据库返回的结果。 JDBC 是一种通用
22、低层的应用程序编程接口,它在不同的数据库功能模块的层次上提供一个统一的用户界面。说 JDBC 是一处低级的 API,是指它直接调用 SQL 命令,它比其他的一些数据库连接 API 要容易使用些,但它有同样可以作为更高级的,用户办面更友好的 API 或开发 工具基础。 很多可视化的 Java 开发工具,如 Visual Age For Java、 Visual Caf、 J+等都提供了基于JDBC 的更面向用户的类和包,直接将关系数据库的表或视图映射为 Java 类,程序员通过可视化工具直接对 Java 对象进行操作,而真正需要的 SQL 调用则根据程序员发出的对对象的各种属性、方法的操作来自动
23、产生。另一种使用 JDBC API 的方式为,用户程序可以提供一个界面(如菜单等)让用户选择对数据库进行的操作,选中一个任务后,提示用户输入一些必要的信息,然后根据用户的输入产生相应的 SQL 命令以及 Java 程序。通过这处方式,用户可以完成对数据库的操作,即使他并不了解 SQL 语法以及 JDBC 编程。 数据库访问的三层结构如图 5.1 所示,浏览器端程序要访问数据库,首先通过中间件,然后由中间件对数据库操作权限进行认证,认证通过才能对数据库进行操作。 图 5.1 使用中间件的数据库访问三层结构 用户对数据库的存取权限认证是中间件中完成,对数据库的查询、插入、更新和删除操作等都封装在中
24、间件中,该中间件位于服务器端,中间件对数据库进行操作后,再将处理结果通过 Web 服务器返回到浏览器端用户。这样,在用户端输 入的用户名和密码,可以通过加密算法进行加密后在网络上传输,在中间件中进行解密认证,然后再进行数据库的存取操作,数据库存取权限的用户名和密码出现在位于服务器端的中间件中,这样就更加安全。本系统采用的正是这样的三层结构的数据库访问模式。 在三层模型中,命令将被发送到服务的 ” 中间层 ” ,而 ” 中间层 ” 将 SQL 语句发送到数据库。数据库处理 SQL 语句并将结果返回 ” 中间层 ” ,然后 ” 中间层 ” 将它们返回用户。其模型如图 5.2 所示。 图 5.2 J
25、DBC 的三层模型 因为 ” 中间层 ” 可以进行对访问的控制并协同数据库的更新,并且可以 使用一个易用的高层 API,这个 API 可以由“中间层”进行转换,转换成低层的调用。所以在许多种情况下,三层模型可以提供更好的性能,本系统中所采用的就是此种模型。 JDBC 是 JAVA 应用程序与数据库的沟通桥梁。它提供了三项服务功能:一、与数据库建立连接。二、将 SQL 语句传递给数据库。三、从数据库取得 SQL 语句的执行结果。当 JDBC要与数据库建立连接前,首先,它必须先取得连接此数据库的 JDBC 驱动程序 , Class.forName()即是在执行此项工作 。建立数据库连接的第一步骤就
26、是将 JDBC 驱动程序的类载入至 JVM( Java VirtualL Machine)中, 本系统中利用 java.lang.Class 类内的 forName() 静态函数依据指定的类名称,将 JDBC 驱动程序载入进来。完成载入驱动程序的步骤后,必须使用java.sal.DriverManager 类所提供的 getConnection() 静态函数,取得与数据库间的连接对象。此连接对象的类类型为 java.sal.Connection,必须通过它才能将 SQL 指令传递给数据库,而执行结果也需要通过连接对象来取得。当取得连接对象后,还必须取得 Statement 对象才 能对数据库执行 SQL 指令。 Statement 主要实现两个功能:执行 SQL 语句以及取得执行结果。在java.sql.Statement 的 sql对象中执行查询或修改命令的函数后传回的是一个 ResultSet 对象,这个对象提供了一个存取 SQL 执行结果的管道,以便通过它将表格数据从数据库中取出。每个 Statement 对象只能产生一个 ResultSet 对象。 数据库连接如图 5.3 所示 :