spring MVC的执行流程

springmvc是一种基于java的实现mvc设计模型的请求驱动类型的轻量级web框架。它通过一套注解,让一个简单的Java类称为处理请求的控制器,而无需实现任何接口,同时还支持restful编程风格的请求。

三大组件:

  • 处理器映射器,处理器适配器,视图解析器。
springMVC的执行流程:

1、前端控制器dispatchservlet作为整个流程的控制中心,由其调用其它组件处理用户的请求。
2、前端控制器接收客户端请求,然后请求查询handle给处理器映射器HandleMapping,由处理器映射器负责根据用户的请求找到具体的Handle即处理器,生成处理器对象及处理器拦截器(如果有则生成),一并返回给Dispatcher Servlet。
3、DispatcherServlet转发给处理器适配器HandleAdapter,由其对处理器进行执行。这是适配器模式的应用,通过拓展适配器可以对更多类型的处理器进行执行。
4、HandlerAdapter经过具体的适配调用具体的处理器Handler/Controller(Controller也叫后端控制器);
5、处理器Handler对具体的用户请求进行处理。执行完成返回ModelAndView给前端控制器;
6、前端控制器将modelandview传给视图解析器ViewResolver,由其负责处理结果生成View视图,ViewResolver首先更具逻辑视图名解析成物理视图名,也即具体的页面地址,再生成View视图对象,最后对View进行渲染将处理结果通过页面展示给用户;最后,ViewResolver解析后返回具体的View给掐你段控制器。
7、前端控制器根据View进行渲染视图(即将模型数据填充至视图中),然后返回给客户端。
spring MVC的执行流程

相关注解:

  • @Controller
  • @RequestMapping(value,method,params)
  • @ResponseBody 告诉springMVC该方法不进行视图跳转,直接进行数据响应,将该方法的返回值直接输出到浏览器页面。
  • @RequestParam (value,required ,defaultValue)
  • @RequestHeader(value,required)
  • @CookieValue(value,required)