Erro ao tentar conectar no banco de dados WEB

30/11/2020

11

Pessoal estou criando um arquivo que faz a conexão com o meu banco de dados (estou utilizando o xanpp para rodar o apache, tomcat e o mysql), porém encontro o seguinte erro:



HTTP Status 500 – Internal Server Error

Type Exception Report

Message An exception occurred processing [/SITE/gravar.jsp] at line [19]

Description The server encountered an unexpected condition that prevented it from fulfilling the request.

Exception

org.apache.jasper.JasperException: An exception occurred processing [/SITE/gravar.jsp] at line [19] 16: 17: // carrega o driver na memoria 18: 19: Class.forName( driver ); 20: 21: // criar variavel para conectar com banco de dados 22: Stacktrace: org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:618) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:500) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:395) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:339) javax.servlet.http.HttpServlet.service(HttpServlet.java:728) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)

Root Cause

javax.servlet.ServletException: java.lang.ClassNotFoundException: com.mysql.jdbc.Driver org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:917) org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:846) org.apache.jsp.SITE.gravar_jsp._jspService(gravar_jsp.java:140) org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:71) javax.servlet.http.HttpServlet.service(HttpServlet.java:728) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:477) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:395) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:339) javax.servlet.http.HttpServlet.service(HttpServlet.java:728) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)

Root Cause

java.lang.ClassNotFoundException: com.mysql.jdbc.Driver org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1952) org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1795) org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:126) org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:63) java.lang.Class.forName0(Native Method) java.lang.Class.forName(Unknown Source) org.apache.jsp.SITE.gravar_jsp._jspService(gravar_jsp.java:101) org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:71) javax.servlet.http.HttpServlet.service(HttpServlet.java:728) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:477) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:395) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:339) javax.servlet.http.HttpServlet.service(HttpServlet.java:728) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)

Note The full stack trace of the root cause is available in the server logs.







E o meu código é o seguinte:



<%@page language="java" import="java.sql.*" %>

<%

// cria as variaveis e obtem os dados digitados pelo usuario
String vnome = request.getParameter("txtnome");
String vapelido = request.getParameter("txtapelido");
String vnaci = request.getParameter("txtnaci");

// variaveis para acessar o banco de dados
String banco = "inscrições";
String usuario = "root";
String senha = "";
String url = "jdbc:mysql://localhost:3306/" + banco;
String driver = "com.mysql.jdbc.Driver";

// carrega o driver na memoria

Class.forName( driver );

// criar variavel para conectar com banco de dados

Connection conexao;

// abrir a conexao com o banco
conexao = DriverManager.getConnection( url , usuario , senha ) ;

String sql = "insert into cadastro (nome,idade,email) values('" + vnome + "','"+ vapelido + "', '"+ vnaci + "')";

// cria o statement
// ele é o responsável por executar o comando do SQL
Statement stm = conexao.createStatement() ;

// executa o comando do SQL
stm.executeUpdate( sql ) ;

stm.close() ;
conexao.close() ;

out.print("<br><br>") ;
out.print("Dados gravados com sucesso!!!") ;

out.print("<br><br>") ;
out.print("<a href='cadastro.html'>Voltar</a>") ;

%>





Alguem sabe me dizer o que houve?
Responder

Post mais votado

30/11/2020


// variaveis para acessar o banco de dados
String banco = "inscrições";
String usuario = "root";
String senha = "";
String url = "jdbc:mysql://localhost:3306/" + banco;
String driver = "com.mysql.jdbc.Driver";

O seu banco tem acentos e cedilha? Pois é bem difícil um banco com nome possuindo acentuação e cedilha. Outro detalhe seu root não tem senha? É completamente inseguro assim msm?
Responder

Mais Posts

02/12/2020

Raul


// variaveis para acessar o banco de dados
String banco = "inscrições";
String usuario = "root";
String senha = "";
String url = "jdbc:mysql://localhost:3306/" + banco;
String driver = "com.mysql.jdbc.Driver";

O seu banco tem acentos e cedilha? Pois é bem difícil um banco com nome possuindo acentuação e cedilha. Outro detalhe seu root não tem senha? É completamente inseguro assim msm?




Sim, o root não tem senha mesmo, é apenas para um projeto da faculdade... Eu acabei mudando o nome do banco e esse problema foi resolvido, agora estou com o seguinte problema..... acredito que seja algo na linha 1 do código, mas não faço ideia do que seja




HTTP Status 500 – Internal Server Error
Type Exception Report

Message An exception occurred processing [/SITE/gravar.jsp] at line [84]

Description The server encountered an unexpected condition that prevented it from fulfilling the request.

Exception

org.apache.jasper.JasperException: An exception occurred processing [/SITE/gravar.jsp] at line [84]

81: // ele é o responsável por executar o comando do SQL
82: Statement stmt = conexao.createStatement();
83:
84: stmt.executeUpdate (sql);
85:
86: stmt.close();
87: conexao.close();


Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:618)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:500)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:395)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:339)
javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
Root Cause

javax.servlet.ServletException: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '')'' at line 1
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:917)
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:846)
org.apache.jsp.SITE.gravar_jsp._jspService(gravar_jsp.java:189)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:71)
javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:477)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:395)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:339)
javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
Root Cause

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '')'' at line 1
sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
java.lang.reflect.Constructor.newInstance(Unknown Source)
com.mysql.jdbc.Util.handleNewInstance(Util.java:425)
com.mysql.jdbc.Util.getInstance(Util.java:408)
com.mysql.jdbc.SQLError.createSQLException(SQLError.java:944)
com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3933)
com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3869)
com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2524)
com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2675)
com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2465)
com.mysql.jdbc.StatementImpl.executeUpdateInternal(StatementImpl.java:1536)
com.mysql.jdbc.StatementImpl.executeLargeUpdate(StatementImpl.java:2585)
com.mysql.jdbc.StatementImpl.executeUpdate(StatementImpl.java:1464)
org.apache.jsp.SITE.gravar_jsp._jspService(gravar_jsp.java:166)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:71)
javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:477)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:395)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:339)
javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
Note The full stack trace of the root cause is available in the server logs.

Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários. Para saber mais sobre o uso de cookies,
consulte nossa política de privacidade. Ao continuar navegando em nosso site, você concorda com a nossa política.

Aceitar