JSP和JavaBean模型详细介绍

开发 后端
这里介绍JSP和JavaBean模型依靠几个JavaBean组件实现具体的应用功能,生成动态内容,起最大的特点就是简单。

本文向大家介绍JSP和JavaBean模型,可能好多人还不知道JSP和JavaBean模型,没有关系,看完本文你肯定有不少收获,希望本文能教会你更多东西。

运用JSP/Servlet实现的web动态交互,主要采用JSP和JavaBean模型还有JSP和JavaBean+Servlet模型。本文分别介绍这两种模型,并比较它们的优缺点。

一.JSP和JavaBean模型

模型的结构如下图所示,称之为JSP和JavaBean模型。其工作原理是:当浏览器发出请求时,JSP接收请求并访问JavaBean。若需要访问数据库或后台服务器,则通过JavaBean连接数据库或后台服务器,执行相应的处理。JavaBean将处理的结果数据交给JSP。JSP提取结果并重新组织后,动态生成HTML页面,返回给浏览器。用户从浏览器显示的页面中得到交互的结果。

[[5671]]


JSP和JavaBean模型充分利用了JSP技术易于开发动态网页的特点,页面显示层的任务由JSP(但它也含事物逻辑层的内容)承担,JavaBean主要负责事务逻辑层和数据层的工作。JSP和JavaBean模型依靠几个JavaBean组件实现具体的应用功能,生成动态内容,起最大的特点就是简单。

二.JSP和JavaBean+Servlet模型

JSP和JavaBean+Servlet模型的体系结构如下图所示,称之为JSP和JavaBean和Servlet模型。它是一种采用基于模型视图控制器(Model和View和Controller)的设计模型,即MVC模型。该模型将JSP程序的功能分为3个层次:Model(模型)层、View(视图)层、Controller(控制器层)。Model层实现业务逻辑,包括了Web应用程序功能的核心,负责存储与应用程序相关的数据;View层用于用户界面的显示,它可以访问Model层的数据,但不能更改这些数据;Controller层主要负责Model和View层之间的控制关系。

[[5672]]


具体实现时,JavaBean作为模型层,Servlet作为控制层,JSP作为视图层。每层的作用如下:

1.JavaBean作为Model层,实现各个具体的应用逻辑和功能。

2.Servlet作为Controller层,负责处理HTTP请求,包括:
◆对输入数据的检查和转换。
◆通过JavaBean访问数据库。
◆初始化JSP页面中要用到的JavaBean或对象。
◆根据处理中不同的分支和结果,决定转向那个JSP等。

3.JSP作为View层,负责生成交互后返回的界面。它主要通过信息共享,获取Servlet生成的对象或JavaBean,从中取出数据,插入到HTML页面中。

该模型的工作原理是:所有的请求都被发送给作为控制器的Servlet。Servlet接收请求,并根据请求信息将它们分发给相应的JSP页面来响应;同时Servlet还根据JSP的需求生成相应的JavaBean对象并传输给JSP。JSP通过直接调用方法或利用UseBean的自定义标签,得到 JavaBean中的数据。

这种设计模式通过Servlet和JavaBean的合作来实现交互处理,很好的实现了表示层、事务逻辑层和数据的分离。

三.两种模型的比较

从以上对两种模型的说明来看,JSP和JavaBean模型和JSP和JavaBean+Servlet模型的整体结构都比较清晰,易于实现。它们的基本思想都是实现表示层、事务逻辑层和数据层的分离。这样的分层设计便于系统的维护和修改。两种模型的主要区别表现在:

1.处理流程的主控部分不同。JSP和JavaBean模型利用JSP作为主控部分,将用户的请求、JavaBean和响应有效的链接起来。JSP和JavaBean+Servlet模型利用Servlet作为主控部分,将用户的请求、JavaBean和响应有效的链接起来。

2.实现表示层、事务逻辑层和数据层的分离程度不同。JSP和JavaBean+Servlet模型比JSP和JavaBean模型有更好的分离效果。当事务逻辑比较复杂、分支较多或需要涉及多个JavaBean组件时,JSP和JavaBean模型常常会导致JSP文件中嵌入大量的脚本或Java代码。特别是大型项目开发中,由于页面设计和逻辑处理分别由不同的专业人员承担,如果JSP 有相当一部分处理逻辑和页面描述混在一起,这就有可能引起分工不明确,不利于两个部分的独立开发和维护,影响项目的施工和管理。在JSP和JavaBean+Servlet模型中,由 Servlet处理HTTP请求,JavaBean承担事务逻辑处理,JSP仅负责生成网页的工作,所以表现层的混合问题比较轻,适合于不同专业的专业人员独立开发Web项目中的各层功能。

3.适应于动态交互处理的需求不同。当事务逻辑比较负责、分支较多或需要涉及很多JavaBean组件时,由于JSP和JavaBean+Servlet模型比JSP和JavaBean模型有更清晰的页面表现、更明确的开发模块的划分,所以使用JSP和JavaBean+Servlet模型比较适合。然而,JSP和JavaBean+Servlet模型需要编写Servlet程序,Servlet程序需要的工具是Java集成开发环境,编程工作量比较大。对于简单的交互处理,利用JSP和JavaBean模型,JSP主要是使用HTML工具开发,然后再插入少量的Java代码就可以实现动态交互。在这种情况下,使用JSP和JavaBean模型更加方便快捷。

JSP和JavaBean模型和JSP和JavaBean+Servlet模型这两种用于开发Web应用的方法都有很好的使用性。当然,实现动态交互的Web应用,不限于这两种模型。在实际Web应用的开发过程中,需要根据系统特点、客户需求及处理逻辑的特性,选择合适的模型,力求使整个应用的体系结果更加合理,从而实现不同的交互处理。

【编辑推荐】

  1. JSP和BEAN详细剖析
  2. Servlet和JSP经验总结
  3. 带参数方法调用JSP EL表达式
  4. 详解JSP开发环境的配置
  5. 全面介绍JSP标准标记库JSTL
责任编辑:佚名 来源: 新浪科技
相关推荐

2009-07-03 11:21:43

Servlet和JSPJSP路径

2009-06-25 14:26:07

JSPJavaBeanServlet

2011-06-15 13:07:10

JSP和JavaBea

2009-07-03 18:31:04

JSP表达式

2009-07-01 10:12:40

JSP环境配置JSP引擎

2011-07-08 16:54:39

JspCookies

2009-06-25 14:05:01

JavaBean实现J

2011-07-08 11:19:51

jspaction

2009-09-02 10:26:23

JSP和BEAN

2011-06-15 12:36:58

JSPBEAN

2009-07-03 10:06:50

JSP JavaBeaJSP Servlet

2009-06-30 08:55:21

JSP和javabea

2009-07-03 17:33:06

JSP中调用JavaB

2009-07-07 14:04:55

JSP入门

2009-07-06 17:07:11

JSP实例

2009-07-02 10:13:47

ASP和JSPJSP页面

2009-02-01 10:04:44

JSPJavaBeanJavaBean应用

2009-06-24 13:50:29

JSF和MVC

2011-06-30 10:20:38

JSFMVC

2011-06-07 11:14:51

JAVAJSP
点赞
收藏

51CTO技术栈公众号