Fala galera, eu estou fazendo o curso de Servlet’s da Alura e estou tentando usar um Banco de Dados MySQL na aplicação que é ensinada no curso(CRUD de empresas), porém estou com um problema na hora da execução. Essa é a seguinte pilha de erros:
out. 11, 2020 4:15:28 PM org.apache.catalina.core.StandardWrapperValve invoke SEVERE: Servlet.service() for servlet [br.com.alura.servlet.ListaEmpresaServlet] in context with path [/sistema] threw exception [Servlet execution threw an exception] with root cause java.lang.ClassNotFoundException: com.mchange.v2.c3p0.ComboPooledDataSource ** at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1365)** ** at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1188)** ** at br.com.alura.factory.ConnectionFactory.(ConnectionFactory.java:15)** ** at br.com.alura.servlet.ListaEmpresaServlet.doGet(ListaEmpresaServlet.java:29)** ** at javax.servlet.http.HttpServlet.service(HttpServlet.java:626)** ** at javax.servlet.http.HttpServlet.service(HttpServlet.java:733)** ** 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:53)** ** 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:202)** ** at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)** ** at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541)** ** at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139)** ** at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)** ** at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:690)** ** at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)** ** at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)** ** at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:373)** ** at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)** ** at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:868)** ** at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1589)** ** at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)** ** at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130)** ** at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:630)** ** at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)** ** at java.base/java.lang.Thread.run(Thread.java:832)**
Vou postar a minha classe ConnectionFactory aqui:
package br.com.alura.factory;
import java.sql.Connection; import java.sql.SQLException;
import javax.sql.DataSource;
import com.mchange.v2.c3p0.ComboPooledDataSource;
public class ConnectionFactory implements AutoCloseable{
public DataSource dataSource;
public ConnectionFactory() { ComboPooledDataSource cpds = new ComboPooledDataSource(); cpds.setJdbcUrl("jdbc:mysql://localhost/banco_empresa?useTimezone=true&serverTimezone=UTC"); cpds.setUser("root"); cpds.setPassword("root");
this.dataSource = cpds;
}
public Connection getConexao() throws SQLException { return this.dataSource.getConnection(); }
@Override public void close() throws Exception {
}}
Eu segui todo o passo a passo e toda a ideia de execução do curso de JDBC da Alura, porém acontece esse erro mesmo eu tendo colocado os drivers do BD na pasta do projeto. É minha primeira vez que estou tentando conectar um BD a uma aplicação Java que não seja a do curso de JDBC. Não sei se antes de eu conectar o BD eu tenha que fazer uma configuração em algum lugar para a aplicação conseguir funcionar com o BD. Ainda sou iniciante na programação rsrrs, então desculpem caso eu tenha feita uma grave ignorância.