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绘制出来返回给客户端。
DispatchServlet层级关系:
dispatcherservlet主要的方法:init(),doService(),doDispatch()
一 init()初始化。dispatcherservlet继承体系中init()方法的实现位于httpServletBean 中,httpServletBean首先调用initbeanwrapper(),初始化beanwrapper,然后调用抽象方法 initservletbean(),这个方法的实现位于他的子类frameworkservlet中;framewordservlet中的 initservletbean()方法将调用initwebapplicationcontext(),初始化 webapplicationcontext,然后同样调用他的抽象方法initframeworkservlet(),而这个抽象方法的实现位于最终的 dispatcherservlet中;dispatcherservlet中的initframeworkservet()将依次初始化 multipar(用作文件上传)解析器、本地化信息解析器、主题解析器处理器映射等等内容。所以dispatcherservlet的初始化顺序为 init();initbeanwrapper();
initservletbeaninitwebapplicationcontext()
initframework();initmultipartresolver();initlocaleresolver();initthemeresolver();inithandlermappings();inithandleradapters();inithandlerexceptionresolvers();initviewresolvers();
二 doService()处理请求,主要用来中转请求给doDispatch()处理
三 doDispatch()处理请求,请求前后环绕拦截,异常转发等
- 大小: 11.5 KB
分享到:
相关推荐
Spring MVC的...总的来说,DispatcherServlet是Spring MVC的中枢,它协调各个组件共同工作,从接收请求到返回响应,确保了Web应用的正常运行。理解其内部机制有助于我们更好地设计和优化Spring MVC应用。
通过以上步骤,我们可以利用Spring MVC、MyBatis和DWR构建出一个高效的Web应用,DispatchServlet负责请求的调度,MyBatis处理数据访问,而DWR则提供了前后端的实时通信,实现了省市级联的交互效果。这样的组合既保证...
为了验证上述流程,可以创建一个简单的 Spring MVC 示例,包括定义 Controller、配置 DispatchServlet、创建 spring-mvc.xml 配置文件,以及配置 HandlerMapping 和 ViewResolver。 例如,配置一个基于 ...
在Spring MVC框架中,DispatchServlet扮演着至关重要的角色。它是一个前端控制器,负责接收HTTP请求并分发到相应的处理器。在web.xml配置文件中,DispatchServlet通常被映射为"/",这意味着任何到达应用程序的URL...
系统运用JSP+Spring+SpringMVC+Mybatis技术的整合进行系统的开发,采用Spring MVC基于方法设计的分层体系框架,让所有的业务逻辑都由Spring容器来管理,配置文件里的DispatchServlet提供了Spring MVC的集中访问点,...
代理模式用于实现Spring AOP,工厂模式体现在BeanFactory的实例创建中,适配器模式在Spring MVC中用于支持多种视图解析器等。 通过以上内容的分析,可以看出Spring框架是一个设计精密、功能全面的Java应用基础架构...
mybatis实战教程mybatis in action之六与Spring MVC 的集成 mybatis实战教程mybatis in action之七实现mybatis分页源码下载 mybatis实战教程mybatis in action之八mybatis 动态sql语句 mybatis实战教程mybatis in ...
SpringMVC 框架提供了一个DispatchServlet作为前端控制器来分派请求,同时提供灵活的配置处理程序映射,视图解析,语言环境和主题解析,并支持文件上传。SpringMVC还包含多种视图技术,例如 JSP,Velocity,Tiles,...
DispatchServlet作为Spring MVC的集中访问点,承担着调度不同职责的任务,增强了系统的灵活性。 数据库设计方面,选择了MySql作为数据库服务器。MySql因其免费、小巧、易用的特点,成为中小型企业的首选。同时,...
这些框架各有特点,例如,Spring MVC以其强大的依赖注入(DI)和面向切面编程(AOP)能力而闻名,JSF则提供了一套组件模型,方便开发复杂的Web界面。 在深入学习这些框架时,理解HTTP和Servlet规范至关重要,因为...
`DispatchServlet`是Spring MVC框架的核心组件,负责接收HTTP请求并将它们分发到适当的控制器。 - **b. @RequestMapping注解既可以用在类上也可以用在方法上**:正确。`@RequestMapping`可以在类级别定义通用路径,...
`DispatchServlet`确实是Spring MVC框架的核心入口点。所有的HTTP请求都会先经过`DispatchServlet`,然后由它来分发到具体的控制器(Controller)上。 - (b) 正确。`@RequestMapping`注解确实可以用在类级别定义...
Spring 框架提供了我们日常开发中需要的web应用的MVC模块。因此可以说是spirngMVC是spirng的后来产品。SpringMVC所有的设计都是基于一个servlet,其类名为DispatcherServlet。所有的请求都将被它拦截,并且在初始化...
- **核心入口**:Spring MVC 的核心入口是 `DispatchServlet`,它是整个 Web 应用程序的前端控制器,负责接收客户端请求并将其分发到合适的处理器进行处理。 - **`@RequestMapping` 注解**:此注解可以放在类级别...
控制器是一个普通的 Java 类,通过 @Controller 注解标识,让 Spring 的依赖注入(IOC)容器管理。控制器类中的方法称为控制器方法,它们处理特定的请求。例如,可以使用 @RequestMapping 注解来指定哪个方法应处理...
2. Struts的Front Controller(通常是DispatchServlet)捕获请求并解析请求参数。 3. 根据`struts-config.xml`中的配置,找到对应的Action实例,并调用其execute方法。 4. execute方法执行完成后,返回一个Action...