好学IT学院:IT信息技术分享交流平台
标签:J2EE  来源:blog.csdn.net  作者:CSDN博客  发布时间:2009-08-25  ★★★加入收藏〗〖手机版
摘要:DispatcherServlet是spring的web框架(以下简称SpringWeb)中的核心servlet.…

DispatcherServlet是spring的web框架(以下简称SpringWeb)中的核心servlet.

"Spring的web框架——象其它web框架一样——是一个请求驱动的web框架,其设计围绕一个能将请求分发到控制器的servlet,它也提供其它功能帮助web应用开发。"----《Spring Framework 开发参考手册(中文版)》而在SpringWeb框架中这个servlet就是org.springframework.web.servlet.DispatcherServlet。这个Servlet的继承关系如下图所示:

SpringWeb首先将传统的HttpServlet抽象类包装成了Bean;FrameworkServlet抽象出了web框架中的servlets的一些基本行为,比如对application context的访问;DispatcherServlet的主要工作就是将一个request分发到一个合适的处理器上,并将处理返回的ModelAndView绘制出来返回给客户端。

DispatcherServlet作为一个Servlet那他一定有两个主要的方法:init()和doService()。

一 init()初始化。

DispatcherServlet继承体系中init()方法的实现位于HttpServletBean中,HttpServletBean首先调用initBeanWrapper(),初始化BeanWrapper,然后调用抽象方法initServletBean(),这个方法的实现位于他的子类FrameworkServlet中;FramewordServlet中的initServletBean()方法将调用initWebApplicationContext(),初始化WebApplicationContext,然后同样调用他的抽象方法initFrameworkServlet(),而这个抽象方法的实现位于最终的DispatcherServlet中;DispatcherServlet中的initFrameworkServet()将依次初始化Multipar(用作文件上传)解析器、本地化信息解析器、主题解析器处理器映射等等内容。所以DispatcherServlet的初始化顺序为

init();
initBeanWrapper();

initServletBean
initWebApplicationContext()

initFramework();
initMultipartResolver();
initLocaleResolver();
initThemeResolver();
initHandlerMappings();
initHandlerAdapters();
initHandlerExceptionResolvers();
initViewResolvers();

J2EE基本架构:概述
  电子商务和信息技术的快速发展及对它的需求给应用程序开发人员带来了新的压力。必须以比以前更少的金钱、更少的资源来更快地设计、建立和生…
  • 好学考试H5触屏版开放内测
  • 好学触屏公众号虎力全开、杨帆起航!