Actualizar gráfico jFreeChart en cliente cada seg.
Publicado por Luis (8 intervenciones) el 22/09/2009 11:58:34
Hola a tod@s.
Estoy planteando una aplicación web con Netbeans. Hasta ahora usaba jFreeChart con Swing para generar gráficas que automáticamente adquirian un dato cada segundo, con lo que se actualizaban. Quiero hacer lo mismo en la aplicación web, pero no sé cómo hacerlo.
Resumiendo, la mecánica es:
1.- inicio segundo nuevo
2.- genera dato aleatorio (por probar)
3.- se añade el dato al dataset (tengo una clase Java encargada de generar el gráfico)
4.- ahora viene el cambio respecto a Swing, el gráfico lo tengo que enviar al browser. Esto lo consigo, pero tengo que actualizar la página web en el navegador, lo que no es aceptable.
5.- la página del cliente actualiza el gráfico. En definitiva, tenemos en el cliente un bonito gráfico que va mostrando datos nuevos cada segundo
He pensado lo siguiente:
1.- con javascript inicio un contador que cada segundo llama a una función javascript
2.- desde dicha función, llamo a un servlet el cual se encarga de usar las clases que actualizan y crean el nuevo gráfico.
3.- el gráfico se envia al cliente, lo cual no es problema porque jfreechart tiene una clase que define un servlet interno que se encarga de enviar la imagen
PREGUNTA:
1.- ¿Cómo llamo al servlet desde Javascript?
2.- JFreeChart guarda la imagen en un directorio temporal y te da un String con el path de la imagen. Por ahora, si lo guardo en String path, he conseguido actualizar la imagen con
<img src="<%=path%>" border=0>----> fijaros el código Java entre etiquetas jsp
¿cómo lo hago sin jsp y así hacerlo todo con el servlet?
No se si lo que he pensado es la forma óptima. Os he comentado la mecánica de lo que quiero hacer por si a algun@ se le ocurre otra forma mejor.
Muchas gracias!!!!!!
Estoy planteando una aplicación web con Netbeans. Hasta ahora usaba jFreeChart con Swing para generar gráficas que automáticamente adquirian un dato cada segundo, con lo que se actualizaban. Quiero hacer lo mismo en la aplicación web, pero no sé cómo hacerlo.
Resumiendo, la mecánica es:
1.- inicio segundo nuevo
2.- genera dato aleatorio (por probar)
3.- se añade el dato al dataset (tengo una clase Java encargada de generar el gráfico)
4.- ahora viene el cambio respecto a Swing, el gráfico lo tengo que enviar al browser. Esto lo consigo, pero tengo que actualizar la página web en el navegador, lo que no es aceptable.
5.- la página del cliente actualiza el gráfico. En definitiva, tenemos en el cliente un bonito gráfico que va mostrando datos nuevos cada segundo
He pensado lo siguiente:
1.- con javascript inicio un contador que cada segundo llama a una función javascript
2.- desde dicha función, llamo a un servlet el cual se encarga de usar las clases que actualizan y crean el nuevo gráfico.
3.- el gráfico se envia al cliente, lo cual no es problema porque jfreechart tiene una clase que define un servlet interno que se encarga de enviar la imagen
PREGUNTA:
1.- ¿Cómo llamo al servlet desde Javascript?
2.- JFreeChart guarda la imagen en un directorio temporal y te da un String con el path de la imagen. Por ahora, si lo guardo en String path, he conseguido actualizar la imagen con
<img src="<%=path%>" border=0>----> fijaros el código Java entre etiquetas jsp
¿cómo lo hago sin jsp y así hacerlo todo con el servlet?
No se si lo que he pensado es la forma óptima. Os he comentado la mecánica de lo que quiero hacer por si a algun@ se le ocurre otra forma mejor.
Muchas gracias!!!!!!
Valora esta pregunta


0