SpringMVC

1.入口控制:通过DispatcherServlet作为入口控制器,负责接收请求和分发请求。自己写Servlet需要再web.xml中配置。通过请求路径确定分发到指定的地方。

2.参数直接绑定对象。前端参数直接可以通过DTO直接绑定对象数据。

3.ioc容器,不需要自己创建对象。

4.提供了拦截器,异常处理器。

5.支持识图解析。

执行流程

从浏览器再回到浏览器。

  1. 前端访问一个路径
  2. 通过一系列的过滤器链(Filter),过滤器执行顺序与过滤器在servlet容器注册顺序决定。
  3. 来到DispatcherServlet,通过httpServletRequest拿到访问路径(uri),通过路径获取要对应的执行器(controller)。
  4. 拦截到达执行器(controller)前的拦截,preHandle拦截器开始作用。
  5. controller处理业务,DispatcherServlet调用 ViewResolver视图解析器拿到前端上报的数据,也可以通过HttpServletRequest拿到前端请求携带的数据。
  6. 拦截处理完的结果,postHandler执行。
  7. 渲染视图,结合thymeleat之类的视图框架将各种再ModelAndView或者respose中的数据,解析并且放到html文件。
  8. 后置拦截器afterCompletion负责清理各种这次请求产生的资源和日志。
  9. 再次通过,过滤器链(Filter),过滤器执行顺序与过滤器在servlet容器注册顺序决定。
  10. 回到浏览器。