springmvc 不指定访问路径后缀都会匹配的

原创
2017/08/21 16:05
阅读数 2.6K

今天 玩 springMVC 发现一个特别有意思的 地方。 比如我这个项目, springMVC 匹配的路径 是 / 全路径,没有 和一般的项目一样,指定访问的 前后缀 比如:

<servlet>
		<servlet-name>springMVC</servlet-name>
		<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
		<init-param>
			<param-name>contextConfigLocation</param-name>
			<param-value>classpath*:config/main/spring-mvc.xml</param-value>
		</init-param>
		<load-on-startup>1</load-on-startup>
	</servlet>
	<servlet-mapping>
		<servlet-name>springMVC</servlet-name>
		<url-pattern>/</url-pattern>
	</servlet-mapping>

然后我再 访问的时候,,,
比如有一个 conller 方法: 匹配的路径是 :

 @RequestMapping({ "/index", "/" })

我以为 它会匹配 / 和 index . 可是如果我输入 /indexaaa 这样的 /index* 就会爆 404 错误。 如果 我 输入 /index.sss 这样的 /index.* 这样的 去访问 大部分是 匹配的还是 /index这个方法,可以匹配到的。 但是有一点,,, 如果是 /index.html 或者 /index.jsp 这样的就会 去访问 根目录下的 对应 index.jsp 或者 index.html 文件了,,,有就返回,没有就爆404 。。。 或者 /index/* 也匹配不到的 。 这个就是 springMVC 路径映射的 一个 特点吧,,, 难怪 一般项目 spring mvc 都指定了 /.html , /.do 这样的后缀,,, 刚开始 还以为的是为了 统一 管理后期好维护,,,估计 也是 因为 匹配的规则 的原因吧。

展开阅读全文
加载中

作者的其它热门文章

打赏
0
0 收藏
分享
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部