Inicializo a varíavel mas ela retorna null no tomcat

2 respostas
E
package controleErro;

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

import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

 public class TrabComErros extends javax.servlet.http.HttpServlet {
   static final long serialVersionUID = 1L;
   
    
	protected void doGet(HttpServletRequest request, HttpServletResponse response)
	throws ServletException, IOException {
		// TODO Auto-generated method stub
		
		int x=10;
		x = Integer.parseInt(request.getParameter("x"));
		
		response.setContentType("text/html");
		PrintWriter out = response.getWriter();
		
		out.println("<form action='TrabComErros' method='get'>");
		out.println("X: "+"<input type='text' name='x'");
		out.println("<input type='submit'>");
		out.println("</form>");
		
		//exibir o x 
		out.println(x);

				
		
	} //end method 	  	    
}//end class

Galera quando compilo essa servlet e executo é lançada uma erro:

SEVERE: Servlet.service() for servlet TrabComErros threw exception
java.lang.NumberFormatException: null
	at java.lang.Integer.parseInt(Unknown Source)
	at java.lang.Integer.parseInt(Unknown Source)
	at controleErro.TrabComErros.doGet(TrabComErros.java:19)

Fui informado que estava ocorrendo porque a variável x não tinha sido inicializada, porém a inicializei com 10 e continua dando o mesmo erro.

2 Respostas

samuelhenriquerj

efcjunior, na primeira vez que roda este servlet, vc inicializa a variavel local x com 10, mas depois vc tenta fazer Integer.parseInt() em cima de request.getParameter(“x”) que ainda é nulo, talvez vc esteja confunindo a variável local “x” q vc criou com o campo do formulário q vc tb chamou de x, mas são diferentes.
Basta vc fazer isso:

int x=10;  
         if( request.getParameter("x")!=null )  
             x= Integer.parseInt(request.getParameter("x"));
Fer

Vc já tentou debbugar? Ajuda pra caramba achar o erro…
Vc seleciona a variável x e com as teclas crtl+shift+i vc ve se ela está vindo mesmo nula.

int x=10; x = Integer.parseInt(request.getParameter("x"));

[]'s

Criado 14 de fevereiro de 2008
Ultima resposta 14 de fev. de 2008
Respostas 2
Participantes 3