Cursos / Informática para Internet / Desenvolvimento Web I / Aula

arrow_back Aula 03 - Manipulando requisições e respostas HTML com Servlets

Manipulando os parâmetros das requisições web III

Além do método getParameter(), a classe HttpServletRequest possui vários outros métodos que podem ser utilizados para pegar informação sobre parâmetros da requisição web. Um exemplo é o método getParameterNames(), o qual você pode usar para pegar os nomes de todos os parâmetros da requisição. Esse método é geralmente útil quando você quer, por exemplo, listar para o usuário todos os parâmetros enviados. Vejamos o exemplo de código mostrado na Listagem 2.

Listagem 2 - Lendo nome de todos os parâmetros da requisição

Ao executar o ServletListarNomeParametros sem passar nenhum parâmetro, será apresentada a página de resposta mostrada na parte superior da Figura 4. Já ao passar parâmetros para a requisição, como mostrado na parte inferior da Figura 4, os nomes desses parâmetros serão apresentados. Se você observou bem, as linhas 21 a 25 da Listagem 2 são as responsáveis por imprimir essa lista de nomes de parâmetros. O tipo de retorno do método getParameterNames é Enumeration<String>, uma classe utilizada para acessar os elementos de uma coleção com itens do tipo String. No caso, queremos acessar os nomes (elementos) de todos os parâmetros da requisição (coleção).

A classe Enumeration possui métodos como hasMoreElements(), que retorna um booleano indicando se ainda existem elementos a serem pegos (ver condição do while na linha 22), e nextElement(), que retorna o próximo elemento da coleção (linha 23). Como Enumeration é uma classe de uso geral, o tipo de retorno do método nextElement() é o Object. Para montarmos uma String com sua representação de um objeto qualquer, basta usar o método toString(), não é? De fato, os nomes dos parâmetros são textos, ou seja, Strings, então uma alternativa ao uso do método toString() é o uso do cast: (String).

Páginas de resposta quando não se passam parâmetros (acima) e quando se passam parâmetros (abaixo) para a requisição

Versão 5.3 - Todos os Direitos reservados