SpringMVC中拦截/和拦截/*的区别

本文详细介绍了SpringMVC中配置拦截器时,使用/和/*的区别,以及这两种配置可能导致的404错误。文章指出,/*配置会导致静态资源如jpg, js, css无法正常访问。为了实现REST风格并解决静态资源问题,文中提出了三种解决方案:1) 使用默认Servlet处理静态文件;2) 利用Spring 3.0.4后的mvc:resources特性;3) 配置DefaultServletHttpRequestHandler。文章还讨论了多个HandlerMapping的执行顺序及其对性能的影响,并建议使用带后缀的URL避免这些问题。" 101856859,1415734,非阻塞并发:STM(Software Transaction Memory)解析,"['多线程并发', 'STM', '软件事务内存', '并发控制', '非阻塞']
摘要由CSDN通过智能技术生成

一、我们都知道在基于Spring的Application中,需要在web.xml中增加下面类似的配置信息:

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


二、其实Spring 的Servlet拦截器匹配规则(即 ... )都可以自己定义,例:当映射为@RequestMapping("/user/add")时

1、拦截*.do、*.htm, 例如:/user/add.do

这是最传统的方式,最简单也最实用。不会导致静态文件(jpg,js,css)被拦截。

2、拦截/,例如:/user/add<

  • 1
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

东天里的冬天

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值