Spring MVC的组件和流程

Spring MVC的核心在于其流程,这是SpringMVC的基础,SpringMVC是一种基于Serlvet的技术,它提供了核心控制器DispatcherServlet和相关组件。
下面是其组件和相关流程图
这里写图片描述

图中给出了Spring MVC的服务流程和各个组件运行的顺序,这是SpringMVC的核心。
首先呢,SpringMVC框架是围绕DispatcherServlet工作的,所以这个类是非常重要的类,我们知道他会拦截HTTP发送过来的请求,在Servlet初始化(调用init方法)时,SpringMVC会根据配置获取配置信息,从而获得统一资源标识符(URI)和处理器(Handler)之间的映射关系(HandlerMapping),为了更加灵活和增强功能,SpringMVC还可以给处理器加入拦截器,所以还可以在处理器执行前后加入自己的代码这样就就构成了一个处理器的执行链(HandlerExecutionChain),并根据上下文解析器等内容,当处理器返回的时候就可以通过视图解析器定位视图,将数据模型渲染到视图中,来响应用户的请求。

下面写一个完整的流程。
当一个请求到来时,DispatcherServlet首先通过请求和事先解析好的HandlerMapping配置找到对应的处理器(Handler),这样就准备开始运行处理器和拦截器组成的执行链,而运行处理器需要有一个对应的环境,然后就有了一个处理器的适配器(HandlerAdapter),通过这个适配器就能运行对应的处理器及其拦截器,这里的处理器包含控制器的内容和其他增强的功能,在处理器返回模型和视图给DispacherServlet后,DispatcherSerlvet就会把对应的视图传递给视图解析器(ViewResolver)。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值