对springMVC 的理解
springMVC 其实是在原有的spring的基础上,提供了web应用的MVC模块。
什么是MVC:
当客户端——>发送请求 ——>C控制器(controller) 作用:接受请求,调用业务逻辑处理类,派发
页面。——>M交给模型层处理(去数据库查询)——>M模型(model、service、dao、entity)——>返
回处理结果——>C控制器(controller) ——>为了美观将这结果集渲染到视图中 V(view)视图页面
jsp、模板引擎——>最后由C控制器响应给客户端
springMVC的执行流程:
客户端——》1.发送请求——》前端控制器(dispatcherservlet 中央处理器)接受请求之后进行请求
转发——》2.请求handlerMapping获取handler——》handlerMapping处理器映射器通过注解或
配置找到最终要执行的handler——》3.返回handler(由具体的handler对象处理具体的业务
逻辑)——》前端控制器——》4.请求handlerAdapter(处理器适配器)匹
配handler(controller处理器)——》5.将请求的参数等等发送给handler(处理器、后端
控制器)去执行,——》6.当执行完毕后,返回一个ModleAndView这个具体的对象(也就是
返回的数据)——》7.返回ModleAndView到中央处理器(前端控制器)——》8.为了更加美
观的将数据展示在页面里,把ModleAndView通过试图解析器ViewResolver进行处理——》9.返
回View处理结果到中央处理器——》10.渲染视图,将model数据转为response由中央处理器
响应给客户端
组件说明
1:DispatcherServlet:前端控制器(由框架提供),作为流程控制的中心,控制其他组件执行,统
一调度,能够接受请求、响应结果。
2:HandlerMapping:处理器映射器(由框架提供),根据用户请求的url路径找到负责处理的Handler处理器。
3:HandlerAdaptor:处理器适配器(由框架提供),根据特定规则去执行Handler。
4:Handler:处理器(需要自己开发),作为后端控制器,对具体用户的业务请求进行请求,并
将处理的结果封装在ModelAndView对象中,并返回给调用者。
5:ViewResolver:视图解析器(由框架提供),主要进行视图解析,根据逻辑视图名解析出真正的视图。