springMVC-web.xml
/
开头和以/*
结尾的是用来做路径映射的。*.
开头的是用来做扩展映射的。/
是用来定义default servlet映射的,这相当于定义了一个传统的servlet/aa/bb/cc.action
所以,为什么定义/*.action
这样一个看起来很正常的匹配会错?因为这个匹配即属于路径映射,也属于扩展映射,导致容器无法判断。/
这个斜杠,表示拦截所有的url,如/test
,/test.html
/*
这个模式包含/,可以多拦截以*.jsp
结尾的url*.xxx
这个拦截固定结尾的url,常见的如*.do
,*.json
等等<!-- 配置spring容器,使项目启动加载spring的配置文件 -->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:applicationContext.xml</param-value>
</context-param>
<!-- 配置servlet -->
<servlet>
<servlet-name>springDispatcherServlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:applicationContext.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<!-- 监听context -->
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<!-- 防止注入bean导致内存溢出 -->
<listener>
<listener-class>org.springframework.web.util.IntrospectorCleanupListener</listener-class>
</listener>