Vous êtes sur la page 1sur 1

La eleccin de una tcnica u otra est ntimamente relacionada con el tipo de peticin

HTTP (seguida a la URL para el mtodo GET y en el cuerpo de la peticin para el


mtodo POST).

Indistintamente del mtodo usado para transmitir los parmetros, stos se recuperan del
mismo modo en el servlet. Puesto que el protocolo HTTP slo es capaz de transportar
texto, los parmetros son transmitidos y recibidos usando cadenas de caracteres. Si
alguno de ellos representa un valor numrico, hay que realizar una conversin en el
servlet. Los mtodos siguientes estn disponibles para la manipulacin de parmetros de
una peticin HTTP:

getParameter(String name): este mtodo permite la recuperacin del parmetro cuyo


nombre se ha especificado. Si el parmetro esperado no existe en la peticin HTTP este
mtodo devuelve el valor null.

getParameterValues(String name): en algunos casos un solo parmetro puede estar


presente varias veces en una peticin HTTP. Es el caso por ejemplo en el que los datos
se recopilan a partir de un formulario HTML que contiene casillas de verificacin o una
lista que permita selecciones mltiples. Este mtodo permite obtener los valores del
parmetro cuyo nombre es pasado como argumento. Devuelve el resultado en una tabla
de cadenas de caracteres. Esta tabla se dimensiona automticamente en funcin del
nmero de valores del parmetro en especificado. Este mtodo devuelve null si el
parmetro solicitado no existe en la peticin HTTP.

El uso de los dos mtodos anteriores exige el conocimiento del nombre del parmetro
del que se desea obtener el valor. Es por tanto importante que el creador de pginas
HTML y el desarrollador de los servlets se pongan de acuerdo acerca de los nombres
utilizados por los parmetros y sobre la informacin que representan.

Sin embargo, hay disponibles dos mtodos para acceder a los parmetros de una
peticin HTTP incluso si no se conocen sus nombres.

El mtodo getParameterNames() permite obtener en un objeto Enumeration los nombres


de todos los parmetros de una peticin HTTP. A continuacin, el valor de cada
parmetro puede ser obtenido gracias al nombre retirado de la enumeracin.

Sin embargo, esta solucin no permite saber si un mismo parmetro aparece varias
veces en la peticin ya que, si es el caso, su nombre slo est una vez en la
enumeracin.

El mtodo getParameterMap permite proporcionar una solucin a este problema


devolviendo un objeto Map en el que las claves se construyen con los nombres de los
parmetros y los valores por tablas de cadena de caracteres que representan el contenido
de cada parmetro.

El ejemplo mostrado a continuacin ilustra el uso de cada uno de estos mtodos.

package es.eni.ri;

import java.io.IOException;
import java.io.PrintWriter;

www.fullengineeringbook.net

Vous aimerez peut-être aussi