SpringMVC_DispatcherServlet初始化&&CommonsMultipartResolveran的id必须为multipartResolver的原因&&配置视图解析器可以不配置id

本文深入解析SpringMVC的DispatcherServlet初始化过程,从HttpServletBean的init()方法开始,探讨如何建立Servlet与Spring容器的关联,以及DispatcherServlet如何初始化文件上传解析器和视图解析器。了解到CommonsMultipartResolver的id必须为multipartResolver,同时解释了配置视图解析器时可以不指定id的原因。
摘要由CSDN通过智能技术生成

在这里插入图片描述

我们都知道DispatcherServlet是中央控制器,也叫前端控制器,在SpringMVC中,它是一个十分重要的核心分发器,那么我们来源码跟踪解析一下。

首先我们看看它的继承结构
在这里插入图片描述

看到了HttpServlet以及它的父类GenericServlet,我们知道我们可以自定义Servlet继承HttpServlet,关于这方面的知识,我其他博客有讲解,这里不再多说

 实例化->初始化->使用->销毁

 实例化:容器调用Servlet的构造器,创建一个Servlet对象;

 初始化:实例化之后,容器会立即调用对象的init方法;

 使用:调用servlet的service()方法处理客户端请求;

 销毁:调用servelet的destroy()方法销毁。

在这里插入图片描述

初始化
在这里插入图片描述

DispatcherServlet的初始化由HttpServletBean的init()方法开始。

HttpServletBean 中的init()
在这里插入图片描述在这里插入图片描述

我们来看看DispatcherServlet的父类FrameworkServlet,它是一个抽象类。
简明扼要,直接来看initServletBean
在这里插入图片描述
在initServletBean方法中对WebApplicationContext属性进行了初始化。
WebApplicationContext是Spring容器的上下文
WebApplicationContext接口继承了ApplicationContext接口
是BeanFactory接口的子接口。

initWebApplicationContext()

protected WebApplicationContext initWebApplicationContext() {

//获取根的上下文
		WebApplicationContext rootContext =
				WebApplicationContextUti
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

偷偷学习被我发现

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值