Java - como se llama de un servlet a otro??

 
Vista:

como se llama de un servlet a otro??

Publicado por beatriz (32 intervenciones) el 19/04/2002 14:47:38
Buenos dias..
Como se puede llamar de un servlet a otro ???
Hay que hacer algo parecido a:
NombreServlet variable=(NombreServlet)getServletConfig().getServletContext().getServlet();
Y ya luego con variable.nombremetodo() llamo a un metodo del otro servlet???
Pero no me funciona porque me pide un string en el metodo getservlet y no se que valor hay que poner y al compilar me dice que no encuentra el servlet ..
Por lo que no entiendo muy bien cual es la estructura..

Muchas gracias por adelantado
Un saludo
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:como se llama de un servlet a otro??

Publicado por Antonio (46 intervenciones) el 19/04/2002 19:16:12
Mira beatriz, yo esto no lo he probado nunca, pero la teoría dice que se hace así. Sirve para llamar a otro servlet pasandole los objetos request y response.
- getServletContext().getRequestDispatcher("miServlet").forward(request, response);

el servlet, miServlet debe estar en el mismo servidor que el servlet que lo llama, si está en otro no funciona, ya que es la máquina virtual java la que produce que los objetos request y response no pierdan los datos que llevan.

Como sabes si quieres llamar a un servlet desde otro servlet, con el método GET solo debes hacer:
- response.sendRedirect(servlet al que quieres llamar con los parametros).
Ex: response.sendRedirect(http://www.mihost.com/servlet/miServlet?variable1=valor1&variable2=valor2);
Esto no te sirve para el metodo POST.

Ya me dirás si lo primero funciona tal como te lo he puesto.
Hasta otra.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Para Bea y Antonio

Publicado por Fran (38 intervenciones) el 21/04/2002 01:56:03
Hola, quisiera saber si no es posible tal y como yo tengo entendido (y me parece recordar que en alguna ocasión lo he hecho así) que para llamar de un servlet a otro sólo baste con instanciar un objeto de esa clase(el propio servlet) y tratarlo como a una clase más , accediendo de esta manera a sus métodos como si de una clase normal se tratara. Se que parece una solución demasiado sencilla pero creo haberlo hecho así en alguna ocasión o incluso haberlo leído en alguna parte.

Espero vuestros comentarios, especialmente el de Antonio que parece que es el que más puesto está o por lo menos el más activo en este foro, siempre dispuesto a echar una mano o a intentarlo. Bea, tu tambien pareces una asidua asi que felicidades a ambos y un saludo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Para Bea y Antonio

Publicado por Antonio (46 intervenciones) el 21/04/2002 13:09:34
Efectivamente Fran tienes razón, un servlet al fin y al cabo no deja de ser una clase java y por tanto es possible instanciarla y ejecutar sus mètodos públicos, pero piensa que un servlet es, digamos, un ejecutable en si mismo, por lo tanto no es muy habitual hacer una instancia desde otro servlet para ejecutar sus métodos.
Lo que si se hace, en algunos casos, es transferir el control a un servlet desde otro y eso es el ejemplo que le di a bea en este forum.

Hasta otra.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar