Foros del Web » Creando para Internet » Diseño web »

JSP Cache

Estas en el tema de JSP Cache en el foro de Diseño web en Foros del Web. Tengo una página JSP que me carga unos datos de la base de datos. Como hay gran cantidad de datos,el navegador continua la carga de ...
  #1 (permalink)  
Antiguo 31/05/2002, 09:23
 
Fecha de Ingreso: marzo-2002
Mensajes: 30
Antigüedad: 14 años, 6 meses
Puntos: 0
JSP Cache

Tengo una página JSP que me carga unos datos de la base de datos.
Como hay gran cantidad de datos,el navegador continua la carga de la página JSP antes de que acabe de cargarlos todos (seguramente por la Cache de este).He probado de poner el código:
<i>response.setHeader("Pragma", "No-cache");
response.setDateHeader("Expires", 0);
response.setHeader("Cache-Control", "no-cache");</i>
Para que no utilice la Cache el navegador,pero ni asi para la ejecución del resto de la pagina JSP.
¿Cómo lo puedo hacer para que no continue la carga del JSP si antes no ha cargado los datos?
  #2 (permalink)  
Antiguo 01/06/2002, 03:47
 
Fecha de Ingreso: enero-2002
Mensajes: 136
Antigüedad: 14 años, 8 meses
Puntos: 1
Re: JSP Cache

Hola erwing

Lo que te pasa no tiene nada que ver con la caché del navegador.

El contenedor de JSP/Servlets utiliza un bufer donde almacena temporalmente la respuesta antes de ser enviada al cliente. Como tú lees muchos datos de una BD, haces que este bufer se llene relativamente rápido, y el contenedor debe enviar el contenido del mismo al cliente (navegador) para vaciar el bufer y poder seguir almacenando la respuesta.

El objeto ServletResponse tiene varias funciones para tratar el bufer. Principalmente necesitarás:

int getBufferSize() -> obtiene el tamaño actual del bufer

setBufferSize(int) -> establece un nuevo tamaño para el bufer

flushBuffer() -> Envía el contenido del bufer al navegador

Usa la función setBufferSize() para darle un tamaño mayor al bufer. Ojo, la debes utilizar antes de enviar algo al navegador, o te dará error.

Bueno, todo esto es la teoría. Yo no lo he llegado a probar, así que cuéntame como te ha ido, ok? ;)

Para más información sobre éstas y otras funciones relacionadas consulta la API: <a href='ir.asp?http://java.sun.com/products/servlet/2.3/javadoc/index.html' target='_blank'>http://java.sun.com/products/servlet/2.3...</a>

Salud s
  #3 (permalink)  
Antiguo 04/06/2002, 11:32
 
Fecha de Ingreso: marzo-2002
Mensajes: 30
Antigüedad: 14 años, 6 meses
Puntos: 0
Re: JSP Cache

He probado lo del buffer dandole mas i menos tamaño i no funciona,he probado de resetear el buffer i tampoco.Si consigues algo te agradeceria la respuesta.Gracias. :(
  #4 (permalink)  
Antiguo 04/06/2002, 13:05
 
Fecha de Ingreso: junio-2002
Mensajes: 39
Antigüedad: 14 años, 3 meses
Puntos: 0
Re: JSP Cache

Hola,
Las páginas jsp tienen unas directivas que configuran el comportamiento de la propia página, una de ellas es autoFlush con valor por defecto a true, lo que quiere decir que cuando este lleno el buffer se mandará al cliente. Podrias intentar ponerlo a false y cuando se llene, te mandará una excepción. También puedes modificar el tamaño del buffer antes de escribir nada en el buffer, lo tienes que poner al principio de la página.

Sería algo parecido a esto:

&lt;%@ page autoFlush=&quot;false&quot; %&gt;
&lt;%@ page buffer=&quot;80kb&quot; %&gt;

con el tamaño de buffer que necesites.

Espero que te sirva.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:08.