springMvc前端框架

本文详细解析了Spring MVC中的路径拦截机制,重点对比了/与/*的区别及其对应用的影响,同时提供了如何正确配置以避免404错误的方法,并介绍了如何确保静态资源能够被正确放行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.拦截路径的时候  不能用 /*   否则会拦截jsp页面    / 其实就是放行jsp

此处需要特别强调的是 /使用的是/,而不是/*,如果使用/*,那么请求时可以通过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

可以实现现在很流行的REST风格。很多互联网类型的应用很喜欢这种风格的URL。

弊端:会导致静态文件(jpg,js,css)被拦截后不能正常显示。想实现REST风格,事情就是麻烦一些。后面有解决办法还算简单。

3、拦截/*,这是一个错误的方式,请求可以走到Action中,但转到jsp时再次被拦截,不能访问到jsp。


2.静态资源的除了jsp以外是会拦截的。在“/”中 需要放行静态资源

<mvc:resources mapping="/js/**" location="/js/" />
    <mvc:resources mapping="/css/**" location="/css/" />

    <mvc:resources mapping="/images/**" location="/images/" /> 

<!-- 放行静态资源 -->

<mvc:default-servlet-handler/>





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值