//不是根据源码来理解的,所以细节有省略..

首先从在浏览器输入URl的那一刻开始

例如输入

localhost:8080/MyProject/listCategory

初始化:

此时tomcat已经启动,于是tomcat将请求交给相应的Servlet去执行

这里可以看到web.xml,里面有一个不是很熟悉的Servlet的名称:DispatcherServlet,可以看到他是在SpringMVC包下面的.

Dispatcher顾名思义是分发的意思,所以,他是负责协调和组织不同组件完成请求处理并返回响应工作的"老大"

在tomcat启动的同时,它会加载web.xml文件里面的相关配置,包括DispatcherServlet,与此同时SpringMVC的IOC容器也初始化完成

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xmlns="http://java.sun.com/xml/ns/javaee"
         xmlns:web="http://java.sun.com/xml/ns/javaee"
         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5">

  <!--Spring配置-->
  <context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>classpath:applicationContext.xml</param-value>
  </context-param>
  <listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
  </listener>


  <!--SpringMVC设置-->
  <servlet>
    <servlet-name>Dispatcher</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <init-param>
      <param-name>contextConfigLocation</param-name>
      <param-value>classpath:springMVC.xml</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
  </servlet>
  <servlet-mapping>
    <servlet-name>Dispatcher</servlet-name>
    <url-pattern>/</url-pattern>
  </servlet-mapping>

</web-app>
View Code

相关文章:

  • 2021-08-21
  • 2022-12-23
  • 2021-10-06
  • 2021-08-25
  • 2022-12-23
  • 2021-05-16
  • 2021-08-28
  • 2022-02-03
猜你喜欢
  • 2021-04-16
  • 2022-12-23
  • 2021-10-15
  • 2021-11-28
  • 2021-12-03
  • 2021-05-28
相关资源
相似解决方案