11.Spring MVC请求流程

这篇文章说一下spring mvc的请求流程,开发中使用spring mvc的还是挺多的,所以你需要请求怎么通过各个环节,数据如何流转,最后数据又如何显示在浏览器,明白请求流程还是蛮重要的,对于调查问题很有帮助。
spring mvc的请求流程如下图所示:


spring mvc请求流程

1.浏览器发出请求,该请求携带请求信息的内容,至少含有url。来到DispatcherServlet控制器。
2.DispatcherServlet会查询一个或者多个handler mapping,来确定下一站在哪里。
3.当确定好对应的控制器,DispatcherServlet会把请求发送选中的控制器将请求发送给spring mvc控制器。
4.控制器在处理完逻辑任务后,会产生对应的信息,也就是model模型,控制器将这些原始的信息打包并且标示出用于渲染输出的视图名,接着会将模型和视图名发送回DispatcherServlet。
5.此时View Resolver视图解析器会根据返回的视图名匹配一个特定的视图进行解析。
6.视图解析成功后,将返回客户端,这个请求就结束了。


可能会在开发中遇到的问题,对于初学者来说,你可能会遇到controller写好了,JSP也开发好了,但是始终不会进你的后台controller,那么你需要查看一下你的url是否和controller的一致,如果不相同,那么handler mapping是不会匹配到你的controller,所以会导致页面404。
还有可能存在相同的url,你和别人的controller不同,但是定义的url是相同的,在别人的顺序之后的话,handler mapping也是首先会从菜单里面匹配到前面的controller,所以会执行他的,而不是执行你的controller。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容