SpringMVC
1.入口控制:通过DispatcherServlet作为入口控制器,负责接收请求和分发请求。自己写Servlet需要再web.xml中配置。通过请求路径确定分发到指定的地方。
2.参数直接绑定对象。前端参数直接可以通过DTO直接绑定对象数据。
3.ioc容器,不需要自己创建对象。
4.提供了拦截器,异常处理器。
5.支持识图解析。
执行流程
从浏览器再回到浏览器。
- 前端访问一个路径
- 通过一系列的过滤器链(Filter),过滤器执行顺序与过滤器在servlet容器注册顺序决定。
- 来到DispatcherServlet,通过httpServletRequest拿到访问路径(uri),通过路径获取要对应的执行器(controller)。
- 拦截到达执行器(controller)前的拦截,preHandle拦截器开始作用。
- controller处理业务,DispatcherServlet调用 ViewResolver视图解析器拿到前端上报的数据,也可以通过HttpServletRequest拿到前端请求携带的数据。
- 拦截处理完的结果,postHandler执行。
- 渲染视图,结合thymeleat之类的视图框架将各种再ModelAndView或者respose中的数据,解析并且放到html文件。
- 后置拦截器afterCompletion负责清理各种这次请求产生的资源和日志。
- 再次通过,过滤器链(Filter),过滤器执行顺序与过滤器在servlet容器注册顺序决定。
- 回到浏览器。