Spring MVC运行原理

Spring MVC运行原理

DispatcherServlet:前置控制器,配置在web.xml文件中的。拦截匹配的请求,Servlet拦截匹配规则要自己定义,把拦截下来的请求,依据相应的规则分发到目标Controller来处理,是配置spring MVC的第一步。

<!--配置监听器-->
    <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>
    <!--配置servlet-->
    <servlet>
        <servlet-name>mvc</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <!--配置spring配置文件信息-->
        <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>classpath:springmvc.xml</param-value>
        </init-param>
        <!--配置服务器启动即完成加载-->
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>mvc</servlet-name>
        <!--拦截除了jsp以外的所有请求-->
        <url-pattern>/</url-pattern>
    </servlet-mapping>

Spring MVC运行原理图:
在这里插入图片描述
SpringMVC运行流程:

  • 用户发送请求到前端控制器DispatcherServlet,前端控制器调用HandlerMapping处理器映射器,处理器映射器通过xml配置文件或者注解进行查找需要的url判断是否存在并返回给DispatcherServlet。
  • DispatcherServlet调用HandlerAdapter处理器适配器,经过适配器调用具体的Controller处理对应的业务逻辑,执行返回一个ModelAndView,HandlerAdapter将Controller执行的结果ModelAndView返回给DispatcherServlet。
  • DispatcherServlet将ModelAndView传给视图解析器ViewResolver,解析后返回具体的View,DispatcherServlet根据View进行渲染视图将模型数据填充到视图中,响应给浏览器。

SpringMVC核心组件(四大组件):

  • DispatcherServlet:Servlet分发器,接收请求响应结果,整个SpringMVC的入口,整个流程控制的中心,控制其他组件执行,减少组件之间的耦合性。
  • HandlerMapping:寻找URL所请求的HandlerMethod,找@RequestMapping()。能够完成客户请求到Controller映射。
  • HandlerAdapter:实际调用HandlerMethod的组件。
  • ViewResolver:视图解析器,把逻辑视图转换为需要调用的物理视图。

SpringMVC 运行原理时序图:
Spring MVC运行原理时序图

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值