comunicacion entre servlet
Publicado por nepthis (37 intervenciones) el 10/03/2007 20:33:34
Hola a todos!! Despues de un tiempo sin tener problemas, me han vuelto a surgir algunas dudas que os comento a continuacion. Muchas gracias por adelantado!
Mi idea es aplicar el patron MVC, es decir, pretendo que todos los links lleven a un controlador, que en función de un parámetro redirecciona a una página jsp o a otro servlet. Esto funciona bien. El problema es que, si el controlador delega en un servlet que recoge datos de un formulario, por ejemplo, un formulario para agregar un contacto, este ultimo servlet no puede redirigir la salida al controlador que es el que quiero que finalmente saque la pagina jsp resultado, es decir, el servlet NuevoContacto no puede hacer esto en su metodo doget()
..............................
int insertado = contactos.insertarContacto(contacto);
// Redireccionamos la salida
if (insertado == 1)
{
getServletConfig().getServletContext().getRequestDispatcher("/libreria/ControladorContactos?x=2").forward(request, response);
}
else
...........................................
Porque da el siguiente error
Estado HTTP 405 - El Metodo HTTP POST no es soportado por esta URL
type Informe de estado
mensaje El Metodo HTTP POST no es soportado por esta URL
descripción El método HTTP especificado no está permitido para el recurso requerido (El Metodo HTTP POST no es soportado por esta URL).
Apache Tomcat/5.5.16
Pero si funciona hacer (redireccionar directamente a la pagina jsp sin pasar otra vez por el contralador)
if (insertado == 1)
{
getServletConfig().getServletContext().getRequestDispatcher("/WEB-INF/ContactoInsertado.jsp").forward(request, response);
}
¿por qué pasa esto?
Mi idea es aplicar el patron MVC, es decir, pretendo que todos los links lleven a un controlador, que en función de un parámetro redirecciona a una página jsp o a otro servlet. Esto funciona bien. El problema es que, si el controlador delega en un servlet que recoge datos de un formulario, por ejemplo, un formulario para agregar un contacto, este ultimo servlet no puede redirigir la salida al controlador que es el que quiero que finalmente saque la pagina jsp resultado, es decir, el servlet NuevoContacto no puede hacer esto en su metodo doget()
..............................
int insertado = contactos.insertarContacto(contacto);
// Redireccionamos la salida
if (insertado == 1)
{
getServletConfig().getServletContext().getRequestDispatcher("/libreria/ControladorContactos?x=2").forward(request, response);
}
else
...........................................
Porque da el siguiente error
Estado HTTP 405 - El Metodo HTTP POST no es soportado por esta URL
type Informe de estado
mensaje El Metodo HTTP POST no es soportado por esta URL
descripción El método HTTP especificado no está permitido para el recurso requerido (El Metodo HTTP POST no es soportado por esta URL).
Apache Tomcat/5.5.16
Pero si funciona hacer (redireccionar directamente a la pagina jsp sin pasar otra vez por el contralador)
if (insertado == 1)
{
getServletConfig().getServletContext().getRequestDispatcher("/WEB-INF/ContactoInsertado.jsp").forward(request, response);
}
¿por qué pasa esto?
Valora esta pregunta


0