metodos doget y dopost

sara
25 de Noviembre del 2005
Hola tengo una aplicacion hecha con servlets, en los formularios html los métodos son method=get y los servlets evidentemente lo recojo con un doget.
Vale me han dicho que al usar get, en la barra de herramientas queda transparente para el usuario las direcciones a las que accedo(o algo asi) y que entonces es mejor que lo haga con post.
Mis preguntas son:
1. Exactamente que es lo que logro haciendolo con post( es que no me qudo muy claro)
2. Para hacer la "migracion" además de cambiar en el formulario(poniendo post) y luego en el servlet hacer un método doPost que llame al doGet que ya tengo; tengo que hacer algo más?Tendré algun problema?
3. si en el formulario no pongo nada que method es post o get?

Un saludo. Gracias

Am?co
25 de Noviembre del 2005
Hola sara,

En realidad, el método que hace transaparente para el usuario las direcciones a las que accedes es post.

1. Al utilizar post ocultas los datos enviados por el usuario que pueden ser sensibles para tu operación, proceso o transacción. En otras palabras, si vas a trabajar con información del usuario que es privada y por tanto no debe ser de dominio público utiliza el método post asi cuidas la información del usuario y los nombre de los parámetros que utilizas.

2. Si basta con que hagas eso, otra alternativa es que definas un método "hacerProceso" donde tengas el corazón del servlet y lo invokes desde los métodos doPost y doGet. Con cualquiera de las dos opciones no deberías tener problemas.

3. El método por omisión del formulario si no es específicado es get.

Nota: Te recomiendo que utilices el método post por lo que el método get tiene sus limitantes al enviar caracteres especiales como vocales tildadadas o eñes... Me ha sucedido y no he encontrado la menera de solucinar esto usando get, con el post no tendrás este problema.

Espero te sea útil la información.


Vanesa
25 de Noviembre del 2005
Dos alternativas:

- Te creas el método doPost y dentro llamas al doGet y ya está. O al revés.
- Te creas un método service que es el que luego llama al doGet o doPost en el caso, en este método metes lo que tienes en doGet y ya no necesitarías ni doPost ni doGet.

Mirate el API de Servlet (interfaz de la que hereda tu servlet y el cual implementas con tu servlet):
Para la versión 1.4: http://java.sun.com/j2ee/1.4/docs/api/index.html
Para la versión 1.3:
http://java.sun.com/j2ee/sdk_1.3/techdocs/api/index.html

La mejor manera es que una vez que haya el doPost o el service pruebes a cambiar en tu página html el method y veas la diferencia en la URL.
Un saludo,
Vane