一文搞懂Spring MVC

一、Spring MVC核心原理和组成:

Spring MVC主要由DispatcherServlet、处理器映射、处理器(控制器)、视图解析器、视图组成。

在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 部分配置网址

二、各个接口的解释:

HandlerMapping接口 -- 处理请求的映射 HandlerMapping接口的实现类:SimpleUrlHandlerMapping通过配置文件,把一个URL映射到Controller, DefaultAnnotationHandlerMapping 通过注解,把一个URL映射到Controller类上

HandlerAdapter接口 -- 处理请求的映射 AnnotationMethodHandlerAdapter类,通过注解,把一个URL映射到Controller类的方法上

Controller接口 -- 控制器 由于我们使用了@Controller注解,添加了@Controller注解注解的类就可以担任控制器(Action)的职责,所以我们并没有用到这个接口。

HandlerInterceptor 接口--拦截器 ViewResolver接口的实现类:UrlBasedViewResolver类 通过配置文件,把一个视图名交给到一个View来处理InternalResourceViewResolver类,比上面的类,加入了JSTL的支持

在这里插入图片描述

三、配置文件的解释

http://elf8848.iteye.com/blog/875830

配置1

在这里插入图片描述 在这里插入图片描述

在这里插入图片描述

配置2

在这里插入图片描述

其它配置

四、注解的解释

在这里插入图片描述

五、web.xml文件加载过程

context-param>> listener >> fileter >> servlet(同类多个节点以出现顺序依次加载)

在这里插入图片描述

而spring mvc启动过程大致分为两个过程: ContextLoaderListener初始化,实例化IoC容器,并将此容器实例注册到ServletContext中。

DispatcherServlet初始化。

在这里插入图片描述 其中ContextLoaderListener监听器它实现了ServletContextListener这个接口,在web.xml配置这个监听器,启动容器时,就会默认执行它实现的方法。在ContextLoaderListener中关联了ContextLoader这个类,所以整个加载配置过程由ContextLoader来完成。 ContextLoaderListener在web.xml中的配置

在这里插入图片描述 ServletContextListener 接口有两个方法:contextInitialized,contextDestroyed。

六、DispatcherServlet

https://my.oschina.net/u/3080373/blog/1438733

七、spring mvc 框架各个层的关系

core,service,controller,model,support层的关系

在这里插入图片描述

部分图片来源于网络,如侵权,请联系站长删除!

  • 作者:seibert(联系作者)
  • 发表时间:2020-06
  • 版权声明:未经站长允许,不可转载
  • 公众号转载:请在文末添加作者公众号二维码
  • 评论