Servlet - Parametros

Olá,

Tenho uma servlet e aualmente estou pegando alguns parametros da URL. (nome, idade e sexo)

nome = getParameter("nome");

Como posso tratar um possível erro se, porventura, eu inserir um campo que não existe? Por exemplo:

nome = getParameter("parametroQueNaoExiste");

ou seja

nome = getParameter("casa");

Gostaria de indicar algo do tipo: “Este parametro nao existe / não é valido”.

Obrigado !!!

Campos que não existem retornam NULL.

Entendo,

Mas tem uma solução onde eu informo quais são os parametros válidos e da um erro/exceção quando coloco um campo que nao existe ?

Você pode fazer algo assim:

Set<String> paramValido = new HashSet<String>(); paramValido.add("nome"); .... for(String p : paramValido){ if(!request.getParameterMap().containsKey(p)){ //erro } }

Obs. Não tenho como testar aqui.

Funcionou =)

Bom, uma última coisa! Na minha URL passo os seguintes parametros:

http://localhost/teste?nome=“joao”&idade=“40”&sexo=“M”

Esses são os corretos. Existe uma solução onde, eu passe um parametro desnecessário, e ele acuse um erro? Por exemplo:

http://localhost/teste?nome=“joao”&idade=“40”&sexo=“M”&pais=“Brasil”

retorne -> Erro: pais não é um parametro válido !

Att,

Tem a solução acima.

Pode fazer ao contrário também, adicionar na lista parâmetros inválidos e se achar algum, acusar o erro.

Então…

É que na verdade tenho uns parametros obrigatórios: Nome por exemplo.

Daí, tenho os opcionais que são sexo e idade (ou seja, se nao vierem na URL nao tem problema).

E o usuário pode ficar colocando paramentros adoidado na URL.

Então o sisteminha tem que permitir a omissão de parametros opcionais e, ainda, indicar quais os parametros que estao sendo passador erroneamente. Entendeu?

Obrigado novamente

Deixa eu entender, você tem um sistema que aceita diversos parametros.
Alguns são obrigatórios, outros opcionais e outros inválidos.
Já que todos os parametros afetam o sistema, você tem que bloquear os inválidos e não simplesmente ignora-los.
Então tem que verificar se um param obrigatório existe (ele tem que existir), verificar se um opcional existe (pode ou não existir) e verificar se um inválido existe (erro se existir).

É isso?

exato