东北石油大学本科生毕业设计(论文)
表4-3订单表
列名 orderId customerName address zipCode telephone movphone notice totalPrice isGive 数据类型 int varchar varchar varchar varchar varchar text numeric int 长度 4 50 50 20 20 30 16 9 4
4.订单菜单表(orderInfo)具体描述如表4-4所示:
表4-4订单菜单表
列名 orderId foodId userId foodNum foodValue totalValue orderDate 数据类型 int int int int float 计算 datetime 长度 50 50 50 50 50 50 50 4.4 MVC模式
MVC英文即Model-View-Controller,即把一个应用的输入、处理、输出流程按照Model、View、Controller的方式进行分离,这样一个应用被分成三个层——模型层、视图层、控制层
[9][10]
。
18
东北石油大学本科生毕业设计(论文)
4.4.1 视图层
视图(View)代表用户交互界面,对于Web应用来说,可以概括为HTML界面,但有可能为XHTML、XML和Applet。随着应用的复杂性和规模性,界面的处理也变得具有挑战性。一个应用可能有很多不同的视图,MVC设计模式对于视图的处理仅限于视图上数据的采集和处理,以及用户的请求,而不包括在视图上的业务流程的处理。业务流程的处理交予模型(Model)处理。比如一个订单的视图只接受来自模型的数据并显示给用户,以及将用户界面的输入数据和请求传递给控制和模型。
订餐系统的View层主要把Controller层的处理结果显示在客户端的浏览器上。这层用到了JSP,还用到了少许JavaScript技术。其中系统中的显示页面包括前台的登录页面,菜品显示页面,购物车页面,订餐单页面;以及后台的管理员的各个控制页面。
4.4.2 模型层
模型(Model):就是业务流程/状态的处理以及业务规则的制定。业务流程的
[11]
处理过程对其它层来说是黑箱操作,模型接受视图请求的数据,并返回最终的处理结果。业务模型的设计可以说是MVC最主要的核心。目前流行的EJB模型就是一个典型的应用例子,它从应用技术实现的角度对模型做了进一步的划分,以便充分利用现有的组件,但它不能作为应用设计模型的框架。它仅仅告诉你按这种模型设计就可以利用某些技术组件,从而减少了技术上的困难。对一个开发者来说,就可以专注于业务模型的设计。MVC设计模式告诉我们,把应用的模型按一定的规则抽取出来,抽取的层次很重要,这也是判断开发人员是否优秀的设计依据。抽象与具体不能隔得太远,也不能太近。MVC并没有提供模型的设计方法,而只告诉你应该组织管理这些模型,以便于模型的重构和提高重用性。我们可以用对象编程来做比喻,MVC定义了一个顶级类,告诉它的子类你只能做这些,但没法限制你能做这些。这点对编程的开发人员非常重要。
业务模型还有一个很重要的模型那就是数据模型。数据模型主要指实体对象的数据保存(持续化)。比如将一张订单保存到数据库,从数据库获取订单。我们可以将这个模型单独列出,所有有关数据库的操作只限制在该模型中。
订餐系统中的模型层包括了对4个数据表的所有数据操作方法,包括了用户信息、食品信息、订单信息的数据处理,封装在了对应的JAVA类中。下面的控制层中直接调用模型层相对应的方法就可以实现对数据的操作。
19
东北石油大学本科生毕业设计(论文)
4.4.3 控制层
控制(Controller)可以理解为从用户接收请求, 将模型与视图匹配在一起,共同完成用户的请求。划分控制层的作用也很明显,它清楚地告诉你,它就是一个分发器,选择什么样的模型,选择什么样的视图,可以完成什么样的用户请求。控制层并不做任何的数据处理。例如,用户点击一个连接,控制层接受请求后, 并不处理业务信息,它只把用户的信息传递给模型,告诉模型做什么,选择符合要求的视图返回给用户。因此,一个模型可能对应多个视图,一个视图可能对应多个模型。
模型、视图与控制器的分离,使得一个模型可以具有多个显示视图。如果用户通过某个视图的控制器改变了模型的数据,所有其它依赖于这些数据的视图都应反映到这些变化。因此,无论何时发生了何种数据变化,控制器都会将变化通知所有的视图,导致显示的更新。这实际上是一种模型的变化-传播机制。
Servlet是一种扩展Web服务器功能的技术,而且由于它是用Java编写的,所以能够访问整个JavaAPI库,包括用于访问企业数据库的HIBERNATE API。Servlets用特定的Java解决方案替代了其它的Web服务器方编辑模式(如:CGI,ISAPI等),
[12]
因而继承了Java的所有特性(跨平台、多线程、OO)。用来编写Servlets的Servlets API对于服务器环境和协议没有任何特殊的要求,所以Servlets具有很强的可移植性,也不象利用CGI程序等其他方式那样具有性能局限。Servlets业同样使用HTTP协议与客户端进行通信,Servlets最常用的子集是“Http Servlets”。 Java Servlets不是用户调用的应用程序,而是由实施该Servlet的Web应用程序中的Web容器根据客户端的HTTP请求来调用。当一个Servlet被调用时,Web容器通过接收Servlet的请求与Web服务器交互,并且把响应信息发送到Web服务器。
20
东北石油大学本科生毕业设计(论文)
第5章 网上订餐系统详细设计及实现
5.1 开发环境及配置
5.1.1 开发环境
服务器端: Tomcat
操作系统: Windows XP操作系统 数据库: Microsoft SQL Server 2005 网络通信协议: TCP/IP
支持软件: Adobe Dreamweaver,MyEclipse
5.1.2 JDK配置
JDK(Java Development Kit )是一切java应用程序的基础,可以说,所有的java应用程序是构建在这个之上的。它是一组API,也可以说是一些java Class。
安装好JDK后,还需要在环境变量中进行对应的配置。主要进行一下配置: 1、设置JAVA_HOME环境变量
JAVA_HOME的值为JDK安装的目录,例如: C:\\ jdk1.6.0_14
2、设置CLASSPATH环境变量
CLASSPATH的值表示搜索Java类的路径,例如:
.;C:\\ jdk1.6.0_14\\bin;D:\\jdk1.6.0_14\\lib\\dt.jar;D:\\ jdk1.6.0_14\\lib\\tools.jar 3、更新PATH环境变量
PATH变量是系统搜索可执行程序的路径,例如: C:\\ jdk1.6.0_14\\bin;
5.1.3 MyEclipse8.0安装
使用MyEclipse8.0版本。MyEclipse的安装:首先安装 ECLIPSE 到“D:\\eclipse”路径下,按照默认的安装配置,点击“下一步”完成安装,之后安装 MYECLIPSE ,按照默认配置点击“下一步” ,选择“D:\\eclipse”路径,点击“下一步” ,按照默认配置点击“下一步” ,完成MYECLIPSE安装后打开MYECLIPSE,选择工程需要存放的路径(随意)后进入MyEclipse操作平台上。
21
东北石油大学本科生毕业设计(论文)
另外,还要载入相应的jar包,如:Hibernate-lib,Jdbc-lib,Struts-lib等包。
5.1.4 Tomcat配置
1. 一定要有msbase.jar,mssqlserver.jar,msutil.jar包,并且放到Tomcat/common/lib下。
2. 到Tomcat/conf里server.xml文件修改配置,设置Tomca\\webapps的保存JSP文件的目录,目录名为Res,则在文件加入以下语句增加一个虚拟目录:
4. 数据库密码验证配置,找到 5. 数据库url设置,找到 数据库名为Res,用户名为sa,密码为weizheng,其中127.0.0.1为当前用户使用IP地址,端口为1433。 22