1.Spring MVC的理解?
首先,MVC模型是模型,视图,控制器的简写,其思想核心是通过将请求处理控制,业务逻辑,数据封装,数据显示等流程节点分离的思想来组织代码。
所以,MVC是一种设计模式,而SpringMVC是一款基于MVC设计模式思想实现的MVC框架,属于Spring技术栈的一部分。SpringMVC可以帮我们进行更加简洁的web层开发,并且他天生与Spring框架集成,更利于架构的设计与搭建。
2.SpringMVC的工作原理(执行流程)?
- 1.客户端(浏览器)发送请求,统一由DispatcherServlet拦截处理请求。
- 2.DispatcherServlet根据请求信息调用HandlerMapping.HandlerMapper根据uri去匹配查找能处理的Handler(也就是我们定义的Controller控制器),并会将请求涉及到拦截器和Handler一起封装。
- 3.DispatcherServlet调用handlerAdapter适配执行Handler。
- 4.Handler完成对用户请求的处理后,会返回一个ModelAndView模型视图对象给DispatcherServlet。ModelAndView中包括了模型数据以及相应的视图模型。Model是返回的数据对象,View是View视图的逻辑名称。
- 5.ViewResolver会根据逻辑View名称查找并解析实际的View视图文件,并根据DisperServlet返回的Model模型数据传给View视图文件,并进行渲染执行,产生响应结果。
- 6.DispaterServlet负责将相应结果,输出至客户端浏览器。
3.SpringMVC的核心组件有哪些?
- DispatcherServlet:核心处理器,负责统一接收请求,将请求分发至不同的控制器,并负责客户端响应。
- HandlerMapping:处理器映射器,根据uri去匹配查找能处理的Handler,并会将请求涉及到拦截器和Handler一起封装。
- HandlerAdapter:处理器适配器,根据HandlerMapping找到Handler,适配执行对应的Handler;
- Handler: 请求处理器,处理实际请求的处理器。
- ViewResolver:视图解析器,根据Handler返回的逻辑视图名称,解析并渲染真正的视图文件,并传递给DispatcherServlet响应至客户端