1.Spring Boot、Spring MVC 和 Spring 有什么区别
Spring是一个IOC容器,通过依赖注入和控制反转来管理Bean,可以很方便的整合各种框架, 并且还提供了AOP的机制。Spring MVC 是Spring 对web框架的一个解决方案,提供了一个总的前端控制器servlet,用来接受请求,并且定义了一套路由策略(url到handle的映射)和适配执行的handle,然后将handle的结果使用视图解析技术生成试图展现给前端Spring Boot 是Spring提供的一个快速开发工具包,可以更方便、更快速的开发Spring、Spring MVC应用,并且简化了我们的配置。
2.Spring MVC的工作流程?
用户发送请求到前端控制器DispatchServletDispatchServlet 收到请求调用HandlerMapping处理器映射器处理器映射器找到具体的处理器(可以通过Xml,或者注解进行查找),生成处理器及其处理器拦截器(如果有则生成)一并返回给DispatchServletDispatchServlet调用HandlerAdapter处理器适配器HandlerAdapter经过适配调用去具体的处理器(Controller)Controller执行完成返回ModelAndViewHandleAdapter将Controller执行结果ModelAndView返回给DispatchServletDispatchServlet将ModelAndView传给ViewResolver视图解析器ViewReslover解析后返回具体的ViewDispatchServlet根据view进行渲染试图(即将模型数据填充至试图中)DispatchServlet响应用户
3.Spring MVC的主要组件?
Handler:处理器,它对应着MVC中的C也就是Controller层,在Controller层中@RequestMapping标注的所有方法都可以看成是一个Handler,只要可以实际处理请求的就可以是Handler。
HandlerMapping
处理器映射器,根据前端请求的url找到对应的Handler处理器。 HandlerAdapter
处理器适配器,匹配到具体的控制器方法(Controller)。 HandlerExceptionResolver
根据异常设置ModelAndView,之后再交给render方法进行渲染。 ViewResolve
视图解析器,渲染视图View。 MultipartResolver
用于处理上传请求。 等等…
|