spring servlet的拦截配置

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

此方法可以实现REST风格的url,很多互联网类型的应用使用这种方式(rest不用写.action 的url只要写名词加上post或者get就可以实现这个功能)。

但是此方法会导致静态文件(jpg,js,css)被拦截后不能正常显示。需要特殊处理。
在springmvc配置文件中配置如下内容就可以实现了
对静态资源访问的映射 例如: <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成功。

猜你喜欢

转载自blog.csdn.net/peanutwzk/article/details/80973065