springMVC工作原理

配置

  1. web.xml

和普通servlet一样配置。

    
    <servlet>
        <servlet-name>springservlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServletservlet-class>
        <init-param>
            <param-name>contextConfigLocationparam-name>
            <param-value>classpath:*applicationContext.xmlparam-value>
        init-param>
        <load-on-startup>1load-on-startup>
    servlet>
    <servlet-mapping>
        <servlet-name>springservlet-name>
        
        <url-pattern>/*url-pattern>
    servlet-mapping>

组件

  • 调度器 DispatcherSevlet (核心组件,这个servlet的doDispatch方法是核心流程)
  • 处理器映射 RequestMappingHandlerMapping
  • 处理器适配器 HttpRequestHandlerAdapter
  • 处理器 Handler
  • 拦截器 HandlerInterceptor
  • 异常处理器 HandlerExceptionReslover
  • 视图解析器 HandlerReslover
  • 视图 View

执行流程

springMVC工作原理_第1张图片

  1. dispatcherservlet接收到http请求
  2. 通过HandlerMapping查询到Handler和Interceptor,返回执行链
  3. 匹配合适的适配器,适配器调用处理程序
    1. 首先执行过滤器前置方法
    2. 执行处理程序 即控制器
    3. 最后执行过滤器后置方法
  4. 处理返回结果
    1. 如果有异常,调用异常处理器处理异常,返回modelandview
    2. 渲染
      1. viewRselover匹配到对应视图
      2. model里面的值解析到request中
      3. 把请求和view交给具体的视图技术渲染,比如jsp、html等

你可能感兴趣的:(spring)