Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Erro de retorno de metodo ha servlet

Olá boa noite,

estou com um erro em um codigo, estou tentando fazer o metodo de verificação de login no banco , minha classe UsuarioDao tem um metodo Login que me retorna um Usuario:

public Usuario Login(String email, String senha) throws SQLException {

PreparedStatement stmt = this.con.prepareStatement("select email,senha from usuarios"); ResultSet rs = stmt.executeQuery(); rs.next(); Usuario usuario = new Usuario();

if(rs.getString("email").equals(email) && rs.getString("senha").equals(senha)){ System.out.println("usuario cadastrado");

}else{ System.out.println("usuario nao cadastrado"); }

rs.close(); con.close(); return usuario;

}

esse codigo e para ser acessado pela minha servelet Login, so para testa criei uma classe testa Login:

public class TestaLogin { public static void main(String[] args) throws RuntimeException, SQLException {

Usuario usuario = new UsuarioDao().Login("gabriel","gabriel"); } }

se faço o teste ele funciona normalmente, mais quando tento acessar pela servLet ele da erro

java.sql.SQLException: java.lang.ClassNotFoundException: com.mysql.jdbc.Driver at br.com.alura.jdbc.ConnectionFactory.getConnection(ConnectionFactory.java:14) at br.com.alura.dao.UsuarioDao.(UsuarioDao.java:17) at br.com.alura.Servlet.Login.doPost(Login.java:26) at javax.servlet.http.HttpServlet.service(HttpServlet.java:647) at javax.servlet.http.HttpServlet.service(HttpServlet.java:728) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1041) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:603) at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312) at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.lang.Thread.run(Unknown Source) Caused by: java.lang.ClassNotFoundException: com.mysql.jdbc.Driver at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1702) at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1547) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Unknown Source) at br.com.alura.jdbc.ConnectionFactory.getConnection(ConnectionFactory.java:12) ... 23 more out 13, 2015 7:20:12 PM org.apache.catalina.core.StandardWrapperValve invoke GRAVE: Servlet.service() for servlet [br.com.alura.Servlet.Login] in context with path [/Alura] threw exception java.lang.NullPointerException at br.com.alura.dao.UsuarioDao.Login(UsuarioDao.java:44) at br.com.alura.Servlet.Login.doPost(Login.java:26) at javax.servlet.http.HttpServlet.service(HttpServlet.java:647) at javax.servlet.http.HttpServlet.service(HttpServlet.java:728) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1041) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:603) at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312) at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.lang.Thread.run(Unknown Source)

desculpe pelo texto grande e que ja tentei de todas as formas e nao consegui nao queria passar para o proximo capitulo sem entender isso

desde ja agradeço

3 respostas
solução!

Oi Gabriel, tudo bem?

O driver do banco de dados, no caso o mysql está na pasta WEB-INF/lib?

Caso não esteja baixa o .zip, e adiciona o .jar que está dentro dele lá na pasta lib?

http://cdn.mysql.com/Downloads/Connector-J/mysql-connector-java-5.1.36.zip

Caso já esteja tudo ok me avisa para pensarmos outras possibilidades. :)

Abraço.

OI lucas , tudo bem obrigado e vc ?

eu exclui de todas as pastas o Driver e coloquei no projeto em si funcionou, mais o erro no método continuou , era erro de lógica estava apenas retornando um caso de If e o Else não , já esta tudo ok adicionando dois Return funcionou .

obrigado pela ajuda

Opa Gabriel que bom que já funcionou!

Qualquer coisa estamos por aqui.

Abraço.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software