当发生异常时,如何防止Spring MVC中的浏览器缓存?

时间:2015-10-15 05:40:20

标签: spring-mvc cache-control

我想让浏览器缓存我的回复,但仅限于返回状态为200。

我知道如何在Spring MVC中启用缓存控制头。但是,当我的代码抛出由返回HTTP错误状态(例如404)的 Exceptionhandler 处理的异常时,响应头仍然具有缓存控件,这使得浏览器缓存响应。这不是理想的行为。当我的代码返回HTTP错误状态时,我希望浏览器缓存该响应。

我尝试编写自己的 HandlerInterceptor ,它在 postHandle afterCompletion 方法中设置缓存控制头。但是我发现这些方法不会被调用,或者在响应发送到浏览器后被调用。

我使用的是Spring 4.1.6。我的控制器是 RestController ,它返回 ResponseEntity 会返回一个视图,然后由 ViewResolver 处理。

0 个答案:

没有答案