面试高频点:SpringMVC运行原理

面试高频点:SpringMVC运行原理

Spring MVC官网提供的SpringMVC运行原理图:

面试高频点:SpringMVC运行原理_第1张图片

以下是西部开源-秦疆老师整理的图片,相比官网提供的图片更加直观,每一步对应的执行流程更加细致

面试高频点:SpringMVC运行原理_第2张图片

其实程序员要做的事情只有两部,不信你看看上图 。上图中虚线是程序员操作,实线为Spring MVC自行处理

 

现在结合官网和西部开源-秦疆老师提供的图片和自己学习之后的理解,大致总结一下对Spring MVC运行原理的理解:

1.专业词汇的解析:

DispatchServlet:前端控制器,是整个SpringMVC的控制中心。

HandlerMapping:处理器映射

HandlerExecution:具体的Handler

HandlerAdapter:处理器适配器

Controller: 控制器

ViewResolver :视图解析器

2.执行流程解析:

假设请求的url:“http://localhost:8080/springmvc/hello”

  • http://localhost:8080:服务器域名

  • springmvc:部署在服务器上面的web站点

  • hello:控制器

第一步:对应图中的1.用户发送请求,DispatchServlet接收请求或者拦截请求。

第二步:对应图中的2.DispatchServlet调用HandlerMapping,HandlerMapping根据请求的url查找Handler

第三步:对应图中的3.根据url查找控制器

第四步:对应图中的4.将解析后的信息传递给DispatchServlet,如解析控制器映射等

第五步:对应图中的5.按照特定的需求去执行Handler

第六步:对应图中的6.Handler让具体的Controller执行

第七步:对应图中的7.Controller将具体的的执行信息返回给HandlerAdapter

第八步:对应图中的8.HandlerAdapter将视图逻辑名或者模型(ModelAndView)传递给DispatchServlet

第九步:对应图中的9.DispatchServlet调用视图解析器(ViewResolver)来解析HandlerAdapter传递的逻辑视图名

第十步:对应图中的10.视图解析器将解析处理的逻辑视图名传递给DispatchServlet

第十一步:对应图中的11.DispatchServlet根据解析的视图,调用具体的视图

第十二步:对应图中的12.最终视图呈现给用户

 

3.总结:

没有什么学不会,一遍不理解,就在理解一遍;

看十遍还不会,就在看十遍;

看到学会,看到理解为止;

能够用自己的语言将流程讲述给别人听,并且让别人听懂,那么你就成功了。

加油!!!

没有学不会的人,只有不想学的懒人,愿大家都不会是哪个懒人。

 

 

你可能感兴趣的:(java)