Foros del Web » Programando para Internet » Javascript »

Java no me va dentro de Javascript

Estas en el tema de Java no me va dentro de Javascript en el foro de Javascript en Foros del Web. Hola a tod@s, Necesito que un JSP se actualice cada 5 segundos con información procedente de una tabla en la bbdd, con lo que he ...
  #1 (permalink)  
Antiguo 01/08/2012, 07:12
Eux
 
Fecha de Ingreso: octubre-2010
Mensajes: 60
Antigüedad: 13 años, 6 meses
Puntos: 0
Java no me va dentro de Javascript

Hola a tod@s,

Necesito que un JSP se actualice cada 5 segundos con información procedente de una tabla en la bbdd, con lo que he usado setInteval de javascript y la función quedó de la siguiente manera:

Código Javascript:
Ver original
  1. <script>
  2.     function fun(){
  3.             <%
  4.                 GestorBBDD g = new GestorBBDD();
  5.                 int num_respuestas = g.getTotalBBDD();//devuelve total (entero)
  6.                 g.closeConn();
  7.             %>
  8.             alert(num_respuestas);
  9.     }
  10.     setInterval("fun()",5000);
  11. </script>

Cuando entro por primera vez a la página el alert me da el valor TOTAL correcto. Ahora bien, si voy a la BBDD, y elimino de la tabla un registro el valor no cambia, sigue saliendo el mismo TOTAL. Si vuelvo a cargar (F5) la página entonces SI que me da el valor nuevo.

¿Cómo puede ser que el alert sigue saliendo y es como que no pasa por el código java?

Gracias.
Saludos.
  #2 (permalink)  
Antiguo 01/08/2012, 07:22
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 9 meses
Puntos: 1532
Respuesta: Java no me va dentro de Javascript

te recuerdo que JSP (JAVA) se ejecuta del lado del servidor, por lo tanto cuando JS se ejecuta ya el JSP esta cerrado, la única forma de hacer lo que quieres es enviar peticiones HTTP, por lo cual la técnica de AJAX te puede servir.

Otro punto es el polling que consume mucho ancho de banda como lo esperas implementar, existen estrategias como AJAX longpolling para mantener la conexión activa mientras desde el server se espere un cambio y reconectar, o usar COMET y sus derivados.
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #3 (permalink)  
Antiguo 02/08/2012, 02:21
Eux
 
Fecha de Ingreso: octubre-2010
Mensajes: 60
Antigüedad: 13 años, 6 meses
Puntos: 0
Respuesta: Java no me va dentro de Javascript

Gracias por responder maycolalvarez.

Ok, entendía que el JSP se ejecuta del lado del servidor, pero pensaba que al volver a ejecutarse setInterval("fun()",5000) hacía que todo empezara de nuevo y volvía a pedir que el JSP vaya al servidor a conseguir la info.

Entonces no llego a entender ¿qué es lo que pasa cuando pasamos por segunda, tercera...por el codigo java cada 5 segundos? ¿o es que una vez cerrado el JSP ya por allí ni pasa?

Y lo del polling tienes razón pero me gustaría entender lo anterior si me lo puedes explicar. Muuuuchas gracias.

Saludos.
  #4 (permalink)  
Antiguo 02/08/2012, 07:11
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 9 meses
Puntos: 1532
Respuesta: Java no me va dentro de Javascript

tienes que comprender que Javascript Nada tiene que ver con Java, Javascript se ejecuta en el cliente y JSP en el servidor, cuando le llega una petición (request) HTTP al servidor JSP lo procesa y devuelve un contenido HTML como respuesta (response), se cierra la conexión HTTP y el navegador obtiene la respuesta inmediatamente se renderiza la página y ejecuta el Javascript que contenga, es por ello que no puedes ejecutar código JSP en Javascript, al contrarío JSP puede dumpear código Javascript para que sea procesado en el cliente, sólo puedes hacer peticiones AJAX para ejecutar JSP desde Javascript.

tienes que leer acerca de aplicaciones WEB y Modelo cliente-servidor.
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #5 (permalink)  
Antiguo 02/08/2012, 07:14
Avatar de dontexplain  
Fecha de Ingreso: junio-2012
Mensajes: 536
Antigüedad: 11 años, 10 meses
Puntos: 127
Respuesta: Java no me va dentro de Javascript

Oye yo necesito ejecutar PHP dentro de Flash en un Plugin Python de un módulo Apache?

Alguien tiene ideas?

Muchas gracias por adelantado.

<irony off>
__________________
21añero.
HTML/CSS, PHP, JS/jQuery, Mysql; NodeJS/Socket.io (& V8); C++ ; Python (wxpy); Ensamblador.
Músico (clarinetista/pianista) y compositor
  #6 (permalink)  
Antiguo 03/08/2012, 03:17
Eux
 
Fecha de Ingreso: octubre-2010
Mensajes: 60
Antigüedad: 13 años, 6 meses
Puntos: 0
Respuesta: Java no me va dentro de Javascript

Gracias por la explicación maycolalvarez, al final lo he hecho con ajax como me dijiste y ya funciona perfectamente.

Saludos.

Etiquetas: java, js
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 17:12.