栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

SpringMVC个人总结

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

SpringMVC个人总结

以下为个人总结,欢迎大家补充指正

springmvc初始化

springboot对springmvc进行了再次封装,根据约定大约配置的思想,减少了spring时期的mvc的各种配置;
一: springboot启动过程中,自动读取META-INF/spring.factories的配置文件,加载配置类的bean对象,将DispatcherServletAutoConfiguration配置温江中dispatchservlet的bean对象加载到spring容器中,
二: 之后将处理器对象(controller),方法对象(处理器method),映射对象(requestmapping)注册到AbstractHandlerMethodMapping中的MappingReistry类中的对象中主要包含:
(1)registry对象:工程已注册的mapping对象,包含mapping路径,处理器方法等
(2)pathLookup:找到的所有映射路径对象
(3)nameLookup:找到的所有映射名称(mappingname)对象

springmvc请求执行

一: 客户端发起请求,服务器DispatcherServlet接收到请求,最终执行doDispatch方法;
二: 找到要执行目标
(1)执行getHandler方法,找到所有处理器映射器,即实现了hanlderMapping接口的映射器,如:RequstMappingHandlerMapping;
(2)遍历映射器,寻找最合适的处理器映射器,由于RequstMappingHandlerMapping针对的就是带有@controller及@RequestMapping的映射器;
(3)去AbstractHandlerMethodMapping类(是RequstMappingHandlerMapping的父类),执行lookupHandlerMethod,根据初始化已注册的信息匹配最佳处理器方法HandlerMethod;
(4)之后获取HandlerInterceptor拦截器对象,可通过HandlerInterceptor接口自定义拦截器;最终组成处理器handlerExecutionChain执行链;
三: 匹配目标由谁来执行,即根据hanlder执行getHandlerAdapter方法,匹配具体由哪个适配器执行请求方法;
(1)找到所有处理器适配器,即实现了hanlderAdapter接口的映射器,如:RequstMappingHandlerAdapter;
(2)遍历适配器,寻找支持该处理器的适配器,由于RequestMappingHandlerAdapter针对的就是犯法带有@RequestMapping的适配器,即匹配到RequestMappingHandlerAdapter适配器;
四: 由具体适配器执行handler方法,执行具体的controller中的方法,得到ModelAndView,如controller方法返回的非body(即视图地址),而非body,则model为数据,view为视图地址;如方法返回body,则ModelAndView返回为空;
五: 如返回视图,则后续会进行视图解析及数据渲染;

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1023649.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号