Entiendo que existe un encabezado de respuesta HTTP directiva para deshabilitar la caché de páginas:

Cache-Control:no-cache

Puedo modificar el encabezado de «la mano»:

 <%response.addHeader("Cache-Control","no-cache");%>

Pero es que hay una «buena» manera de hacer que la JSP intérprete de retorno de esta línea de encabezado en la respuesta del servidor?

(He comprobado el <%@page …%> directiva. Parece que no hay nada de eso.)

InformationsquelleAutor Eduard Wirch | 2008-10-02

4 Comentarios

  1. 3

    También agregar

    respuesta.addHeader("Expires","-1"); 
    respuesta.addHeader("Pragma","no-cache"); 
    

    a su encabezados y dar que un disparo.

    • He intentado con el siguiente código, no es el almacenamiento en caché de la página, pero cuando me golpeó botón atrás del navegador, el navegador dice que este documento no más , vuelve a cargar la página. Por qué no tener que recargar la página automáticamente ? <% response.setHeader("Cache-Control", "no-cache"); response.setHeader("Cache-Control", "no-store"); response.setHeader("Pragma", "no-cache"); response.setDateHeader("Expires", 0); %>
  2. 0

    Si se utiliza un servlet, entonces creo que lo que has publicado en la pregunta sería el enfoque correcto. No soy consciente de ninguna manera para hacer esto en el JSP.

  3. 0
    <?xml version="1.0"?>
    <jsp:root xmlns:jsp="http://java.sun.com/JSP/Page" version="2.0"> 
     <jsp:scriptlet><![CDATA[
       response.setHeader("Cache-Control", "no-cache");
     ]]></jsp:scriptlet>
    </jsp:root>

    Debe poner el encabezado de respuesta dentro de <jsp:root />. También, me gustaría que en lugar de recomendar el envío de este desde el servlet en lugar de una página JSP.

  4. 0

    IIRC algunos navegadores pueden ignorar la caché de configuración de control en algunos contextos. El ‘seguro’ solución para esto era siempre una página (incluso un AJAX fragmento) con una nueva variable de cadena de consulta (como el tiempo).

Dejar respuesta

Please enter your comment!
Please enter your name here