Spring 的Servlet拦截器匹配规则
2017-02-02 22:08
495 查看
其实Spring 的Servlet拦截器匹配规则(即 <url-pattern>...</url-pattern> )都可以自己定义,例:当映射为@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。
<servlet-mapping>
<servlet-name>Spring-Servlet</servlet-name>
<!--<url-pattern>*.do</url-pattern>-->
<url-pattern>/</url-pattern>
</servlet-mapping>
<!--
对静态资源文件的访问 不支持访问WEB-INF目录
-->
<mvc:default-servlet-handler />
<!-- Handles HTTP GET requests for /resources/** by efficiently serving
up static resources in the ${webappRoot}/resources/ directory -->
<!--静态资源-->
<!--
对静态资源文件的访问 支持访问WEB-INF目录
-->
<mvc:resources
mapping="/css/**"
location="/css/"
/>
<mvc:resources
mapping="/js/**"
location="/js/"
/>
<mvc:resources
mapping="/images/**"
location="/images/"
/>
1、拦截*.do、*.htm, 例如:/user/add.do
这是最传统的方式,最简单也最实用。不会导致静态文件(jpg,js,css)被拦截。
2、拦截/,例如:/user/add
可以实现现在很流行的REST风格。很多互联网类型的应用很喜欢这种风格的URL。
弊端:会导致静态文件(jpg,js,css)被拦截后不能正常显示。想实现REST风格,事情就是麻烦一些。后面有解决办法还算简单。
3、拦截/*,这是一个错误的方式,请求可以走到Action中,但转到jsp时再次被拦截,不能访问到jsp。
<servlet-mapping>
<servlet-name>Spring-Servlet</servlet-name>
<!--<url-pattern>*.do</url-pattern>-->
<url-pattern>/</url-pattern>
</servlet-mapping>
<!--
对静态资源文件的访问 不支持访问WEB-INF目录
-->
<mvc:default-servlet-handler />
<!-- Handles HTTP GET requests for /resources/** by efficiently serving
up static resources in the ${webappRoot}/resources/ directory -->
<!--静态资源-->
<!--
对静态资源文件的访问 支持访问WEB-INF目录
-->
<mvc:resources
mapping="/css/**"
location="/css/"
/>
<mvc:resources
mapping="/js/**"
location="/js/"
/>
<mvc:resources
mapping="/images/**"
location="/images/"
/>
相关文章推荐
- Servlet映射规则和Servlet的映射URL冲突时匹配原则
- Web.xml中设置Servlet和Filter时的url-pattern匹配规则
- 在JaveWeb项目中配置Spring 匿名访问时,匹配规则的变相实现/*
- servlet的url-pattern匹配规则
- Web.xml中设置Servlet和Filter时的url-pattern匹配规则
- Spring MVCServlet拦截匹配规则可以自已定义,Servlet拦截哪种URL合适?
- spring boot 配置自己的 path 匹配规则
- servlet映射规则与URL匹配顺序
- Servlet 过滤器(filter)和Spring 拦截器(Interceptor)区别
- servlet的匹配规则,兼谈/与/*
- Spring3 url匹配规则
- servlet拦截匹配规则
- Servlet的url-pattern匹配规则
- Spring 匹配注入规则
- servlet的url-pattern匹配规则详细描述
- web.xml之url-pattern定义规则及匹配过程——译自《Servlet Specification Version 2.4》
- Servlet的url-pattern匹配规则
- Servlet的匹配规则和顺序
- 75. Spring Boot 定制URL匹配规则【从零开始学Spring Boot】
- servlet的url-pattern匹配规则