Dúvida em JSP básico

3 respostas
jrmetal666

bem pessoal eu to iniciando estudos em java web e enquato tentava fazer um exercicio obtive esse erro aqui quanto tentei rodar no tomcat 6

-------------------------------------------------------------------------------------------------------//------------------------------------------------------------------

HTTP Status 500 -

type Exception report

message

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

exception

org.apache.jasper.JasperException: An exception occurred processing JSP page /lista-jsp.jsp at line 13

10:


    11:
    12: <%
    13: ContatoDAO dao = new ContatoDAO();
    14: List contatos = new ArrayList();
    15:
    16: for (Contato contato:contatos){
    Stacktrace:
    
    org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:505)
    
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:398)
    
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:337)
    
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
    
    javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    

    root cause

    javax.servlet.ServletException: java.sql.SQLException: com.mysql.jdbc.Driver
    
    org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:850)
    
    org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:779)
    
    org.apache.jsp.lista_002djsp_jsp._jspService(lista_002djsp_jsp.java:96)
    
    org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
    
    javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374)
    
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:337)
    
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
    
    javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    

    root cause

    java.sql.SQLException: com.mysql.jdbc.Driver
    
    JDBC.ConnectionFactory.getConnection(ConnectionFactory.java:13)
    
    JDBC.ContatoDAO.(ContatoDAO.java:18)
    
    org.apache.jsp.lista_002djsp_jsp._jspService(lista_002djsp_jsp.java:68)
    
    org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
    
    javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374)
    
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:337)
    
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
    
    javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    

    note The full stack trace of the root cause is available in the Apache Tomcat/6.0.16 logs.

    -------------------------------------------------------------------------------------------------------//------------------------------------------------------------------

    Meu código é esse aqui

    -------------------------------------------------------------------------------------------------------//------------------------------------------------------------------

    <%<a class="mention" href="/u/page">@page</a> pageEncoding=“Cp1252” contentType=“text/html; charset=Cp1252 %>
    
    <%@ page import=JDBC.<em>"%>
    
    <%@ page import="java.util.</em>”%>
    
    Método Get Lista através de JSP's
<% 
			ContatoDAO dao = new ContatoDAO();
			List<Contato> contatos = new ArrayList();
			
			for (Contato contato:contatos){
 		%>
 		
 		<li><%=contato.getNome()%><br>,<%=contato.getEmail()%>:<br><%=contato.getEndereco()%></li>
 		
 		<%
 		 }
 		 %>
	</ul>
</body>

-------------------------------------------------------------------------------------------------------//------------------------------------------------------------------

Valeu desde já …

3 Respostas

F

Olá vc conseguiu rodar o mesmo sql que a aplicação executa em outro aplicativo (SQL Plus, SQL Developer)?

maiconramones

jrmetal666 esse erro que está acontencendo tem como causa o teu driver jdbc do mysql posta o teu dao ai pra gente dar uma olhada.

Outra coisa é o teu código

<blockquote>List contatos = new ArrayList();

for (Contato contato:contatos){ </blockquote>

O teu for não vai rolar porque a tua lista ta vazia… sem nenhum objeto do tipo Contato…

Abraço,

jrmetal666

Bem …
sim … eu tenho contatos cadastrados no meu sql de teste e tenho uma classe q faz o mesmo q esse jsp …
aqui vai uma imagem da classe rodando:

------------------------------------------------------------------------------------------//-------------------------------------------------------------------------------------

e aqui vai o codido dessa classe

------------------------------------------------------------------------------------------//-------------------------------------------------------------------------------------

package br;

import java.sql.SQLException;
import java.util.List;

public class testaListaDAO {

/**
 * @param args
 */
public static void main(String[] args) throws SQLException{
	
	
	ContatoDAO dao = new ContatoDAO();
	
	List<Contato> contatos = dao.getLista();
	
	for (Contato contato : contatos ){
		
		System.out.println("Nome: " + contato.getNome());
		System.out.println("Email: " + contato.getEmail());
		System.out.println("Endereço: " + contato.getEndereco()+ "\n");
		
	}

}

}

------------------------------------------------------------------------------------------//-------------------------------------------------------------------------------------

Codigo da classe ContatoDAO

------------------------------------------------------------------------------------------//-------------------------------------------------------------------------------------

package br;

import java.sql.Connection;

import java.sql.PreparedStatement;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.util.ArrayList;

import java.util.List;

import br.Contato;

public class ContatoDAO {

// a conexão com o banco de dados

private Connection connection;
public ContatoDAO() throws SQLException {
	this.connection = ConnectionFactory.getConnection();
}

public void adiciona(Contato contato) throws SQLException {
	// prepared statement para inserção
	PreparedStatement stmt = this.connection.prepareStatement("insert into contatos (nome,email,endereco) values (?, ?, ?)");
	// seta os valores
	stmt.setString(1,contato.getNome());
	stmt.setString(2,contato.getEmail());
	stmt.setString(3,contato.getEndereco());
	// executa
	stmt.execute();
	stmt.close();
	}

public List <Contato> getLista() throws SQLException{
	
	PreparedStatement stmt = this.connection.prepareStatement("SELECT * FROM contatos");
	ResultSet rs = stmt.executeQuery();
	
	ArrayList <Contato> contatos = new ArrayList<Contato>();
	
	while (rs.next()){
		
		Contato contato = new Contato();
		contato.setNome(rs.getString("nome"));
		contato.setEmail(rs.getString("email"));
		contato.setEndereco(rs.getString("endereco"));
		
		contatos.add (contato);
		
	}
	
	stmt.close();
	rs.close();
	
	return contatos;
}

}

------------------------------------------------------------------------------------------//-------------------------------------------------------------------------------------

Novamente valeu desde já a todos …

Criado 14 de março de 2008
Ultima resposta 14 de mar. de 2008
Respostas 3
Participantes 3