剖析springmvc之HelloWorld
2015-11-08 00:00
471 查看
上篇文章我们搭建了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等。
版权声明:本文为博主原创文章,未经博主允许不得转载。
通过在 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等。
版权声明:本文为博主原创文章,未经博主允许不得转载。
相关文章推荐
- Java简单实现SpringMVC+MyBatis分页插件
- SpringMVC文件上传 多文件上传实例
- spring mvc4的日期/数字格式化、枚举转换示例
- 解决springmvc+mybatis+mysql中文乱码问题
- SpringMVC入门小程序 -- Myeclipse 9.1下
- SpringMVC+Spring3+Hibernate4
- SpringMVC+MyBatis项目总结(一)
- SpringMVC+MyBatis项目总结(三)
- SpringMVC+MyBatis项目总结(四)
- springMVC+spring+Mybatis
- SpringMVC+mybatis+Spring框架整合+简单实现的demo
- Springmvc与jasperreport结合生成报表的一种方法 4000
- 蓝缘系统第三版本即将开源;基于springMVC+Apache shiro 1.2.3+Mybai
- SpringMVC 集成 JFinal Dao
- MVC三层架构在各框架中的特征
- springMVC注解之入门
- springMVC参数传递(一)
- springMVC参数传递(二)
- springMVC参数传递(三)
- springMVC,spring和Hibernate整合