SpringMVC如何在web.xml中配置DispatcherServlet
配置WEB-INF/web.xml ===> 配置 前端控制器 / 中央控制器 / 分发控制器,用户所有的请求都会经过它的处理
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
version="4.0">
<!-- 配置 前端控制器 / 中央控制器 / 分发控制器
1. 用户的请求都会经过它的处理
-->
<servlet>
<servlet-name>springDispatcherServlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<!-- 配置属性 contextConfigLocation,指定 springDispatcherServlet 去操作的 Spring 配置文件 -->
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:applicationContext-mvc.xml</param-value>
</init-param>
<!--在 web 项目启动时,就自动地加载 DispatcherServlet -->
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>springDispatcherServlet</servlet-name>
<!-- 老师说明
1. 这里我们配置的 url-pattern 是 /,表示用户的请求都经过 springDispatcherServlet
2. 这样配置也支持 rest 风格的 url 请求
-->
<url-pattern>/</url-pattern>
</servlet-mapping>
</web-app>
关于SpringMVC 的DispatcherServlet 的配置文件, 如果不在web.xml 指定 applicationContext-mvc.xml
默认在 /WEB-INF/springDispatcherServlet-servlet.xml 找这个配置文件
原因所在:
每一个DispatcherServlet有自己的WebApplicationContext上下文对象,同时保存在ServletContext中和Request对象中。在DispatcherServlet的初始化过程中,框架会在web应用的 WEB-INF文件夹下寻找名为[servlet-name]-servlet.xml 的配置文件,生成文件中定义的bean