其实Spring 的Servlet拦截器匹配规则(即 <url-pattern>...</url-pattern> )都可以自己定义,例:当映射为@RequestMapping("/user/add")时
-
拦截*.do、.htm*, 例如:/user/add.do
这是最传统的方式,最简单也最实用。不会导致静态文件(jpg,js,css)被拦截。 -
拦截 /,例如:/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 />
<!--处理HTTP请求/资源/ *有效地服务 在$ { webapproot } /资源/目录静态资源
-->
<!--静态资源-->
<!-- 对静态资源文件的访问 支持访问WEB-INF目录 -->
<mvc:resources mapping="/css/**" location="/css/" />
<mvc:resources mapping="/js/**" location="/js/" />
<mvc:resources mapping="/images/**" location="/images/" />
网友评论