一、什么是SpringMVC?
在 web 模型中,MVC是一种很流行的框架,通过把Model 模型 ,View 视图,Controller 控制器分离,把较为复杂的web 应用分成逻辑清晰的几部分,是一种分层工作的办法。
模型——封装数据的数据模型
视图——页面
控制器——接收页面发送过来的类
MVC 是解决页面代码与后台代码的设计思想
二、常用注解
@Controller 定义了控制器。
@ResquestMapping 定义了这个 Controller 要处理哪些请求。
@RequestBody 请求的报文体
@ResponseBody 响应的报文体
@ResponseStatus 指定请求HTTP返回的响应码
三、有哪些组件
1、前端控制器DispatcherServlet(不需要程序员开发)。
作用接收请求,响应结果,相当于转发器,中央处理器。
有了 DispatcherServlet 减少了其它组件之间的耦合度。
2、处理器映射器HandlerMapping(不需要程序员开发)
作用:根据请求的url查找Handler
3. 处理器适配器HandlerAdapter
作用:按照特定规则(HandlerAdapter要求的规则)去执行Handler
4、处理器Handler(需要程序员开发)
注意:编写Handler时按照HandlerAdapter的要求去做,这样适配器才可以去正确执行Handler
5、视图解析器View resolver(不需要程序员开发)
作用:进行视图解析,根据逻辑视图名解析成真正的视图(view)
6、视图View(需要程序员开发jsp)
View是一个接口,实现类支持不同的View类型(jsp、freemarker、pdf…)
四、工作流程
第一步:用户发起请求到前端控制器(DispatcherServlet)
第二步:前端控制器请求处理映射器 HandlerMapping 查找处理器 Handler
可以根据xml配置、注解进行查找
第三步:处理器映射器HandlerMapping向前端控制器返回Handler
第四步:前端控制器调用处理器适配器去执行Handler
第五步:处理器适配器去执行Handler
第六步:Handler执行完成给适配器返回ModelAndView
第七步:处理器适配器向前端控制器返回ModelAndView
ModelAndView是springmvc框架的一个底层对象,包括 Model和view
第八步:前端控制器请求视图解析器去进行视图解析
根据逻辑视图名解析成真正的视图(jsp)
第九步:视图解析器向前端控制器返回View
第十步:前端控制器进行视图渲染
视图渲染将模型数据(在ModelAndView对象中)填充到request域
第十一步:前端控制器向用户响应结果
来源:oschina
链接:https://my.oschina.net/u/3973793/blog/4256555