1、
DispatcherServlet在web.xml中的配置
<servlet>
<servlet-name>chapter2</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>chapter2</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
load-on-startup:表示启动容器时初始化该Servlet;
url-pattern:表示哪些请求交给Spring Web MVC处理, “/” 是用来定义默认servlet映射的。也可以如“*.html”表示拦截所有以html为扩展名的请求。
该DispatcherServlet默认使用WebApplicationContext作为上下文,Spring默认配置文件为“/WEB-INF/[servlet名字]-servlet.xml”。
DispatcherServlet也可以配置自己的初始化参数,覆盖默认配置:
参数描述
contextClass实现WebApplicationContext接口的类,当前的servlet用它来创建上下文。如果这个参数没有指定, 默认使用XmlWebApplicationContext。
contextConfigLocation传给上下文实例(由contextClass指定)的字符串,用来指定上下文的位置。这个字符串可以被分成多个字符串(使用逗号作为分隔符) 来支持多个上下文(在多上下文的情况下,如果同一个bean被定义两次,后面一个优先)。
namespace
WebApplicationContext命名空间。默认值是[server-name]-servlet。
因此我们可以通过添加初始化参数
<servlet>
<servlet-name>chapter2</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:spring-servlet-config.xml</param-value>
</init-param>
</servlet>
如果使用如上配置,Spring Web MVC框架将加载“classpath:spring-servlet-config.xml”来进行初始化上下文而不是“/WEB-INF/[servlet名字]-servlet.xml”。
2、
DispatcherServlet初始化顺序
在Web容器启动时将调用它的init方法,HttpServletBean继承HttpServlet,并且重写了HttpServlet的init方法,所以首先会加载HttpServletBean中的init方法。
HttpServletBean中的init方法的作用:
FrameworkServlet继承HttpServletBean.HttpServletBean中的init方法会调用initServletBean方法,FrameworkServlet重写了initServletBean方法
FrameworkServlet中initServletBean的作用:initServletBean方法会调用initWebApplicationContext方法,initWebApplicationContext中调用onRefresh方法,
DispatcherServlet重写了onRefresh方法,onRefresh方法调用DispatcherServlet中的initStrategies方法;
initWebApplicationContext方法作用:
onRefresh方法作用:
initStrategies方法作用:
- 大小: 6.6 KB
分享到:
相关推荐
综上所述,DispatcherServlet在Spring MVC中起着至关重要的作用,它是整个请求处理流程的入口点,负责调度和协调各个组件,使得整个框架能灵活且高效地处理HTTP请求。通过合理的配置,我们可以定制其行为以适应各种...
### Spring+SpringMVC+Mybatis SSM三大框架的运行流程、原理、核心技术详解 #### 一、Spring框架 **1. Spring的运行流程** - **第一步:加载配置文件** - 使用`ApplicationContext ac = new ...
SpringMVC DispatcherServlet 初始化过程详解 DispatcherServlet 是 SpringMVC 框架中的核心组件,对于 SpringMVC 的请求处理和响应起着至关重要的作用。DispatcherServlet 的初始化过程是 SpringMVC 实现原理的...
在Webwork的流程中,DispatcherServlet是接收HTTP请求的入口点,它会调用`service`方法来处理请求。这个方法会先对HttpServletRequest进行封装,如处理文件上传等特殊请求,然后调用`ServletDispatcher.service...
### Spring MVC 执行流程详解 #### 一、概述 Spring MVC 是 Spring 框架中的一个重要组成部分,主要用于构建基于 Web 的应用程序。它提供了一个清晰的架构来管理 Web 层的业务逻辑,使得开发者能够轻松地处理 ...
SpringMVC的执行流程及组件详解 SpringMVC是一个基于Java的Web应用程序框架,它提供了一种灵活的方式来构建Web应用程序。理解SpringMVC的执行流程及组件是开发高质量Web应用程序的关键。本文将对SpringMVC的执行...
在Servlet的整个生命周期内,init()方法只被调用一次。在响应客户请求阶段,Servlet容器将请求分发到不同的控制器去处理。最后,在终止阶段,Servlet容器将调用destroy()方法来销毁Servlet实例。 结构 ...
### SpringMVC的工作流程详解 #### 一、概述 SpringMVC是Spring框架的一个模块,主要用于简化Web应用程序的开发过程。它遵循Model-View-Controller(MVC)设计模式,帮助开发者更好地组织代码结构,提高代码的可...
### SpringMVC框架详解 #### 一、SpringMVC简介 SpringMVC是Spring框架中的一个模块,专门用于Web应用程序的开发。它继承了Spring框架的所有优点,如依赖注入(DI)、面向切面编程(AOP)等,并在此基础上提供了...
**JAVA MVC架构详解** 在软件开发领域,Java MVC(Model-View-Controller)架构是一种广泛应用于Web应用的设计模式。它将应用程序的业务逻辑、用户界面和数据管理分离开来,提高了代码的可维护性和可扩展性。以下是...
SSM框架,即Spring、SpringMVC和Mybatis,是Java Web开发中广泛采用的三大核心技术,它们分别负责不同层面的职责,共同构建...文档《SSM三大框架的运行流程原理核心技术详解.docx》将提供更详细的细节,建议仔细阅读。
找到对应的控制器后,`DispatcherServlet`会调用控制器中的方法来处理用户的请求。控制器可能会访问业务逻辑层或数据访问层获取数据。 #### 4. 模型数据填充 控制器在处理完业务逻辑后,会创建一个包含模型数据的`...
**Spring MVC DispatcherServlet详解** Spring MVC是Spring框架的一部分,它是一个用于构建Web应用程序的轻量级、模型-视图-控制器(MVC)框架。在本项目中,`Spring-MVC-DispatcherServlet-Example`是一个使用...
### Spring MVC核心组件之HandlerMapping详解 #### 一、引言 在Java Web开发领域,Spring MVC框架因其灵活且强大的特性而备受青睐。它提供了一种简洁的方式来构建可维护、可扩展的应用程序。Spring MVC的核心组件之...
《跟开涛学SpringMVC(3)DispatcherServlet详解》是一份深入讲解Spring MVC核心组件DispatcherServlet的教程,旨在帮助Java开发者提升在Web应用开发中的技能。这份资料共计16页,涵盖了Spring MVC框架中...
首先,在浏览器端发送请求到服务器端时,第一个步骤是检查当前的请求在DispatcherServlet中是否存在对应的映射。如果没有配置mvc:default-servlet-handler,系统将返回404页面,并在控制台输出no mapping found警告...
### Spring MVC 工作流程详解 #### 一、Spring MVC 概述 Spring MVC 是 Spring 框架的一部分,主要用于构建基于 Java 的 Web 应用程序。它是一种模型-视图-控制器(Model-View-Controller,MVC)设计模式的具体实现...
【SpringMVC 知识点详解】 SpringMVC 是 Spring 框架的一个核心模块,主要负责处理 Web 请求。作为一个基于 MVC(Model-View-Controller)设计模式的框架,SpringMVC 具备以下特点: 1. **组件化**:SpringMVC 的...