一 什么是SpringMVC执行流程
springmvc是一种架构模式,它将业务逻辑和页面展示分离开,使程序分层,分工合作,互相独立的同时又互相协作的工作。
Model(模型):数据的模型,负责封装与应用程序业务相关的数据和对数据处理的方法,通常包含数据的实体和业务逻辑service层,操作数据的dao层。
View(视图):主要负责展示数据给客户端,可以是任何展示给客户端数据的技术。
Controller(控制器):负责接收客户端发起的用户请求,调用相应的业务逻辑,处理客户端的请求,将处理的结果传递给视图,视图再展示给客户端,mvc中,控制器是由@controller注解的类实现的。
二 工作流程图
三 SpringMVC核心组件
1. 前端控制器DispatcherServlet
springmvc执行流程的核心,负责接收请求,相应结果。根据请求的url映射到对应的处理器。
2. 处理器映射HandlerMapping
根据请求的url查到对应的Handler(处理器)。
3. 处理器适配器Handler Adapter
按照特定的规则(如根据方法的注解)去调用处理器(Controller)的相应方法。
4. 处理器视图解析器
进行视图解析,根据逻辑视图名解析成真正的视图(view)
ViewResolver负责将处理结果生成View视图,ViewResolver首先根据逻辑视图名解析成物理视图名即具体的页面地址,再生成View视图对象,最后对View进行渲染将处理结果通过页面展示给用户。 springmvc框架提供了很多的View视图类型,包括:jstl View、freemarker View、pdf View等。