SpringMVC拦截器配置中/和/*的区别

上周在试搭maven+SpringMVC+Mybatis,浏览器访问所有请求,页面均显示有误,错误示范(最简单的Hello world,显示竟然是下面这样)


我感觉莫名其妙,上网查了许久,原因未知,尝试着找到解决方法:在配置web.xml中SpringMVC拦截器时url-pattern后面配/不能是/*

<span style="white-space:pre">	</span><servlet-mapping>
		<servlet-name>dispatcher</servlet-name>
		<!-- 拦截所有/ 的请求,交给DispatcherServlet处理,性能最好 -->
		<url-pattern>/*</url-pattern>
	</servlet-mapping>

关于/和/*的区别,网友给出的解释如下:

此处需要特别强调的是 <url-pattern>/</url-pattern>使用的是/,而不是/*,如果使用/*,那么请求时可以通过DispatcherServlet转发到相应的Action或者Controller中的,但是返回的内容,如返回的jsp还会再次被拦截,这样导致404错误,即访问不到jsp。所以如果以后发现总是有404错误的时候,别忘了check一下 <url-pattern>/</url-pattern>的配置是否是/*.

可是我也没有报404啊,只不过页面显示异常;无奈,待研究......

贴上相关文档:SpringMVC中拦截/和拦截/*的区别 - 不能访问到返回的JSP

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值