ServletRequest.getParameterMap () devuelve Map y ServletRequest.getParameter () devuelve String?

¿Puede alguien explicarme por qué ServletRequest.getParameterMap() devuelve el tipo

 Map 

ServletRequest.getParameter() simplemente devuelve tipo String

No entiendo por qué el mapa se correlacionará con más de un valor. TIA.

Devuelve todos los valores de parámetros para los controles con el mismo nombre.

Por ejemplo:

  Audi  Ford  Opel 

o

  

Cualquier valor marcado / seleccionado vendrá como:

 String[] cars = request.getParameterValues("cars"); 

También es útil para múltiples selecciones en tablas:

  
Delete? Foo
${item.foo}

en combinación con

 itemDAO.delete(request.getParameterValues("delete")); 
 http://foo.com/bar?biff=banana&biff=pear&biff=grape 

“biff” ahora se asigna a {"banana","pear","grape"}

La función real para obtener todos los valores de parámetro es

  request.getParameterValues(); 

getParameter() es solo un atajo para obtener el primero.

En el caso de controles multivalor (checkbox, selección múltiple, etc.), request.getParameterValues(..) se utiliza para recuperar los valores.

Si tiene un control multivalor como una lista de selección múltiple o un conjunto de botones asignados al mismo nombre, las selecciones múltiples se asignarán a una matriz.