Spring MVC工作原理

前言
对于Spring MVC项目搭建相信大家按照网上教程来做基本都会,但更多时候我们应该多问几个为什么,多思考实现原理,当你懂了工作原理之后对于很多问题的可能就知道是那里出错了,同时也可以更好地改进项目。
Spring MVC简介
Spring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框架。它是为了解决企业应用开发的复杂性而创建的。框架的主要优势之一就是其分层架构,分层架构允许使用者选择使用哪一个组件,同时为 J2EE 应用程序开发提供集成的框架。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。Spring的核心是控制反转(IoC)和面向切面(AOP)。简单来说,Spring是一个分层的JavaSE/EEfull-stack(一站式) 轻量级开源框架。
补充知识点
Spring Web MVC框架是以请求为驱动,围绕中央Servlet设计,将请求发送给控制器,并提供了其他促进Web应用程序开发的功能。
DispatcherServlet就是这个中央Servlet,DispatcherServlet是一个真正的Servlet。DispatcherServlet的功能很强大,它与Spring IOC容器完全兼容,因此可以使用任何Spring拥护的特征。

Spring MVC工作流程
Spring的MVC框架主要由DispatcherServlet、处理器映射、处理器(控制器)、视图解析器、视图组成。
其工作原理图如下所示:

Spring MVC工作流程说明
从图中可以看出,Spring Web MVC框架是围绕DispatcherServlet设计的,DispathcerServlet相当于与一个调度器,将请求根据处理流程一步一步分发给相应的解析器解析处理。
客户端将请求发送给后台(一般都是通过浏览器进行发送的),请求到了后台都是交给DispatcherServlet处理,所有相当于是直接发送给了DispatcherServlet。
DispatcherServlet根据请求的信息(URL、Http方法、请求报文头、请求参数Cookie等)调用HandlerMapping解析器解析该请求对应的handler。
解析到对应的handler后,DispatcherServlet将控制权移交给HandlerAdapter来处理请求,HandlerAdapter将处理器包装为适配器,从而支持多种类型的处理器。
4.HandlerAdapter会根据实际需要的Handler调用真正的处理器来处理请求,处理器根据要求处理业务逻辑。
处理器处理完业务逻辑之后会返回一个ModelAndView对象,这里的Model是处理器处理完成之后的数据,View是一个逻辑上的View。
ViewResolver会根据逻辑View查找实际对应的是那个View。
DispatcherServlet最后将5中返回的Model放入到6中解析的正真的View中生成结果,并返回给请求者。

总结
学习Spring MVC先学习工作原理,然后再将工作流程中的细节部分单独深入学习理解,这种学习方式更能深刻掌握Spring MVC。
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值