Classe funciona e jsp não

2 respostas
M
A classe abaixo funciona na linha de comando:
import java.sql.*; 

public class JdbcMysql { 

  public static void main(String args[]) { 
    Connection con = null; 

    try { 
      Class.forName("com.mysql.jdbc.Driver").newInstance(); 
      con = DriverManager.getConnection("jdbc:mysql:///xxxx_db", "xxxx", "xxxx"); 

      if(!con.isClosed()) 
        System.out.println("MySQL server funcionando..."); 

    } catch(Exception e) { 
      System.err.println("Exception: " + e.getMessage()); 
    } finally { 
      try { 
        if(con != null) 
          con.close(); 
      } catch(SQLException e) {} 
    } 
  } 
}
Mas o JSP abaixo dá erro:
<%@ page contentType="text/html" language="java" import="java.sql.*"%> 
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 

<head> 
   <title>Teste de Conexão Jsp e Mysql</title> 
</head> 

<body> 

<% 
      Connection con; 
   Statement stm; 
    
   try { 

      Class.forName("org.gjt.mm.mysql.Driver"); 
      con = DriverManager.getConnection("jdbc:mysql://xxxx_db/teste","xxxx","xxxx"); 
      stm = con.createStatement(); 
      out.println("Conexão efetuada com sucessoem xxxx_db!"); 
          
   } catch (Exception e) { 
      out.println("Não foi possível conectar ao banco" + e.getMessage()); 
   } 
%> 
</body>
O erro é:
type Exception report

message 

description The server encountered an internal error () that prevented it from fulfilling this request.

exception 

javax.servlet.ServletException: org/aspectj/lang/Signature
	org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:845)
	org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:778)
	org.apache.jsp.testeConexao_jsp._jspService(org.apache.jsp.testeConexao_jsp:74)
	org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:99)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:325)
	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295)
	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:245)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:802)


root cause 

java.lang.NoClassDefFoundError: org/aspectj/lang/Signature
	java.lang.Class.forName0(Native Method)
	java.lang.Class.forName(Unknown Source)
	org.apache.jsp.testeConexao_jsp._jspService(org.apache.jsp.testeConexao_jsp:58)
	org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:99)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:325)
	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295)
	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:245)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
E o jconnector está no classpath com o caminho common/lib/

O que está faltando? Parece ser um erro de classpath, mas qual?

2 Respostas

betonit

Será q o jar q tu ta usando “bate” com esse pacote:

Class.forName(“org.gjt.mm.mysql.Driver”);”

só uma sugestão…

Mauricio_Linhares

Você tem que colocar o jar aspectjrt.jar que está dentro da pasta “lib” do arquivo que você baixou com o driver do MySQL.

Criado 22 de junho de 2005
Ultima resposta 23 de jun. de 2005
Respostas 2
Participantes 3