springMVC运行流程:
-
启动服务器,服务器加载DispatcherServlet调用init()加载spring上下文。spring上下文创建所以的Bean。
-
客户端发送请求。
-
有服务器接收对应请求。
-
springMVC的前端控制DispatcherServlet接收到所有请求。
-
查看请求地址和@RequestMapping("")注解的值去匹配,来找到具体类的处理方法。
-
前端控制器找到目标处理类和方法后,执行目标方法。
-
执行完成之后返回一个值,springMVC会将这个值用视图解析器进行解析和拼接成完整的页面地址。
-
DispatcherServlet拿到页面地址后转发或者重定向到对应页面。
springMVC底层控制器的作用:
DispatcherServlet:负责将所有请求拦截下来分发到各个控制方法中。
HandlerMapping: 负责根据请求的URL和配置的@RequestMapping("")注解的值去匹配。匹配到会返回Handler(具体控制器方法)
HandlerAdaper:负责调度Handler具体方法,返回视图名,Handler将他们封装到ModelAndView。
ViewReslover:根据ModelAndView里面的视图名去找到具体的jsp封装到View对象中。
View:进行视图渲染,最终resopnse到客户端。
springMVC运行流程图:
![](https://img-blog.csdnimg.cn/img_convert/a6d113710cd27a23e5ddb45fdc07daa3.png)