springmvc的Servlet拦截方式

本文介绍了SpringMVC中不同的URL拦截配置方式及其对静态资源处理的影响。包括使用固定后缀拦截、全路径拦截以及如何避免对静态资源的不当拦截。

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

1、拦截固定后缀的url、比如设置为*.do 、*.action, 例如:/user/add.action 此方法最简单,不会导致静态资源(jpg,js,css)被拦截。

2、拦截所有,设置为/,例如:/user/add  /user/add.action  

此方法可以实现REST风格的url,很多互联网类型的应用使用这种方式。

但是此方法会导致静态文件(jpg,js,css)被拦截后不能正常显示。需要特殊处理。

对静态资源访问的映射  例如:  <mvc:resources location="/resource/" mapping="/resource/**" />

不配置对静态资源的处理,做如下的配置来解决静态资源的问题:

    <servlet-mapping>
        <servlet-name>default</servlet-name>
        <url-pattern>/static/*</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
        <servlet-name>default</servlet-name>
        <url-pattern>*.js</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
        <servlet-name>default</servlet-name>
        <url-pattern>*.css</url-pattern>
    </servlet-mapping>
如果可能,springmvc最好不要拦截静态资源,最好让tomcat容器自己处理。

3、拦截所有,设置为/*,<url-pattern>/*</url-pattern> 如果这样设置是有问题的,因为请求到Action,当action转到jsp时再次被拦截,提示不能根据jsp路径mapping成功。 

其实也可以使用 <url-pattern> /app/* </url-pattern>  的配置。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值