spring mvc

  1. 客户端发送一个HTTP请求
  2. DispatcherServlet接收这个请求后,将请求的处理工作委托给具体的处理器(Handler),后者负责处理请求执行相应的业务逻辑。在这之前,DispatcherServlet必须能够凭借请求信息(URL或请求参数等)按照某种机制找到请求对应的处理器,DispatcherServlet通过HandlerMapping完成这一工作。
  3. 当DispatchServlet从HandlerMapping中得到当前请求对应的处理器后,将请求分派给这个处理器。处理器根据请求的信息执行相应的业务逻辑,一个设计良好的处理器应该通过调用Service层的业务对象完成业务处理,而非自己处理。
  4. 处理器完成业务逻辑的处理后将返回一个ModelAndView给DispatcherServlet,ModelAndView包含了视图逻辑名和渲染视图时需要用到的模型数据对象。
  5. 由于ModelAndView中包含的是视图逻辑名,DispatchServlet必须知道这个逻辑名对应的真实视图对象,这项视图解析的工作通过调用ViewResolver来完成。
  6. 当得到真实的视图对象后,DispatchServlet将请求分派给这个View对象,由其完成Model数据的渲染工作。
  7. 最终客户端得到返回的响应,这可能是一个普通的HTML页面,也可能是一个Excel电子表格,甚至是一个PDF文档等视图形式,Spring视图类型异常丰富和灵活。

你可能感兴趣的:(spring mvc)