1 MVC结构原理概述
WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)
JSP技术的深入发展极大推动了网络应用程序的开发,但是随着Web应用程序工程复杂度的增加,单纯的JSP技术已难以满足需求。MVC模型便在此背景下,经过众多研发人员的努力而提出。MVC即模型视图控制器(Model-View-Control),这3个组件映射到3个主要的实现技术--Bean,JSP以及Servlet,其组件之间的相互作用如图1[1]所示。WWW_P※LCJS_CO※M-PLC-技-.术_网
WWW_PLCJS@_COM%-PLC-技.术_网
WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)
图1 MVC结构原理WWW_PLCJS_COM-PLC-技.术_网
WWW_P※LCJS_COM-PLC-)技.术_网
在图1中,模型(Beans)主要执行工程中业务逻辑的功能,比如保存处理数据、与数据库连接、拼装SQL语句等。视图(JSP)主要执行显示逻辑的功能,即将获取的数据动态显示于网页上。控制器(Servlet)是模型和视图的粘和剂,向模型和视图提供逻辑处理层和授权,即对不同事件调用相应的视图和模型。该种结构成功解决了JSP页面中由于JAVA代码(Scriptlet)太多而导致的层次不清,逻辑混乱等问题。WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)
P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户
MVC通过代码分离和开发者角色的分离使工程开发具备了下列优点:WWW_PLCJS_COM-PLC-技.术_网
(1) 松散的耦合WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)
各个设计组件功能分工明确,且以灵活的方式相互作用,组件之间以清晰的方式传送信息,使得程序维护十分轻松。 WWcW_PLCJS_COM-PLC-技.术_网
(2) 并行的开发WWW.PLCJS.COM——可编程控制器技术门户
可以轻松地将功能划分为不同地组件,使开发人员担当不同的角色,比如HTML页面开发者、JAVA软件开发者,从而大大提高了工程开发的效率。WWW_PLCJS_COM-PLC-技.术_网
(3) 重用性——可——编——程——控-制-器-技——术——门——户
控制器作为整个工程的转发中心,是大部分应用程序的公共基础。同时一些公用代码,如和数据库的连接等可以写成基类或接口,通过继承达到重用的目的。WWW_PL※CJS_COM-PLC-技.术_网
(4) 扩展性WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)
程序的功能随着客户的需求而增加,当某一新功能需加入应用程序时,可维持MVC基本框架不变,只需加入对应的模型(Beans)和视图(JSP)并修改配置文件便可,从而使应用程序有着良好的可扩展性。WW.W_PLC※JS_C,OM-PL,C-技.术_网
2 MVC结构的组件
WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)
2.1模型(Beans)WWW_PL※CJS_COM-PLC-技.术_网
模型组件的实现技术是JAVA语言中的Bean,它实质上是一个维护一些数据,具有一些方法并遵循编码约定的类。编辑一个Bean所必须遵循的约定如下:WWcW_PLCJS_COM-PLC-技.术_网
(1) 实现Java.io.Serializable或java.io.Externalizable接口;WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)
(2) 提供无变量的构造函数;WWW_PLCJS_COM-PLC-技.术_网
(3) 私有属性必须具有相对应的获取/设置方法。WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)
Bean技术封装了实现业务逻辑的具体代码,比如利用JDBC桥与Oracle数据库连接,根据查询条件形成SQL语句,提取数据,保存数据等功能,可以说Bean是编写具体事件处理代码的最好场所。WWW_PLCJS@_COM%-PLC-技.术_网
WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)
2.2 视图(JSP)WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)
视图组件的实现技术是JSP。JSP就是在HTML网页中包含了能够生成动态内容的可执行应用程序代码。此应用程序可能包含JavaBean、JDBC对象、Enterprise Java Bean(EJB)和Remote Method Invocation(RMI)对象,所有的部分都可以非常容易的从JSP网页上访问到。使用JSP技术,Web页面设计人员可以使用HTML或者XML标识来设计和格式化页面。使用JSP标识(tag)或者脚本(Scriptlet)来生成页面上的动态内容。生成内容中的业务逻辑被封装在标识和JavaBeans组件中,可捆绑在脚本中。可以说JSP在展示数据方面功能十分强大。JSP中具有4个可直接使用的不同范围的对象,如表1所示。WW.W_PLC※JS_C,OM-PL,C-技.术_网
表1 JSP中的对象WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)
WWW.PLCJS.COM——可编程控制器技术门户
WW.W_PLC※JS_C,OM-PL,C-技.术_网
2.3控制器(Servlet)WW.W_PLCJS_COM-PLC-技.术_网
控制器的实现技术是Servlet。Servlet是一种基于请求/应答的工作模式[2],其主要特点是:WWcW_PLCJS_COM-PLC-技.术_网
(1) 高效 W1WW_P4LCJS_COM-PLC-技.术_网
Servlet技术,为每一个请求创建一个轻量极(Lightweighted)的线程来处理。由于线程占据的系统资源远远小于进程,所以有效避免了CGI中因为每个请求创建进程而引起的资源紧张、效率偏低的问题;WWW_P※LCJS_CO※M-PLC-技-.术_网
(2) 具备JAVA的所有优点 WWW.PLCJS.COM——可编程控制器技术门户