Erro - Servlet

2 respostas
G

Olá, está ocorrendo o seguinte erro na execução do meu servlet:

java.lang.NullPointerException

TltSrv005Uf.service(TltSrv005Uf.java:78)

javax.servlet.http.HttpServlet.service(HttpServlet.java:810)

TltSrv004Uf.service(TltSrv004Uf.java:73)

javax.servlet.http.HttpServlet.service(HttpServlet.java:810)

e o servlet é esse:

protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException 
{          
   
    response.setContentType("text/HTML");
    PrintWriter out = response.getWriter();
    
    String Vlc_estado = null;     
    Vgi_errors.clear();
    
    Vgi_cod_pais        = (String) request.getParameter("lstpaises");
    Vgi_cd_ibge_uf      = (String) request.getParameter("edtcod");       
    Vgi_sigla           = (String) request.getParameter("edtsigla");
    Vgi_descricao       = (String) request.getParameter("edtdescricao");
       
    Prd_PreenchVet_Campos();  
      
    for (int i = 0; i < 3; i++)
    {           
         if (! Fct_CampoNulo(Vgi_Vet_Vl_campo[i])) 
               Vgi_errors.add(Vgi_Vet_Nm_Campo[i]+" é de preenchimento obrigatório.");  
         
         if (! Fct_CaracterInvalido(Vgi_Vet_Vl_campo[i])) 
               Vgi_errors.add(Vgi_Vet_Nm_Campo[i]+" iniciando com caracter inválido.");   
    } 
    
    if (! Fct_ContemNumeros(Vgi_sigla, 1))
      Vgi_errors.add("Sigla não pode conter números.");  
        
    if (! Fct_ContemNumeros(Vgi_descricao, 1))
      Vgi_errors.add("Descrição não pode conter números."); 
     
    if (! Fct_ContemNumeros(Vgi_cd_ibge_uf, 2))
      Vgi_errors.add("Código só pode conter números."); 
    
    
    if (Vgi_errors.size()==0) 
    { 
        request.setAttribute("estado",Vlc_estado);
        Vgi_nextURL = "cadastrar";            
     } 
     else 
      {
        String[] errorArray = (String[]) Vgi_errors.toArray(new String[0]);
        request.setAttribute("errors",errorArray);
        Vgi_nextURL = "confuf.jsp";
      } 
        
    String Vlc_base = "/";
    RequestDispatcher Vlc_rd;
    Vlc_rd = getServletContext().getRequestDispatcher(Vlc_base + Vgi_nextURL);
    Vlc_rd.forward(request, response);
}

Alguém pode me ajudar a resolver esse problema???
Desde já muito obrigado…

:guilhotina:

2 Respostas

T

Bem. seu problema me parece ser o seguinte. A variável Vlc_estado está nula. ou algum dos valores de request.getParameter não existe. e com isso a variável fica nula.

Outra coisa, request.getParameter( “chave” ) devolve um objeto String, não precisando usar coerção “(String)”.

Espero ter ajudado. :slight_smile:

N

Hum…
Vc sabe o que eh Thread Safe?? :roll:

O que isso faz? Vgi_errors.clear();

Criado 2 de agosto de 2004
Ultima resposta 2 de ago. de 2004
Respostas 2
Participantes 3