Model-View-Controller(mvc)

本文介绍了MVC框架的工作原理,详细解释了如何通过分发器处理请求、选择控制器填充模型及选择视图渲染响应的过程。同时介绍了SpringWebMVC的具体实现方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、MVC框架概述

MVC框架使用一个分发器(dispatcher)来处理请求,它根据URL决定调用那个控制器(controller)来填充model,进而选择那个视图(view)来渲染模型。

分发器使用mappings(通常是URL maps)来判断调用哪个控制器。同样,调用那个view来渲染相应也通过mappings来判定。一个控制器包含比如数据库查询或service调用等业务逻辑,这些都是在相应生成前完成的;控制器的另一个工作就是用数据填充model。一个试图负责渲染逻辑并生成最终的相应。它查询model中的数据并传递给渲染函数。


处理过程如下:

1、dispatcher 处理传入的请求,假设出入的URL为 /hotels

2、dispatcher在map中查找该URL

3、如果有,关联控制器被调用。控制器调用外面的服务并检索出hotels列表,创建一个model,用列表填充

4、调度器查找与该URL匹配的view

5、如果有,则调用。view接收model并用来渲染HTML元素,生成hotels列表

6、发送相应给终端用户


MVC模式最主要的好处是完全分离业务逻辑和渲染逻辑,使应用程序模块化,允许插件式使用controllers和views。它也提供了重用,比如一个controller共享多个views,或者多个controller共享一个view。

2、Spring Web MVC

Spring Web MVC是Spring框架web应用对Model-View-Controller的一个实现

基于Spring configuration、java beans 实现controller、views、model、mappings(URLs和handlers间的,这里handlers包括controller和view)。Spring Web MVC拥有很强的扩展性,让你专注于自己的代码,编写可插拔的bean,或者是通过配置重写一些东西。

对于Spring Web MVC,dispatcher就是dispatcher servlet 。一个controller是一个在Spring framework中注册过的的Plain Old Java Object(POJO),model是一个命名属性的简单map。控制器计算出这些属性,然后再回到dispatcher servlet中填充model。然后,dispatcher servlet 尝试着选择一个view来渲染生成的model,并展示给终端用户。它检查视图解析器(view resolvers)的注册表并询问每一个是否能够处理传入的请求URL,如果匹配到一个视图解析器,就会被用来创建一个视图对象(view object),给用户渲染模型。

通常情况下,Spring Web MVC应用程序开发者会集中大量精力在编写控制器和视图上,而这两部分随后又会使用Spring configuration XML关联起来。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值