转:spring mvc拦截路径配置
发表于:2017-07-07 08:08:14 分类:开发杂记 阅读:479次
原文:http://m.blog.csdn.net/zjdwhd/article/details/51384204
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> 的配置。
关键词:servlet,mapping