深入理解SpringMVC中央调度器DispatcherServlet

springMVC是spring的一个模块,专门做web的。

SpringMVC请求处理过程:

请求发送,根据url-pattern,转发发送给中央调度器DispatcherServlet,中央调度器分配请求到自定义的Controller对象上,进行处理。

核心的就是中央调度器,所以我们在web.xml文件中要初始化配置中央调度器,中央调度器创建的同时,他会同时创建IOC springMVC IOC容器,用于管理对象的。 springmvc存放controller对象 view视图对象

深入理解SpringMVC中央调度器DispatcherServlet_第1张图片

如下是详情图:

HandlerMapping处理映射,作用是根据请求的url与controller里面的方法的@RequestMapping("/url") 的url比较 找到相应的Handler(方法)。

深入理解SpringMVC中央调度器DispatcherServlet_第2张图片

再详细版:

深入理解SpringMVC中央调度器DispatcherServlet_第3张图片

SrpingMVC容器和spring IOC容器关系

springmvc ioc容器是spring ioc容器的子容器。 SpringMVC的IOC容器中的bean可以来引用 Spring IOC 容器中的 bean. 返回来呢 ? 反之则不行. Spring IOC 容器中的 bean 却不能来引用 SpringMVC IOC 容器中的 bean!多个 Spring IOC 容器之间可以设置为父子关系,以实现良好的解耦。

关系图:

深入理解SpringMVC中央调度器DispatcherServlet_第4张图片

基于maven创建的一个springmvc工程。

1.创建maven项目中使用到了自动创建骨架

选择webapp,这样就会自动生成springmvc项目的一些基本文件。

深入理解SpringMVC中央调度器DispatcherServlet_第5张图片

2.配置java 文件 和资源文件

深入理解SpringMVC中央调度器DispatcherServlet_第6张图片

3.添加jar包**

springmvc项目需要两个依赖 一个是spring-webmvc 封装了基本的sping里面的web部分模块 有sping-context ,spring-aop等


      org.springframework
      spring-webmvc
      5.2.5.RELEASE
    
    
      javax.servlet
      javax.servlet-api
      3.1.0
    

4.springMVC项目web.xml初始化配置中央调度器以及自定义springmvc.xml文件

在tomcat启动的时候,一般会加载web.xml里面配置, 因为DispatcherServelt是调度器,负责调度用户的请求到相应的servlet处理,DispatcherServlet创建的时候,同时也会创建springmvc容器,那么tomcat启动之后,其他ervlet就可以使用了。

web.xml:

  • 中央调度器dipathcerServlet配置创建 同时创建spingmvc配置
  • spring监听器配置
  • 字符集过滤器配置




  springDispatcherServlet
  org.springframework.web.servlet.DispatcherServlet
  
    
    contextConfigLocation
    classpath:springmvc.xml
  
  1

  
    
    springDispatcherServlet
    /
  
  
  
    contextConfigLocation
    classpath:spring.xml
  
  
  
    org.springframework.web.context.ContextLoaderListener
  
  
  
  
    encoding
    org.springframework.web.filter.CharacterEncodingFilter
    
      encoding
      utf-8
    
    
      forceRequestEncoding
      true
    
    
      forceResponseEncoding
      true
    
  
  
    encoding
    /*
  

springmvc.xml:



    
    
    
    
    
    
          

        
    


    

到此这篇关于SpringMVC核心之中央调度器DispatcherServlet的文章就介绍到这了,更多相关SpringMVC中央调度器DispatcherServlet内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

你可能感兴趣的:(深入理解SpringMVC中央调度器DispatcherServlet)