Foros del Web » Programación para mayores de 30 ;) » Java »

llamar jsp desde servlet que se invoca con ajax

Estas en el tema de llamar jsp desde servlet que se invoca con ajax en el foro de Java en Foros del Web. hola amigos, soy nuevo en el foro y en el tema de la programacion, keria por favor me ayuden con la solucion a este problema ...
  #1 (permalink)  
Antiguo 31/01/2013, 14:04
 
Fecha de Ingreso: enero-2013
Ubicación: Peru
Mensajes: 7
Antigüedad: 11 años, 2 meses
Puntos: 0
Sonrisa llamar jsp desde servlet que se invoca con ajax

hola amigos, soy nuevo en el foro y en el tema de la programacion, keria por favor me ayuden con la solucion a este problema que tengo, necesito abrir una nueva pagina jsp desde un servlet que es invocado con ajax, no se como hacerlo por favor su ayuda si tienen un ejemplo, el jsp debe abrirse en una ventana nueva no en la actual, muchas gracias
  #2 (permalink)  
Antiguo 31/01/2013, 17:50
Avatar de CapacProg  
Fecha de Ingreso: marzo-2010
Ubicación: Lima - Perú
Mensajes: 324
Antigüedad: 14 años, 1 mes
Puntos: 71
Respuesta: llamar jsp desde servlet que se invoca con ajax

Si se abre en una ventana nueva porque usas AJAX?
__________________
%
El mejor guerrero no es el que triunfa siempre sino el que vuelve sin miedo a la batalla.
%
  #3 (permalink)  
Antiguo 31/01/2013, 23:44
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 19 años, 6 meses
Puntos: 454
Respuesta: llamar jsp desde servlet que se invoca con ajax

Dentro del servlet haz esto

RequestDispatcher dispatcher = request.getRequestDispatcher("nuevapagina.jsp");
dispatcher.forward(request, response);

donde request es uno de los parámetros que recibes. Debes hacerlo antes de enviar nada hacia el navegador, es decir, antes de cualquier ...

PrintWriter out = response.getWriter();
out.println("salida al navegador");

Se bueno.
__________________
Apuntes Java
Wiki de Programación
  #4 (permalink)  
Antiguo 01/02/2013, 07:52
 
Fecha de Ingreso: enero-2013
Ubicación: Peru
Mensajes: 7
Antigüedad: 11 años, 2 meses
Puntos: 0
Respuesta: llamar jsp desde servlet que se invoca con ajax

Cita:
Iniciado por chuidiang Ver Mensaje
Dentro del servlet haz esto

RequestDispatcher dispatcher = request.getRequestDispatcher("nuevapagina.jsp");
dispatcher.forward(request, response);

donde request es uno de los parámetros que recibes. Debes hacerlo antes de enviar nada hacia el navegador, es decir, antes de cualquier ...

PrintWriter out = response.getWriter();
out.println("salida al navegador");

Se bueno.
  #5 (permalink)  
Antiguo 01/02/2013, 07:57
 
Fecha de Ingreso: enero-2013
Ubicación: Peru
Mensajes: 7
Antigüedad: 11 años, 2 meses
Puntos: 0
Respuesta: llamar jsp desde servlet que se invoca con ajax

gracias po responder.
Ilustro un poco mas mi caso, lo que necesito es que al levantar el sistema comience a llamar a un servlet de manera infinita, esto es por que los usuarios guardan citas con sus clientes y el servlet tiene que levantar una ventana avisandoles de su cita a la hora que la pactaron, la programacion que busca la fecha y hora de la cita ya esta, lo que me falta es hacer correr el servlet de manera automatica e infinita hasta que el usuario cierre sesion.
Voy a probar poniendo en el out.println el dispatcher para probar si el ajax lo llama, pero, si tienen alguna idea sobre como hacer esto se los agradeceria mucho.
  #6 (permalink)  
Antiguo 01/02/2013, 09:00
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 19 años, 6 meses
Puntos: 454
Respuesta: llamar jsp desde servlet que se invoca con ajax

Hola:

Un Servlet ya corre por sí mismo de forma infinita. Lo despliegas en el servidor (Tomcat o el que uses) y mientras no mates Tomcat ahí lo tienes disponible.

Lo que pretendes hacer se hace con AJAX en el navegador. En javascript pones un timer que haga peticiones periódicas al Servlet preguntándole si hay alguna cita nueva. Esa petición lo suyo es hacerla con AJAX, porque si no el navegador estaría refrescando la página cada poco tiempo (el del timer que hayas puesto).

Si la petición AJAX se la haces al Servlet, el Servlet debe devolver sólo los datos de la nueva cita si la hay, no es necesario que redirija a ninguna página. El código javascript, cuando reciba la respuesta a su petición AJAX, tendrá que modificar el contenido de la página para mostrar la nueva cita, o bien sacar una ventana de alerta o lo que veas.

Se bueno.
__________________
Apuntes Java
Wiki de Programación
  #7 (permalink)  
Antiguo 01/02/2013, 09:52
 
Fecha de Ingreso: enero-2013
Ubicación: Peru
Mensajes: 7
Antigüedad: 11 años, 2 meses
Puntos: 0
Respuesta: llamar jsp desde servlet que se invoca con ajax

gracias por responder chuidiang,
si lo estoy haciendo con ajax usando la funcion setTimeOut para que cada segundo se ejecute, este es mi ajax :

<script type="text/javascript">
var peticion_http = null;

function inicializa_xhr()
{
if(window.XMLHttpRequest)
{
return new XMLHttpRequest();
}
else if(window.ActiveXobject)
{
return new ActiveXobject("Microsoft.XMLHTTP");
}

}

peticion_http = inicializa_xhr();

function llamarCita()
{
if(peticion_http.readyState == 4 || peticion_http.readyState == 0)
{
peticion_http.onreadystatechange = ventanaCita;
peticion_http.open('GET','http://localhost:8080/gescob/llamarCitaServlet',true);
peticion_http.send(null);
}
else
{
setTimeout(llamarCita(),1000);
}

}

function ventanaCita()
{
if(peticion_http.readyState == 4)
{
if(peticion_http.status == 200)
{
que debo poner aqui ..........??;

setTimeout(llamarCita(),1000);
}
}
}


</script>

en la funcion ventanaCita es donde no se como hacer para que me muestre otra ventana ya que el ajax solo recibe response text o xml si no me equivoco, porfa sabes como se debe hacer?, gracias
  #8 (permalink)  
Antiguo 01/02/2013, 10:39
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 19 años, 6 meses
Puntos: 454
Respuesta: llamar jsp desde servlet que se invoca con ajax

Casi mejor pregunta en el foro de javascript, aquí nos estamos desviando de java.

En cualquier caso, puedes usar alert(), o window.open(), o bien usando algo como jQuery, mostrar un diálogo http://jqueryui.com/dialog/

Se bueno.
__________________
Apuntes Java
Wiki de Programación
  #9 (permalink)  
Antiguo 02/02/2013, 11:51
 
Fecha de Ingreso: enero-2013
Ubicación: Peru
Mensajes: 7
Antigüedad: 11 años, 2 meses
Puntos: 0
Respuesta: llamar jsp desde servlet que se invoca con ajax

gracias amigo por la sugerencia.

Etiquetas: ajax, jsp, servlets
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:48.