大家好,今天和大家分享SpringMVC的相关知识,主要是对SpringMVC的工作原理做一些分析。
SpringMVC的工作流程如下:
接下来我们先来对其中的组件以及相应的功能来做简单介绍:
组件:
1.DispatcherServlet
DispatcherServlet是我们所说的前端控制器,由框架进行提供,作用是接收请求,返回相应结果,同时负责调度其他组件进行工作,是SpringMVC的核心处理器,相当于SpringMVC的大脑。这个组件存在的意义很大一部分是对其他组件进行了解耦。
2.HandlerMapping
HandlerMapping是处理器映射器,由框架进行提供,负责根据用户的请求来查找相应的处理器对用户请求进行处理,SpringMVC中也提供了不同的映射器以实现不同的映射方式,类似于注解,xml配置文件,实现接口等方式。
3.HandlerAdapter
HandlerAdapter是处理器适配器,由框架进行提供,适配器会按照特定的规则使用处理器,通过适配器调用处理器处理用户请求的好处在于可以通过扩展适配器的方式来对更多类型的处理器进行调用。
4.Handler
Handler是我们常说的处理器,也是我们的后端处理器,需要由开发者根据不同的需求进行开发,但是Handler的开发需要遵从适配器规则,这样才能被适配器进行调用,然后去处理用户相应请求。
5.ViewResolver
ViewResolver是视图解析器,负责将处理器返回的结果处理成视图,视图解析器首先会根据处理器回传的逻辑视图名找到具体的页面地址,然后生成一个View视图,最后会将视图交给前端控制器对视图进行渲染后将页面展示给用户。
6.View
View就是上面所说的视图,是由开发人员进行开发,由视图解析器进行渲染的对象。
运行过程
1.用户发送请求给前端控制器DispatcherServlet
2.DispatcherServlet接收到用户请求后,通过调用HandlerMapping处理器映射器寻找合适的处理器进行处理。
3.处理器映射器找到具体的处理器后,生成处理器对象以及处理器拦截器,并返回给前端控制器。
4.前端控制器通过调用处理器适配器,将请求交给处理器进行处理。
5.处理器适配器调用具体的处理器对请求进行处理。
6.处理器处理完成后返回ModelAndView。
7.处理器适配器将处理器返回的ModelAndView返回给前端控制器。
8.前端控制器将ModelAndView交给视图解析器进行解析。
9.视图解析器解析之后返回具体的View。
10.前端控制器根据具体的View进行渲染。
11.前端控制器响应用户请求。
以上就是SpringMVC的简单处理流程,我们发现核心在于前端处理器,前端处理器的存在将各个组件进行了解耦,并对用户请求做出相应的响应,也就是说前端处理器成了用户请求的唯一接收方,至于后续逻辑,则全部进行了封装,不对外暴露,做了非常好的封闭性。
好了,今天就先分享这些知识,如果大家觉得我们的文章对您有用,请关注我们的公众号,每天一篇干货文章。