[RESOLVIDO] Jdbc não funciona no JSP

Pessoal, boa tarde… está acontecendo uma coisa interessante comigo… eu estou usando o eclipse, e estou tentando conectar ao bando de dados (mySql) via jdbc.

Eu copiei uma classe de conexão que já funcionava em outro projeto… o problema é que a classe de conexão só funciona se eu chamar ela de outra classe java… se eu chamar de uma página .JSP dá erro de Driver…

Essa é minha classe de conexão:

package servicosCorporativos.dbase;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

public class Conexao {
	
	private String connectionString;
	private String driverName = "com.mysql.jdbc.Driver"; //driver do MySQL
	private String database = "servicoscorporativos";
	private String user = "root";
	private String password = "root";
	private String host = "localhost";
	private Connection connection = null;
	 
	    //construtor
	    public Conexao() {
	        connectionString = "jdbc:mysql://" + host + ":3306/" + database; //string de conexao
	    }
	 
	    //conectar no banco
	    public Connection connect() throws SQLException {
	        try {
	            System.out.println("Vou tentar conectar -----------------------------------------------------------");
	            Class.forName(this.driverName);
	            System.out.println("Achei o driver ----------------------------------------------------------------");
	            //faz a conexao e retorna
	            this.connection = DriverManager.getConnection(connectionString, this.user, this.password);
	            System.out.println("Conectou ----------------------------------------------------------------------");
	            return this.connection;
	        }
	        catch (ClassNotFoundException ex){
	            throw new SQLException(ex.getMessage());
	        }
	        catch (SQLException ex) {
	            throw new SQLException(ex.getMessage());
	        }
	    }
	 
	    //fecha conexao
	    public void close() throws SQLException{
	        try {
	            connection.close();
	        } catch (SQLException ex) {
	            throw new SQLException(ex.getMessage());
	        }
	    }
}

Essa é a classe JAVA que funciona…

package servicosCorporativos.adm;

import java.util.List;
import servicosCorporativos.exception.DBException;
import servicosCorporativos.adm.Usuario;

public class TesteConexao {
	
	public static void main(String[] args) throws DBException {
		// TODO Auto-generated method stub
		List<Usuario> listarUsuarios;
		Usuario usuario = new Usuario();
		listarUsuarios = usuario.listarTodos();
		for (Usuario user : listarUsuarios){
			System.out.println(user.getNome());
		}
	}

}

Essa é a .JSP que não funciona…

<%@page import="servicosCorporativos.adm.Usuario"%>
<%@page import="java.util.List"%>
<%@page import="servicosCorporativos.exception.DBException"%>
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<%
List<Usuario> listarUsuarios;
Usuario usuario = new Usuario();
listarUsuarios = usuario.listarTodos();

for (Usuario user : listarUsuarios){
	%>
	Usuário: <%= usuario.getNome() %>
	<%
}
%>
</body>
</html>

o que pode estar acontecendo?

Esse é o erro que dá…

Vou tentar conectar -----------------------------------------------------------

abr 20, 2017 6:33:51 PM org.apache.catalina.core.StandardWrapperValve invoke
GRAVE: Servlet.service() for servlet [jsp] in context with path [/ServicosCorporativos] threw exception [An exception occurred processing JSP page /adm/TesteConexao.jsp at line 15

12: <%
13: List<Usuario> listarUsuarios;
14: Usuario usuario = new Usuario();
15: listarUsuarios = usuario.listarTodos();
16: 
17: for (Usuario user : listarUsuarios){
18: 	%>

Stacktrace:] with root cause
java.sql.SQLException: com.mysql.jdbc.Driver
at servicosCorporativos.dbase.Conexao.connect(Conexao.java:34)
at servicosCorporativos.adm.Usuario.listarTodos(Usuario.java:360)
at org.apache.jsp.adm.TesteConexao_jsp._jspService(TesteConexao_jsp.java:129)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:742)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:443)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:385)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:329)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:742)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:198)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:478)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:80)
at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:624)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342)
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:799)
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:861)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1455)
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Unknown Source)

Ver esse tópico Link

Obrigado Eduardo… fiz isso e resolveu o problema.

1 curtida