剖析springmvc之HelloWorld

上篇文章我们搭建了springmvc,也成功运行。这篇文章,我们来分析下原理。

通过在 web.xml 配置DispatcherServlet前端控制器, web 容器 启动时加载, 并且进行初始化。来看下DispatcherServlet的类结构。



因为DispatcherServlet最终继承了HttpServlet,所以在web容器启动的时候会调用init()方法。


其中 initServletBean()HttpServletBean提供给子类扩展的FrameworkServlet继承了HttpServletBean实现了initServletBean()这个方法,web上下文进行初始化并且提供了onRefresh(wac)方法给子类实现。





initWebApplicationContext()方法调用了onRefresh(wac)方法,DispatcherServlet继承了FrameworkServlet实现了onRefresh()这个方法。来看下org.springframework.web.servlet.DispatcherServlet类的实现方法:


从如上代码可以看出,DispatcherServlet启动时会进行我们需要的Web层Bean的配置,如HandlerMapping、HandlerAdapter等,而且如果我们没有配置,还会给我们提供默认的配置。


从如上代码我们可以看出,整个DispatcherServlet初始化的过程主要做了如下两件事情:
1、初始化Spring Web MVC使用的Web上下文,并且可能指定父容器为(ContextLoaderListener加载了根上下文);
2、初始化DispatcherServlet使用的策略,如HandlerMapping、HandlerAdapter等。

版权声明:本文为博主原创文章,未经博主允许不得转载。

转载于:https://my.oschina.net/u/1246822/blog/527714

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值