2012-07-05 33 views

Respuesta

16

Puede hacerlo de esta manera en su JSP a prevent from caching, no es capaz de borrar la memoria caché mediante programación:

<% response.setHeader("Cache-Control","no-cache"); //HTTP 1.1 
response.setHeader("Pragma","no-cache"); //HTTP 1.0 
response.setDateHeader ("Expires", 0); //prevents caching at the proxy server 
%> 
+0

¿Tiene que poner este código en cada página JSP? –

+1

agregue el fragmento de código anterior en un archivo jsp e incluya ese jsp en todas las demás jsps. O bien, otra manera fácil es agregar este código al enviar la respuesta de vuelta en un filtro para que pueda asegurarse de que el navegador no va a almacenar en caché los datos. – UVM

+1

Intenté con el siguiente código, no está almacenando en caché la página, pero cuando presiono el botón de volver al navegador, el navegador dice que este documento ya no existe, vuelva a cargar la página. ¿Por qué no está recargando la página automáticamente? '<% response.setHeader (" Cache-Control "," no-cache "); response.setHeader ("Cache-Control", "no-store"); response.setHeader ("Pragma", "no-cache"); response.setDateHeader ("Caduca", 0); %> ' – Sadanand

0

El mismo efecto se puede lograr mediante el uso de etiquetas meta en la cabecera HTML:

<meta http-equiv="Pragma" content="no-cache"> 
<meta http-equiv="Cache-Control"  content="no-cache"> 
<meta http-equiv="Expires" content="Sat, 01 Dec 2012 00:00:00 GMT"> 

El encabezado Cache-Control se agregó en HTTP 1.1, mientras que los otros dos también estaban presentes en HTTP 1.0.

+0

No se recomienda, a menos que no tenga otra opción. (No usa JSP, o no puede modificar los encabezados de respuesta en el momento en que se ejecuta su JSP, tal vez debido a un marco inflexible que está utilizando). – Barett

1
 <% 
response.setHeader("Cache-Control", "no-cache"); 
response.setHeader("Cache-Control", "no-store"); 
response.setHeader("Pragma", "no-cache"); 
response.setDateHeader("Expires", 0); 
%> 

obra perfecta en JSP y recuerde revisar la sesión

<% 

User u = (User) request.getSession().getAttribute("user"); 
if (u != null) { 
//show page 
}else{ 
// redirect to login page 
} 

%> 
0
<% 
response.addHeader("Cache-Control", "no-cache, no-store, must-revalidate"); 
response.addHeader("Pragma", "no-cache"); 
response.setDateHeader("Expires", 0); 
%> 

Esto funcionó para mí. Reference

Cuestiones relacionadas