Conexão JSP x mySQL

5 respostas
S

8O

Olá, acho que esta é mais uma daquelas perguntas entediantes e repetitivas…

Estou com o Tomcat 3.3.1 instalado e rodando em Windows 98, estou estudando JSP utilizando o BD mySQL. Não consigo estabelecer uma conexão com o BD, porquê? Logo abaixo descrevo o meu arquivo pelo qual estabeleço conexão entre a minha aplicação e o BD:

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

<%

String cURL = jdbc:mysql://localhost:3306/syshot?useUnicode=true;

Class.forName(org.gjt.mm.mysql.Driver).newInstance();

Connection con = DriverManager.getConnection(cURL,"","");

Statement stm = con.createStatement();

%>

Continuo recebendo erros. Só a título de curiosidade exibo o “dito cujo”:

Error: 500
Location: /sishot/login_adm.jsp
Internal Servlet Error:

javax.servlet.ServletException: org.gjt.mm.mysql.Driver

at org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:460)

at login_adm_1._jspService(login_adm_1.java:103)

at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:119)

at javax.servlet.http.HttpServlet.service(HttpServlet.java)

at org.apache.tomcat.facade.ServletHandler.doService(ServletHandler.java:574)

at org.apache.tomcat.core.Handler.invoke(Handler.java:322)

at org.apache.tomcat.core.Handler.service(Handler.java:235)

at org.apache.tomcat.facade.ServletHandler.service(ServletHandler.java:485)

at org.apache.tomcat.core.ContextManager.internalService(ContextManager.java:917)

at org.apache.tomcat.core.ContextManager.service(ContextManager.java:833)

at org.apache.tomcat.modules.server.Http10Interceptor.processConnection(Http10Interceptor.java:176)

at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:494)

at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:516)

at java.lang.Thread.run(Thread.java:484)

Root cause:

java.lang.ClassNotFoundException: org.gjt.mm.mysql.Driver

at org.apache.tomcat.util.depend.DependClassLoader.loadClassInternal1(DependClassLoader.java:186)

at org.apache.tomcat.util.depend.DependClassLoader12$1.run(DependClassLoader12.java:92)

at java.security.AccessController.doPrivileged(Native Method)

at org.apache.tomcat.util.depend.DependClassLoader12.loadClass(DependClassLoader12.java:90)

at java.lang.ClassLoader.loadClass(ClassLoader.java:253)

at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:313)

at java.lang.Class.forName0(Native Method)

at java.lang.Class.forName(Class.java:120)

at login_adm_1._jspService(login_adm_1.java:55)

at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:119)

at javax.servlet.http.HttpServlet.service(HttpServlet.java)

at org.apache.tomcat.facade.ServletHandler.doService(ServletHandler.java:574)

at org.apache.tomcat.core.Handler.invoke(Handler.java:322)

at org.apache.tomcat.core.Handler.service(Handler.java:235)

at org.apache.tomcat.facade.ServletHandler.service(ServletHandler.java:485)

at org.apache.tomcat.core.ContextManager.internalService(ContextManager.java:917)

at org.apache.tomcat.core.ContextManager.service(ContextManager.java:833)

at org.apache.tomcat.modules.server.Http10Interceptor.processConnection(Http10Interceptor.java:176)

at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:494)

at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:516)

at java.lang.Thread.run(Thread.java:484)

5 Respostas

eltonk

ele não esta achando o driver org.gjt.mm.mysql.Driver…

Tente fazer algo assim:

Connection con = null;

Statement stmt = null;

String sDriver =

org.gjt.mm.mysql.Driver;

try{

Class.forName( sDriver ).newInstance();

}

catch( Exception e )

{

System.err.println ("Falha ao tentar carregar o driver de conexao...");

  return;

} 



try{


  con = DriverManager.getConnection ( cURL,"", "");

  stmt = con.createStatement();

}

catch ( Exception e)

{

  System.err.println( "problemas ao conectar em " + cURL + ":" );
  System.err.println( e.getMessage() );



  if( con != null)

  {

    try { con.close(); }

    catch( Exception e2 ) {}

  }



  return;

}

Se vc fizer a conexao deste modo, você terá mensagens de erro e fica mais fácil descobrir onde está o problema… :wink:

Aproveitando o espaço tb… Como que a galera faz para o código fonte aparecer bunitinha em uma caixinha, sem perder a formatação? =P

Abraços…

eltonk

E outra coisa que eu esqueci de citar…

Você está usando qual ferramenta para desenvolvimento? Eclipse? Gel?

Você não deve esquecer tb de mostrar para o teu projeto que ele deve utilizar mais esse package…

=P

M

Olá…
eu sempre uso uma classe de teste pra verificar se a conexão com o BD está OK. Taí o código:

import java.sql.*;

public class TesteConexao &#123;

	Connection con = null;
	Statement stat = null;
	String user = "root";
	String password = "";
	String servidor = "localhost&#58;3306";
	String banco = "meuBanco";

	public void abreConexao&#40;&#41; &#123; 
		try &#123;
			String driverName = "com.mysql.jdbc.Driver";
			Class.forName&#40;driverName&#41;;
			String url = "jdbc&#58;mysql&#58;//" + servidor + "/" + banco;
			con = DriverManager.getConnection&#40;url, user, password&#41;;
			System.out.println&#40;"conexao OK"&#41;;
		&#125; catch &#40;ClassNotFoundException e&#41; &#123;
			System.out.println&#40;"driver nao encontrado"&#41;;
		&#125; catch &#40;SQLException e&#41; &#123;
			System.out.println&#40;"falha na conexao"&#41;;
		&#125;
	&#125;

	public static void main&#40;String args&#91;&#93;&#41;&#123;
		new TesteConexao&#40;&#41;.abreConexao&#40;&#41;;
	&#125;

&#125;
eltonk

Mineiro,

Qual o comando que você usa para separar o código da mensagem???
Tipo… fazer essa caixa separada com o código? ehheheh :oops: :oops:

M

eltonk,

você deve colocar o código dentro da tag CODE
8O

até

Criado 5 de novembro de 2003
Ultima resposta 6 de nov. de 2003
Respostas 5
Participantes 3