SpringMVC原理及核心组件

一、SpringMVC原理及核心组件

1、 Spring MVC的工作原理

Spring MVC 是一个对javaWeb中Servlet 简化和封装,

1.首先SpringMVC 配置DispatcherServlet 来接受所有的请求,我们通过DispatcherServlet 响应的所有数据,DispatcherServlet 是HttpServlet的子类,他的所有方法(Get,Post...)最终都会执行doDispatch方法

java 复制代码
protected void doDispatch(HttpServletRequest request, HttpServletResponse response)  {}

2.根据用户的输入url通过SpringMVC handlerMapping组件 找到对应的 HandlerExecutionChain 执行链

java 复制代码
mappedHandler = this.getHandler(processedRequest);

3.找到handler 适配的HandlerAdapter

复制代码
HandlerAdapter ha = this.getHandlerAdapter(mappedHandler.getHandler());

4.执行所有注册拦截器的preHandler方法

java 复制代码
if (!mappedHandler.applyPreHandle(processedRequest, response)) {
    return;
}
  1. 通过HandlerAdapter 的适配方法来调用handler,返回ModelAndView
java 复制代码
mv = ha.handle(processedRequest, response, mappedHandler.getHandler());

6.倒序执行所有注册拦截器的postHandler方法

复制代码
mappedHandler.applyPostHandle(processedRequest, response, mv);

7.请求视图解析和视图渲染,如果是jsp就返回jsp页面,如果是 被@ResponseBody就返回JSON数据

java 复制代码
this.processDispatchResult(processedRequest, response, mappedHandler, mv, (Exception)dispatchException);

2.Spring MVC的主要组件?

  • 前端控制器(DispatcherServlet):接收用户请求,给用户返回结果。
  • 处理器映射器(HandlerMapping):根据请求的url路径,通过注解或者xml配置,寻找匹配的Handler。
  • 处理器适配器(HandlerAdapter):Handler 的适配器,调用 handler 的方法处理请求。
  • 处理器(Handler):执行相关的请求处理逻辑,并返回相应的数据和视图信息,将其封装到ModelAndView对象中。
  • 视图解析器(ViewResolver):将逻辑视图名解析成真正的视图View。
  • 视图(View):接口类,实现类可支持不同的View类型(JSP、FreeMarker、Excel等)。
相关推荐
掘金-我是哪吒22 分钟前
分布式微服务系统架构第156集:JavaPlus技术文档平台日更-Java线程池使用指南
java·分布式·微服务·云原生·架构
亲爱的非洲野猪1 小时前
Kafka消息积压的多维度解决方案:超越简单扩容的完整策略
java·分布式·中间件·kafka
wfsm1 小时前
spring事件使用
java·后端·spring
微风粼粼1 小时前
程序员在线接单
java·jvm·后端·python·eclipse·tomcat·dubbo
缘来是庄1 小时前
设计模式之中介者模式
java·设计模式·中介者模式
rebel2 小时前
若依框架整合 CXF 实现 WebService 改造流程(后端)
java·后端
代码的余温3 小时前
5种高效解决Maven依赖冲突的方法
java·maven
慕y2743 小时前
Java学习第十六部分——JUnit框架
java·开发语言·学习
paishishaba3 小时前
Maven
java·maven
张人玉4 小时前
C# 常量与变量
java·算法·c#