Conexão Login/Senha

3 respostas
Luiza_Taques

Quando tento compilar o sistema acusa esse erro:

org.apache.jasper.JasperException: An exception occurred processing JSP page /login.jsp at line 20

17:

18:

19:

20:     if (v.verificarLogin(u) == true) {  // True se login OK, False se login NOK

21:         // usuario existe

22:         session.setAttribute(u, u);

23:        u.setLogado(true);

Alguém sabe me dizer o que está acontecendo.

essa parte do sistema está num método chamado verificarLogin que mostro a seguir:

public static boolean verificarLogin(UsuarioBean u) throws IOException

{

String strSQL = “”;

Statement stm;

UsuarioBean uBean;

String strLogin     = u.getLogin();

String strSenha     = u.getSenha();
uBean = new UsuarioBean();

try
{
    Connection conn = Conexao.getConnection(); //obtendo conexão
    stm = conn.createStatement();
    strSQL = "SELECT login, senha from usuario WHERE login = '" + strLogin +  "' AND senha = '"+ strSenha + "'" ;
    System.out.println(strSQL);
    ResultSet rs = stm.executeQuery(strSQL); //resultado de uma consulta (executeQuery) enviado para um objeto resultSet
    if (rs.next())
    {
      uBean.setLogado(true);
    }
    rs.close();
    stm.close();
}
catch (Exception e)
{
        System.out.println("teste" + e.getMessage());
}
return u.getLogado();

}

E a conexão está feita em outro método desta maneira:

public static Connection getConnection()

{

String url = “xxxxxxxxx”;

String user = “yyyyyyy”;

String password = “zzzzzzzz”;

if (m_Conexao == null)

{

try

{

Class.forName(“org.gjt.mm.mysql.Driver”);

m_Conexao = DriverManager.getConnection(url,user,password);

}

catch (Exception e)

{

e.printStackTrace();

}

}

return m_Conexao;

}

}

O que acham que está acontecendo?

3 Respostas

baudamix

um problema é que vc não deve ter inicializado sua variável logado do UsuarioBean vazia e como vc está retornando u.getLogado() em vez de uBean.getLogado() deve estar dando erro por isso....

Não sei se é assim sua class usuario mas se for seu boolean está vasio:

public class UsuarioBean {

	String login;
	String senha;
	private static boolean logado;
	
	//get em set
}

no seu metodo

public static boolean verificarLogin(UsuarioBean u) throws IOException 
...
//vc faz
if (rs.next())
{
uBean.setLogado(true);
} 
...
//e no seu result vc chama u que é o UsuarioBean que vc passou no metodo e ele pode estar vazio
return u.getLogado();

u != de uBean certo?

ve primeiro isso depois printa o erro completo com o CODE do editor...rs
org.apache.jasper.JasperException: An exception occurred processing JSP page /login.jsp at line 20

aguardo

e uma dica de logica:
//isso
if (v.verificarLogin(u) == true) { // True se login OK, False se login NOK 
//pode ser feito assim tbm
if (v.verificarLogin(u)) // uma vez que ele só pode retornar true ou false 


// e isso 
 if (rs.next())
{
uBean.setLogado(true);
}
//pode ser feito assim tbm
 if (rs.next())
{
return true;
}
return false;
Luiza_Taques

realmente o u não estava inicializado, inicializei e mudou o erro.

o erro é esse agora:

Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

org.apache.jasper.JasperException: java.lang.NullPointerException

org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:541)

org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:435)

org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)

org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)

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

org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:390)

root cause

java.lang.NullPointerException

persistencia.UsuarioBD.verificarLogin(UsuarioBD.java:349)

org.apache.jsp.login_jsp._jspService(login_jsp.java:72)

org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)

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

org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:393)

org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)

org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)

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

org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:390)

note The full stack trace of the root cause is available in the Apache Tomcat/6.0.14 logs.

baudamix

a unica coisa que posso te dizer variavel nula…
pode ser seus login senha que são String, pode ser seu objeto…
vc tem que verificar se ele são nulo
o local do erro esta aki…

persistencia.UsuarioBD.verificarLogin(UsuarioBD.java:349)

boa sorte

Criado 17 de abril de 2008
Ultima resposta 17 de abr. de 2008
Respostas 3
Participantes 2