- 核心组件
1、 DispatcherServlet:前端控制器器,负责调度其他组件的执行,可降低不同组件之间的耦合性,是Spring MVC 的核心模块。
2、 Handler:处理器,完成具体的业务逻辑。
3、 HandlerMapping: DispatcherServlet 是通过 HandlerMapping 将请求映射到不同的 Handler。
4、 HandlerInterceptor:处理器拦截器,是一个接口,如果需要完成一些拦截处理,可以实现该接口。
5、 HandlerExecutionChain:处理器执行链,包括两部分内容, Handler 和 HandlerInterceptor。
6、 HandlerAdapter:处理器适配器,它可以完成执行业务逻辑之前的一些预处理,数据类型转换、封装等, DispatcherServlet 通过 HandlerAdapter 调用不同的 Handler。
7、 ModelAndView:装载了模型数据和视图信息,作为 Hanlder 的处理结果,返回给DispatcherServlet。
8、 ViewResolver:视图解析器器, DispatcherServlet 通过它将逻辑视图转换成物理视图,最终将渲染结果响应给客户端。
- 工作流程
1、客户端请求被 DispatcherServlet 接收。
2、根据 HandlerMapping 映射到 Handler。
3、创建 Handler 和 HandlerInterceptor。
4、 Handler 和 HandlerInterceptor 以 HandlerExecutionChain 的形式一并返回给DispatcherServlet。
5、 DispatcherServlet 通过 HandlerAdapter 调⽤用 Handler 的方法完成业务逻辑处理理。
6、返回一个 ModelAndView 对象给 DispatcherServlet。
7、 DispatcherServlet 将获取的 ModelAndView 对象传给 ViewResolver ,将逻辑视图解析为物理视图View。
8、 ViewResolver 返回一个 View 给 DispatcherServlet。
9、 DispatcherServlet 根据 View 进⾏行行视图渲染(将模型数据填充到视图中)。
10、 DispatcherServlet 将渲染后的视图响应给客户端。
流程图
- 如何使用
1、使用IDEA新建项目
2、添加maven依赖
3、收到创建resources文件夹
4、在resources文件夹下,手动创建springmvc.xml文件
5、新建controller,编写HelloHandler
6、新建jsp页面
7、启动项目,访问http://localhost:8080/index
来源:https://www.cnblogs.com/zuichao123/p/12508438.html