JSP的开发模式——MVC设计模式

 

MVC(模型-视图-控制器)是20世纪80年代为Smalltalk-80编程语言发明的一种软件设计模式,它是一种分离业务逻辑与显示界面的设计方法。

MVC的模型(Model)部分负责管理程序的业务数据,视图(View)部分负责显示界面,控制器(Controller)部分则负责与用户进行交互(接受请求和选择响应视图)。

 

JSP规范给出了使用JSP页面构建Web应用程序的两个方案—JSP模式1和模式2。两个模式的区别在于处理的位置。

 

JSP模型1(JSP+JavaBean):JSP页面负责处理请求并将响应发送给客户端

JSP部分:既包含输出效果的html+css代码,又包含业务逻辑的Java代码

JavaBean部分:封装对数据库的操作代码和部分的业务逻辑代码

 

Model1的典型的交换过程:首先用户通过浏览器调用Web应用中的JSP页面,发送request请求,JSP页面接收到浏览器的请求后,通过调用JavaBean对象的方法从数据库中读取数据,然后JSP页面再把数据返回浏览器,最终在浏览器中显示相应的信息。

优点:非常适合小型Web项目的快速开发;对JavaWeb开发人员的技术要求不高。

弊端:Java和HTML柔和在一起,在Web项目开发的后期和维护阶段会造成很大的困难。

 

 

JSP模型2(MVC):模型2体系结构集成使用了Servlet和JSP页面,在该模型中,JSP页面用于表示层,并且Servlet负责处理各类任务。

Servlet作为一个控制器,负责处理请求并创建JSP页面所需的任何Bean。该控制器也负责确定将该请求传递到哪个JSP页面。JSP页面检索Servlet创建的对象,并提取动态内容插入在一个模板中。

Servlet部分:处理各种请求的分派

JavaBean部分:对数据库的操作

JSP部分:数据的最终显示

 

Model2交互过程:首先用户通过浏览器向Web应用中的Servlet发送请求,Servlet接收到请求后实例化JavaBean对象,调用JavaBean对象的方法,JavaBean对象返回从数据库中读取的数据,Servlet选择合适的JSP,并且把从数据库中读取的数据通过这个JSP进行显示,最后JSP页面把最终的结果返回给浏览器。

优点:业务逻辑和表示内容得到了很好的分离,这种开发方式适合多人合作开发大型的项目。

弊端:Web项目开发的难度加大了,对开发人员的技术要求也提高了。

 

Servlet作为一个控制器,负责处理请求并创建JSP页面所需的任何Bean,该控制器也负责确定将该请求传递到哪个JSP页面。JSP页面检索Servlet创建的对象,并提取动态内容插入在一个模板中。

 

在WEB应用中很难实现模型的“状态改变通知”事件,视图不能随着模型的改变而自动更新。在web应用中无法完全实现真正意义上的mvc模型,模式2只能算是mvc设计模式的一种变体,有人干脆将他称之为“webMVC”.

 

注意:在MVC设计模式中,View用来呈现数据处理结果,可以是JSP、XML、HTML;Model用来存储数据的状态,可利用JavaBean来实现;Controller负责协调应用程序的运行流程,可用Servlet来实现。运用这种模式可以将数据呈现方式和数据处理方式分离,提高了代码的利用率。这种模式也是最常用的基本开发模式之一

Servlet可以充当控制器角色,也可以实现控制器角色。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值