Falha ao conectar ao banco Mysql com JSP {RESOLVIDO}

Tentei… mas nao consegui, preciso da ajuda da comunidade… Este código funciona normalmente em uma classe comum, consigo ter acesso as informacoes do meu banco… mas via JSP nao dá sinal algum de vida…

Imagino ser alguma coisa com meu Driver, pois o Console obteve esta saída: java.lang.ClassNotFoundException: com.mysql.jdbc.Driver

Alguém tem um Socorro??

[code]<%@page language=“java”
import=“java.io.,java.sql.,javax.sql.,javax.naming.”%>

Modelo
<%
	Class.forName("com.mysql.jdbc.Driver").newInstance();

	Connection con = DriverManager
			.getConnection("jdbc:mysql://localhost/melzometrodb?user=root&password=root");

	Statement stm = con.createStatement();

	String SQL = "SELECT * FROM ataqueanimal";

	ResultSet rs = stm.executeQuery(SQL);

	while (rs.next()) {

		String data = rs.getString("data");
		String hora = rs.getString("hora");
		String local = rs.getString("local");
		String causas = rs.getString("causas");
		String efeitos = rs.getString("efeitos");

		out.println("Data: " + data + " Hora: " + hora + " Local: "
				+ local + " Causas: " + causas + " Efeitos: " + efeitos);
	}
%>
[/code]

Este é o resultado do Console

16/08/2011 15:56:38 org.apache.catalina.core.StandardWrapperValve invoke GRAVE: Servlet.service() for servlet jsp threw exception java.lang.ClassNotFoundException: com.mysql.jdbc.Driver at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1645) at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1491) at org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:128) at org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:66) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Unknown Source) at org.apache.jsp.modelo_jsp._jspService(modelo_jsp.java:66) at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:377) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260) at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:857) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489) at java.lang.Thread.run(Unknown Source)

Oi!

Que container Web está utilizando?
E não é sua imaginação, é o seu driver. Simplesmente não encontrou a classe referente ao seu driver de conexão ao banco de dados MySQL.
Adicione o JAR do driver ao seu contexto Web e efetue o teste novamente.

Só assim, esse modo de programar, jogando ResultSet e etc dentro de uma página JSP é uma péssima forma de programação.
Dá uma pesquisa sobre MVC e busque separar bem as camadas.

Abraços.

[quote=nel]Oi!

Que container Web está utilizando?
E não é sua imaginação, é o seu driver. Simplesmente não encontrou a classe referente ao seu driver de conexão ao banco de dados MySQL.
Adicione o JAR do driver ao seu contexto Web e efetue o teste novamente.

Só assim, esse modo de programar, jogando ResultSet e etc dentro de uma página JSP é uma péssima forma de programação.
Dá uma pesquisa sobre MVC e busque separar bem as camadas.

Abraços.[/quote]

Sempre que uso banco de dados gerenciando aplicacoes locais eu adciono no Java Build Path do Eclipse o mysql-connector-java-5.1.0-bin.jar, porém em uma JSP nao funcionou… o que faço agora? perdoe-me mas preciso de bastante ajuda em Java

Oi!

Isso depende do container Web que está utilizando ou simplesmente adicionar no WEB-INF do seu projeto, senão me engano. :smiley:

Cara, crie uma classe somente para conexao com o banco.

com os metodos, abreconexao(), fechaconexao().

Daí fica mais facil de você trabalhar.

Como você disse, em uma classe comum ele funcinou né?

Ai no JSP vc adiciona um import para essa classe.

Instancia ela e depois só chama os métodos!

Se você for manter todos esses códigos para acesso a dados e conexão com o banco dentro dos seus .jsp. não vai fazer sentido pois você não poderá aproveita-los em um outro momento!

Senhores, muito obrigado pela atencão, já lhes sou grato pelo tempo dedicado.

Criei a minha Classe abreconexao, funciona, consigo acessar meu banco de dados… mas… como faco para acessar as variaveis que estao dentro do bloco “while” de uma nova classe que preciso criar??

Exemplo: A classe Teste chama as variaveis data, local que estao outrora dentro do bloco do :while"

[quote=cavibr]Senhores, muito obrigado pela atencão, já lhes sou grato pelo tempo dedicado.

Criei a minha Classe abreconexao, funciona, consigo acessar meu banco de dados… mas… como faco para acessar as variaveis que estao dentro do bloco “while” de uma nova classe que preciso criar??

Exemplo: A classe Teste chama as variaveis data, local que estao outrora dentro do bloco do :while"[/quote]

Oi!

Primeiro passo é resolver esse tópico.
O tópico diz respeito ao fato de você não conseguir realizar uma conexão ao seu banco de dados, então vem a pergunta, isso está resolvido?

1 - Sim? Ok, adicione [Resolvido] ao fim do seu tópico e abre outro com a(s) nova(s) dúvida(s)

2 - Não? Muito bem, pergunto novamente, qual container Web está utilizando ? Tomcat, JBoss, Glassfish?

3 - Não? Adicionou o JAR ao WEB-INF do seu projeto?

Abraços.

[quote]1 - Sim? Ok, adicione [Resolvido] ao fim do seu tópico e abre outro com a(s) nova(s) dúvida(s)

2 - Não? Muito bem, pergunto novamente, qual container Web está utilizando ? Tomcat, JBoss, Glassfish?

3 - Não? Adicionou o JAR ao WEB-INF do seu projeto?

Abraços.[/quote]

1 - Falha ao conectar ao banco Mysql com JSP, isto não foi resolvido, estou procurando seguir alguns conselhos de nossos amigos.

2 - Tomcat

3 - Adcionei o Jar as libraries do BuildPath das propriedades do projeto

pode explicar melhor esse acesso à variável que você precisa?

Oi!

Basicamente é isso: <TOMCAT_HOME>/webapps/myApp/WEB-INF/lib

Quando o Tomcat for inicializado, vai carregar o seu JAR no Classpath e terás acesso a classe do driver :slight_smile:

[quote=EduFranzoni]pode explicar melhor esse acesso à variável que você precisa?

[/quote]

vou rever o meu código… e criar um outro tópico, este realmente está fugindo demais do tema proposto no título…

Grato a Todos.

[quote=nel]Oi!

Basicamente é isso: <TOMCAT_HOME>/webapps/myApp/WEB-INF/lib

Quando o Tomcat for inicializado, vai carregar o seu JAR no Classpath e terás acesso a classe do driver :)[/quote]

vou fazer este teste daqui a pouquinho

[quote=nel]Oi!

Basicamente é isso: <TOMCAT_HOME>/webapps/myApp/WEB-INF/lib

Quando o Tomcat for inicializado, vai carregar o seu JAR no Classpath e terás acesso a classe do driver :)[/quote]

FUNCIONANDO via JSP!

Agradecimento a todos… era o driver inexistente na pasta lib