Métodos para enviar



información

A la hora de enviar información a un servlet tenemos dos formas: mediante el método GET y mediante el método POST. Existen una serie de diferencias entre pasarlos de una forma u otra:

Metodo POST. Este método solo esta accesible desde los formularios. Se envían los parámetros de forma implícita junto a la página, es decir, al pasar los parámetros, nosotros no vemos reflejado en ningún sitio qué parámetros son y cual es su valor.

Método GET. Este método envía los parámetros de forma explicita junto a la página, mostrando en la barra de navegación los parámetros y sus valores. Son esas largas cadenas que aparecen en algunas páginas en nuestra barra de navegación, del estilo: buscar?id=1806&valor=0987&texto=todo&... Las cadenas toman el aspecto parametro1=valor1¶metro2=valor2&....¶metroN=valorN. Es decir es una concatenación a través de & de pares parámetro-valor.

Una de las primera cosas que querremos hacer será pasarle información a esta página. Lo primero que conocer son las formas de pasar información a una página web (vía POST y vía GET). Las diferencias, a grandes rasgos, son que las peticiones vía GET encadenan los valores a pasar a la página web en la URL, mientras que si hacemos una petición vía POST se pasará la información de forma implícita.

En el primer caso veremos URL del tipo...

ObtenerParametros.jsp?dato1=pagina&dato2=lineadecodigo

Lógicamente nuestro cometido será el recuperar la información que llega como parámetro para utilizarla dentro de nuestra página web.

Dentro del contexto de la página JSP tenemos disponible la variable request. Dicha variable viene a representar la petición que es recibida en la página. Y consecuentemente los parámetros y valores que la llegan.

Si queremos recuperar el valor de los parámetros, simplemente deberemos de utilizar el método .getParameter(String parametro). Donde indicaremos el nombre del parámetro a recuperar.

Así, en la anterior petición podremos recuperar los valores de los parámetros dato1 y dato2 mediante la siguiente linea de codigo:

String datoUno = request.getParameter("dato1");

String datoDos = request.getParameter("dato2");

Ahora solo nos quedará el utilizar los valores de los datos recibidos como parámetro donde y como queramos. Por ejemplo para, simplemente, mostrarlos por pantalla.

out.println(datoUno);

out.println(datoDos);

En este caso hemos utilizado la variable out, que viene a representar la respuesta hacia el cliente y en concreto el método .println(variable) que vuelca información sobre la página.

En este artículo vamos a ver como pasar información mediante los parámetros de una URL. Lo que se conoce como paso de parámetros vía GET. Es decir, si nos fijamos en las páginas que hay en Internet, suelen ser aquellas que son algo así como...

http://www.aulambra.com/ver.asp?id=100&tipo=Documento

Si nos fijamos, en la parte final de la URL hay una serie de datos los cuales empiezan por un símbolo de interrogación y se separan mediante &. Cada par de, variable, valor, sigue la siguiente sintaxis

variable=valor y como hemos dicho, cada variable, separada por &

variable1=valor1&variable2=valor2

ASP nos ofrece un objeto que nos permite recuperar estas variables de una forma muy sencilla, el objeto Request. Y el método que permite recuperar el valor es QueryString. Si lo ponemos todo junto, la forma de recuperar una variable, por ejemplo, la variable "variable1", será la siguiente:

Request.QueryString("variable1")

Siempre tiene que coincidir el nombre de la variable que ponemos en la URL con el nombre de la variable que estemos recuperando en el método QueryString.

Esto devuelve el valor de "variable1", es decir, "valor1". A si que hay que asignar este método a alguna variable:

miVariable = Request.QueryString("variable1")

Cuando usamos GET, la información se codifica directamente en la URL, con la forma:

http://url?param1=valor1¶m2=valor2...¶mN=valorN

Con GET no podemos manejar grandes cantidades de información, y existe la desventaja de que el servidor o el navegador guarden en caché la página llamada. Hay que tener en cuenta que los logs del servidor y el historial del navegador guardarán el acceso incluyendo los parámetros, lo cual hace desaconsejable GET para el envío de información privada. Por otro lado, al visualizarse en la URL los parámetros, facilita el desarrollo y depurado de la aplicación web, y en algunos casos, es imprescindible para realizar estadísticas basadas en los logs del servidor.

Con POST la información se envía directamente al servidor, no se codifica en la URL, y además permite el envío de grandes cantidades de información, como podrían ser archivos.

Subir