Problemas acessar Banco de dados

4 respostas
jsnpereira

Olá! Feliz Natal para vcss....

Já testamos e corrigindo os códigos mas continuando dando erros de acesso do banco de dados. é para informar os produtos na telas.

Informação de erro
Erro de acesso Banco de dados
java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
	at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1516)
	at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1361)
	at java.lang.Class.forName0(Native Method)
	at java.lang.Class.forName(Unknown Source)
	at persistencia.ProdutosDAO.listar(ProdutosDAO.java:20)
	at org.apache.jsp.produtos_jsp._jspService(produtos_jsp.java:69)
	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:852)
	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)
Ok linha
ProdutdosDAO // Acessar Banco de dados e buscar as informações...
public class ProdutosDAO {
	public ArrayList<produtos> listar(){
		
		ArrayList<produtos > al = new ArrayList<produtos>();
		
		try {
			Class.forName("com.mysql.jdbc.Driver");
			
			Connection conn = DriverManager.getConnection("jdbc:mysql://localhost/lojavirtual","root","");
			
			Statement st = conn.createStatement();
			
			ResultSet rs = st.executeQuery("select * from tbl_produtos order by nome");
			
			while (rs.next()){
				produtos pt = new produtos();
				pt.setCod(rs.getInt("cod"));
				pt.setNome(rs.getString("nome"));
				pt.setImagem(rs.getString("img"));
				pt.setPreco(rs.getDouble("preco"));
				
				al.add(pt);
				
			}
		} catch (ClassNotFoundException e) {
			System.err.println("Erro de acesso Banco de dados");
			e.printStackTrace();
		} catch (SQLException e) {
			System.err.println("Erro de acesso da tabelas");
			e.printStackTrace();
		}
		
		return al;
	}
}
Classe Produtos
public class produtos {
	private int cod;
	private String nome;
	private String imagem;
	private double preco;
	public int getCod() {
		return cod;
	}
	public void setCod(int cod) {
		this.cod = cod;
	}
	public String getNome() {
		return nome;
	}
	public void setNome(String nome) {
		this.nome = nome;
	}
	public String getImagem() {
		return imagem;
	}
	public void setImagem(String imagem) {
		this.imagem = imagem;
	}
	public double getPreco() {
		return preco;
	}
	public void setPreco(double preco) {
		this.preco = preco;
	}
}
produtos.jsp // informação visual
<body>
<%
ProdutosDAO ptDao = new ProdutosDAO();
ArrayList<produtos> pt = ptDao.listar();
%>
<center>
<h1>Lista do produtos</h1>
<table>
<%
for(int i=0;i <pt.size();i++){
%>
<tr>
	<%for(int a=0; a<4;a++){ %>
	<td>
	<img src="imagem/<%=pt.get(i).getImagem()%>"><br>
	Nome: <%=pt.get(i).getNome() %><br>
	Preço: R$<%=pt.get(i).getPreco() %><br>
	Compras
	</td>
	
	<%} System.out.println("Ok coluna"); %>
</tr>
<%} System.out.println("Ok linha"); %>
</table>
</center>
</body>

Espero que vcs me ajudem...

4 Respostas

Andre_Rosa

Feliz Natal! O que faz a linha:

Statement st = conn.createStatement();

?

C

Essa linha aqui já diz tudo: java.lang.ClassNotFoundException: com.mysql.jdbc.Driver, ou seja, ele não encontrou o jar do conector do MySQL, você baixou o jar do conector do mysql e adicionou ao classpath do projeto?

jsnpereira

Acabei de lembrar que tinha esquecido colocar Driver na pasta, e ai apareceu outro erro… Já verifiquei e não encontramos… veja em baixo.

An error occurred at line: 1 in the generated java file
The type encapulsamento.produtos cannot be resolved. It is indirectly referenced from required .class files

An error occurred at line: 8 in the generated java file
The import encapulsamento.produtos cannot be resolved

An error occurred at line: 15 in the jsp file: /produtos.jsp
produtos cannot be resolved to a type
12: <body>
13: <%
14: ProdutosDAO ptDao = new ProdutosDAO();
15: ArrayList<produtos> pt = ptDao.listar();
16: %>
17: <center>
18: <h1>Lista do produtos</h1>


Stacktrace:
	at org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:92)
	at org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:330)
	at org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:439)
	at org.apache.jasper.compiler.Compiler.compile(Compiler.java:349)
	at org.apache.jasper.compiler.Compiler.compile(Compiler.java:327)
	at org.apache.jasper.compiler.Compiler.compile(Compiler.java:314)
	at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:589)
	at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:317)
	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:852)
	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)

Mesma tudo codigos em cima…

jsnpereira

Não conseguiu encontrou essa solução problemas?

Já tentamos várias vezes nem encontramos um… estou esperando a ajudar para resolver a problemas…

Obrigado!

Criado 25 de dezembro de 2010
Ultima resposta 27 de dez. de 2010
Respostas 4
Participantes 3