到底是"/"还是"/*"

直接引入场景

一直配置springMVC的时候,都是直接copy过来用,如下

 1     <!-- springmvc 入口,就是一个servlet -->
 2     <servlet>
 3         <servlet-name>spring_dispatch</servlet-name>
 4         <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
 5         <init-param>
 6             <param-name>contextConfigLocation</param-name>
 7             <param-value>classpath:springconfig/spring-servlet.xml</param-value>
 8         </init-param>
 9     </servlet>
10 
11     <servlet-mapping>
12         <servlet-name>spring_dispatch</servlet-name>
13         <!-- 这里 url 用/   别用/*  否则jsp 页面不能访问 -->
14         <url-pattern>/</url-pattern>
15     </servlet-mapping>

但是在某一次 修改的时候,看到了这里就将

映射规则进行了修改

<url-pattern>/*</url-pattern>

然后就莫名的发现之前可以跑出来的jsp文件统统都是404  debug 了一下,全部都走映射了

就感觉很纳闷,一位之前就没这个概念

今天在这里记录下

/ 和 /*

我个人认为,这个映射跟 servlet 有关系,和springMVC没有关系,因此我们需要去了解servlet的映射关系

但是又考虑了一下jsp 和servlet 的关系,我感觉我有点思路了

jsp 也是 servlet 

如果url pattern /* 就是映射所有请求都到这个servlet中

但是/就有选择权了,如果是jsp的话,就不映射,因为jsp自己回去映射自己的!!!

/*       是路径匹配  

/        完全匹配

针对SpringMVC做一个总结,/ 不会映射jsp         /*映射所有请求           *.do    只映射 .do的请求

 

原文地址:https://www.cnblogs.com/obesityspace/p/7077660.html