学科分类
目录
Java Web

JSPModel

JSPModel即JSP的开发模型,在Web开发中,为了更方便地使用JSP技术,Sun公司为JSP技术提供了两种开发模型:JSP Model1和JSP Model2。JSP Model 1简单轻便,适合小型Web项目的快速开发;JSP Model2模型是在JSP Model1的基础上提出的,它提供了更清晰的代码分层,更适用于多人合作开发的大型Web项目,实际开发过程中可以根据项目需求,选择合适的模型。接下来就针对这两种开发模型分别进行详细介绍。

1、JSP Model 1

在讲解JSP Model1前,我们先来了解一下JSP开发的早期模型。在早期使用JSP开发的JavaWeb应用中,JSP文件是一个独立的、能自主完成所有任务的模块,它负责处理业务逻辑、控制网页流程和向用户展示页面等,接下来通过一张图来描述JSP早期模型的工作原理,如图1所示。

图1 早期模型的工作原理图

从图1中可以看出,浏览器请求JSP,JSP直接对数据库进行各种操作,将结果响应给浏览器。但是在程序中,JSP页面功能的“过于复杂”给开发带来了一系列的问题,比如JSP页面中HTML代码和Java代码强耦合在一起,代码的可读性很差,数据、业务逻辑,控制流程混合在一起,使得程序难以修改和维护。为了解决上述问题,SUN公司提供了一种JSP开发的架构模型—JSP Model 1。

JSP Model 1采用JSP+JavaBean的技术,将页面显示和业务逻辑分开。其中,JSP实现流程控制和页面显示,JavaBean对象封装数据和业务逻辑。接下来通过一张图来描述JSP Model1的工作原理,如图2所示。

图2 JSP Model1模型的工作原理图

从图2中可以看出,JSP Model 1模型将封装数据以及处理数据的业务逻辑的任务交给了JavaBean组件,JSP只负责接受用户请求和调用JavaBean组件来响应用户的请求,这种设计实现了数据、业务逻辑和页面显示的分离,在一定程度上实现了程序开发的模块化,降低了程序修改和维护的难度。

2、JSP Model 2

JSP Model 1虽然将数据和部分的业务逻辑从JSP页面中分离出去,但是JSP页面仍然需要负责流程控

制和产生用户界面,对于一个业务流程复杂的大型应用程序来说,在JSP页面中依旧会嵌入大量的Java代码,给项目管理带来很大的麻烦。为了解决这样的问题,SUN公司在Model 1的基础上提出了JSP Model 2架构模型。

JSP Model 2架构模型采用JSP+Servlet+ JavaBean的技术,此技术将原本JSP页面中的流程控制代码提取出来,封装到Servlet中,从而实现了整个程序页面显示、流程控制和业务逻辑的分离。实际上JSP Model2模型就是MVC(模型Model-视图View-控制器Controller)设计模式,其中控制器的角色是由Servlet实现,视图的角色是由JSP页面实现,模型的角色是由JavaBean实现。接下来通过一张图来描述Model 2的工作原理,如图3所示。

img

图3 JSP Model2模型的工作原理图

从图3中可以看出,Servlet充当了控制器的角色,它接受用户请求,并实例化JavaBean对象封装数据和对业务逻辑进行处理,然后将调用JSP页面显示JavaBean中的数据信息。

点击此处
隐藏目录