Problema con método post y get
    
		    Hola,
Escribo porque tengo un problema con el metodo "post" a la hora de comunicar datos de un html a un servlet.
Me dice que la url no soporta el metodo Get (algo parecido).
En cambio cuando uso el metodo get, no se queja pero no hace caso del contenido de la web y carga directamente el servlet con lo que no le pasa ninguna información. El código que uso no puede ser más simple. Llevo un par de dÃas detras de esto y estoy ciertamente desesperado ya.
Alguien podrÃa darme algo de luz?
Muchas gracias de antemano.
Sergio
codigo del servlet:
// Java Document
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class HolaMundoServlet
extends javax.servlet.http.HttpServlet
{
public void doGet(HttpServletRequest peticion, HttpServletResponse respuesta)
throws ServletException, IOException
{
respuesta.setContentType("text/HTML");
PrintWriter out = respuesta.getWriter();
				
				
String nombre=peticion.getParameter("nombre");
out.println("<HTML><BODY>¡Hola " + nombre + "!</BODY></HTML>");
}
}
codigo del html:
<html><head><title>Hola mundo</title>
</head>
<body>
<form action="servlet/HolaMundoServlet" method="get">
hola <br>como te llamas? <input type="text" name= "nombre">
<input type="submit">
<input type="Reset">
</form></body></html>
    Escribo porque tengo un problema con el metodo "post" a la hora de comunicar datos de un html a un servlet.
Me dice que la url no soporta el metodo Get (algo parecido).
En cambio cuando uso el metodo get, no se queja pero no hace caso del contenido de la web y carga directamente el servlet con lo que no le pasa ninguna información. El código que uso no puede ser más simple. Llevo un par de dÃas detras de esto y estoy ciertamente desesperado ya.
Alguien podrÃa darme algo de luz?
Muchas gracias de antemano.
Sergio
codigo del servlet:
// Java Document
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class HolaMundoServlet
extends javax.servlet.http.HttpServlet
{
public void doGet(HttpServletRequest peticion, HttpServletResponse respuesta)
throws ServletException, IOException
{
respuesta.setContentType("text/HTML");
PrintWriter out = respuesta.getWriter();
String nombre=peticion.getParameter("nombre");
out.println("<HTML><BODY>¡Hola " + nombre + "!</BODY></HTML>");
}
}
codigo del html:
<html><head><title>Hola mundo</title>
</head>
<body>
<form action="servlet/HolaMundoServlet" method="get">
hola <br>como te llamas? <input type="text" name= "nombre">
<input type="submit">
<input type="Reset">
</form></body></html>
		    Hola
Si no he entendido mal, has intentado hacer una petición al servlet por método POST y el error que te ha dado es algo asà como "POST method not supported", por lo que no te ha quedado más remedio que pasar los datos del formulario por método GET. ¿No es as�
FÃjate en el código de tu servlet. Implementas sólo el método doGet(HttpServletRequest req, HttpServletResponse resp), asà que sólo puedes dar respuesta a peticiones GET.
Para aceptar peticiones POST debes implementar también el método doPost(HttpServletRequest req, HttpServletResponse resp).
Un truqui: como habitualmente la respuesta será la misma sea cual sea el tipo de petición, te aconsejo algo asÃ:
public void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
do(req, resp);
}
public void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
do(req, resp);
}
private void do(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
// Aquà haces lo que quieras
}
Salud
David
    Si no he entendido mal, has intentado hacer una petición al servlet por método POST y el error que te ha dado es algo asà como "POST method not supported", por lo que no te ha quedado más remedio que pasar los datos del formulario por método GET. ¿No es as�
FÃjate en el código de tu servlet. Implementas sólo el método doGet(HttpServletRequest req, HttpServletResponse resp), asà que sólo puedes dar respuesta a peticiones GET.
Para aceptar peticiones POST debes implementar también el método doPost(HttpServletRequest req, HttpServletResponse resp).
Un truqui: como habitualmente la respuesta será la misma sea cual sea el tipo de petición, te aconsejo algo asÃ:
public void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
do(req, resp);
}
public void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
do(req, resp);
}
private void do(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
// Aquà haces lo que quieras
}
Salud
David
		    En realidad no tiene que ver con que tenga definido el metodo post en el servlet, xq cuando porbaba el post ya definÃa de igual manera que el get el metodo post.
Por otro lado esta el hecho que usando el get, lo que hace es cargar el servlet sin mas y no me saca nada de la web, alguien tiene alguna idea?
Salud!!
    Por otro lado esta el hecho que usando el get, lo que hace es cargar el servlet sin mas y no me saca nada de la web, alguien tiene alguna idea?
Salud!!
