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
<%
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)
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.
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
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?