Web、MVC、WebMVC区别与联系

本文详细介绍了Web、MVC模式及其在Web环境中的应用,探讨了WebMVC的特点,特别是在Web环境中模型无法主动推送给视图的情况。此外,还概述了SpringWebMVC框架,它是Spring框架的一部分,旨在简化Web开发,通过DispatcherServlet实现请求分发,并遵循开闭原则,提供可扩展性。

一、Web、MVC、WebMVC
1)完成一次web 请求的过程
web浏览器发起请求,web服务器接收请求并处理请求,最后产生响应(一般为html)。
web服务器处理完成后,返回内容给web客户端,客户端对接收的内容进行解析出来展示给用户。
从这里可以看出,在web中,都是web客户端发起请求,web服务器接收处理请求并产生响应。
一般web服务器是不能主动通知web客户端更新内容,虽然有些技术可以帮我们实现这样的效果,如服务器推技术(Comet)、还有HTML5中的websocket等。
2)MVC模型(Model-View-Controller)
是一种架构型的模式,本身不引入新功能,只是帮助我们将开发的代码结构,组织的更加合理。
Model(模型)
数据模型,提供要展示的数据,因此包含数据和行为,行为是用来处理这些数据的。不过现在一般都分离开来:Value Object(数据) 和 服务层(行为)。也就是数据由实体类或者javabean来提供,行为由service层来提供.
View(视图)
负责进行模型的展示,一般就是我们见到的用户界面,客户想看到的东西。
Controller(控制器)
接收用户请求,委托给模型进行处理,处理完毕后把返回的模型数据交给给视图。也就是说控制器在中间起到一个调度的作用。
注意:在标准的MVC中,模型能主动推数据给视图进行更新(可以采用观察者设计模式实现,在模型上注册视图,当模型更新时自动更新视图),但在Web开发中模型是无法主动推给视图,即无法主动更新用户界面,因为在Web的访问是请求-响应的模式。必须由客户端主动发出请求后,服务器才能把数据返回。
3)WebMVC
Web中MVC里面的模型-视图-控制器的概念和标准MVC概念一样,但是在Web MVC模式下,模型无法【主动】推数据给视图,如果用户想要视图更新,需要再发送一次请求(即请求-响应模型)。
二、SpringWebMVC概述(SpringMVC)
1)SpringWebMVC简称SpringMVC
SpringMVC就是Spring框架提供的一个模块,通过实现MVC模式来很好地将数据、业务与展现进行分离,SpringMVC框架的目的是要简化我们日常的Web开发。
SpringMVC框架跟其他的WebMVC框架一样,都是请求驱动,并且设计围绕一个能够分发请求到控制器以及提供其他加快web应用开发功能的核心Servlet(叫做DispatcherServlet,即前端控制器)。Spring的DispatcherServlet实现比其他框架中还要多的功能。它和spring的ioc容器完全整合,并且允许使用spring中其他的所有功能。
SpringMVC框架设计的一个核心的原则就是"开闭原则",对扩展开放,对修改关闭.所以SpringMVC框架中很多方法都是final的,不允许用户随意覆盖,但是却提供给用户很多可扩展的机制(springmvc提供了很多接口)。SpringMVC目前已经成为非常流行的web应用的框架。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值