Erro ao comparar string

4 respostas
fmduque

Quero criar uma única página para informar os dados do login e o script para autenticar. No inicio da minha página, estou colocando:

if(request.getParameter("acao").equals("autenticar")){ //metodo para autenticar o usuario }

e no form:

<form> ... <input name="acao" type="hidden" id="acao" value="autenticar"> </form>

Só que quando entro na página pela primeira vez, vem o erro de java.lang.NullPointerException.

Como posso resolver isso? pq eu não queria criar uma página para a pessoa informar os dados do login e uma outra pra autenticar.

4 Respostas

L
if(request.getParameter("acao").equals("autenticar")){ 
   //metodo para autenticar o usuario 
}

:arrow: Antes de verificar se o request.getParameter(“acao”).equals(“autenticar”), você deve verificar se request.getParameter(“acao”) é diferente de NULL ou “”.

Ex:

if ((request.getParameter("acao") != null) && !(request.getParameter("acao").equals(""))){ 
   if (request.getParameter("acao").equals("autenticar")){ 
      //metodo para autenticar o usuario 
   }
}
P

“Lucashgt”:
if(request.getParameter("acao").equals("autenticar")){ //metodo para autenticar o usuario }

:arrow: Antes de verificar se o request.getParameter(“acao”).equals(“autenticar”), você deve verificar se request.getParameter(“acao”) é diferente de NULL ou “”.

Ex:

if ((request.getParameter("acao") != null) && !(request.getParameter("acao").equals(""))){ if (request.getParameter("acao").equals("autenticar")){ //metodo para autenticar o usuario } }


Só por curiosidade, a maioria dos erros de NullPointerException ocorre quando tentamos usar a notação “ponto” em um objeto que tenha seu valor nulo, no seu caso, request.getParameter(“acao”) deve retornar null, e você tenta usar um método encima desse null, utilizando o que cchamamos de notação “ponto” <Objeto.método()>

L

Ping, vou melhorar um pouco o código, quem sabe assim não fica melhor de entender a validação como um todo.

String acao = request.getParameter&#40;"acao"&#41;;

if &#40;&#40;acao != null&#41; && !&#40;acao.equals&#40;""&#41;&#41;&#41;&#123; 
   if &#40;acao.equals&#40;"autenticar"&#41;&#41;&#123; 
      //metodo para autenticar o usuario 
   &#125; 
&#125;

:arrow: Acho que assim ficou melhor.

fmduque

valeu lucas… deu certinho!

Criado 27 de fevereiro de 2004
Ultima resposta 27 de fev. de 2004
Respostas 4
Participantes 3