cómo establecer el encabezado sin caché en spring mvc 3 mediante anotación

cómo establecer el encabezado sin caché en spring mvc 3 mediante anotación? no es

response.setHeader("Pragma","No-cache"); response.setHeader("Cache-Control","no-cache"); response.setDateHeader("Expires", 0); 

No hay tal opción. Puedes usar un interceptor:

          

(tomado de aquí )

Por un lado, es lógico no tener dicha anotación. Las anotaciones sobre los métodos spring-mvc son principalmente para permitir que el contenedor decida qué método invocar (limitándolo por un encabezado de solicitud, url de solicitud o método). Controlar la respuesta no entra en esta categoría.

Por otro lado, sí, será útil tenerlos, porque cuando los controladores se prueban en unidades, no es relevante probar material del encabezado http (¿o no?). Y están @ResponseBody y @ResponseStatus , que sí especifican algunas propiedades de respuesta.

Para anular la configuración de ciertas asignaciones de controladores, use el objeto de propiedades cacheMappings en WebContentInterceptor

        0   

Sé que esto es viejo, pero esto podría ser útil para algunos.

Si desea agregar mucha más lógica a la caché y cuando no lo tiene, también puede escribir un interceptor personalizado.

Por ejemplo, si desea inhabilitar el almacenamiento en caché en la respuesta solo cuando el navegador es IE o solo desde direcciones URL específicas, puede hacerlo ampliando la interfaz HandlerInterceptor .

Al hacer eso, puedes tener mucho control sobre lo que sucede exactamente. No es tan fácil como simplemente configurar el encabezado para todo a la vez o simplemente escribir los cambios a la respuesta en cada controlador, pero tampoco es tan difícil y es una mejor solución a largo plazo en mi opinión. También es bueno saber cómo hacerlo en spring en general.

Este es un buen tutorial para ello:

http://www.mkyong.com/spring-mvc/spring-mvc-handler-interceptors-example/