Apostila Caelum - Duvidas - Java para Web

4 respostas
rollei

Ae pessoal, para evitar de criar muitos topicos toda vez que eu tiver uma duvida ... vou criar esse topico. Minha experiencia em java nao eh muito grande, antes eu programava em php, dephi e c/c++

Entao se eu fizer algumas perguntas idiotas, relevem :)

primeiramente vou explicar a estrutura do projeto. por enquanto existem 4 pacotes br.com.bernardo.jdbc, br.com.bernardo.jdbc.dao, br.com.bernardo.jdbc.modelo e br.com.bernardo.servlet.

- no pacote br.com.bernardo.jdbc existe a classe ConnectionFactory e algumas classes de teste
- no pacote br.com.bernardo.jdbc.dao existe a classe AlunoDAO (essa classe faz o acesso ao banco) e alguns testes
- no pacote br.com.bernardo.jdbc.modelo exite a classe Aluno essa classe eh o modelo da tabela (aluno) na qual estou fazendo os testes com todos os getters e setters
- no pacote br.com.bernardo.servlet tem alguns servlets de teste

existe uma pasta web que tem os arquivos .jsp e dentro da pasta web tem a pasta WEB-INF que tem o arquivo web.xml que faz o mapeamento dos servlets.

ok. minha primeira pergunta.

estou tendo para exibir a tabela aluno (com os campos: id, nome, escola e endereco) do banco usando jsp. criei um arquivo dentro da pasta web com o nome: lista-scriptlet.jsp

<%@ page import="java.util.*,br.com.bernardo.jdbc.*,br.com.bernardo.jdbc.dao.*,br.com.bernardo.jdbc.modelo.*" %>
<html><ul>
	<%
	AlunoDAO dao = new AlunoDAO();
	List alunos = dao.getLista();
	for (int i = 0; i < alunos.size(); i++ ) {
		Aluno aluno = (Aluno) alunos.get(i);
	%>
	<li><%=aluno.getNome()%>, <%=aluno.getEscola()%>:
			<%=aluno.getEndereco()%></li>
	<%
	}
	%>
</ul></html>

mas estou recebendo essa mensagem de erro

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: Exception in JSP: /lista-scriptlet.jsp:4

1: <%@ page import="java.util.*,br.com.bernardo.jdbc.*,br.com.bernardo.jdbc.dao.*,br.com.bernardo.jdbc.modelo.*" %>
2:


    3: <%
    4: AlunoDAO dao = new AlunoDAO();
    5: List alunos = dao.getLista();
    6: for (int i = 0; i < alunos.size(); i++ ) {
    7: Aluno aluno = (Aluno) alunos.get(i);

    Stacktrace:
    org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:467)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:371)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:315)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:803)

    root cause

    javax.servlet.ServletException: com.mysql.jdbc.Driver
    org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:846)
    org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:779)
    org.apache.jsp.lista_002dscriptlet_jsp._jspService(lista_002dscriptlet_jsp.java:76)
    org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:328)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:315)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:803)

    root cause

    java.sql.SQLException: com.mysql.jdbc.Driver
    br.com.bernardo.jdbc.ConnectionFactory.getConnection(ConnectionFactory.java:16)
    br.com.bernardo.jdbc.dao.AlunoDAO.(AlunoDAO.java:23)
    org.apache.jsp.lista_002dscriptlet_jsp._jspService(lista_002dscriptlet_jsp.java:50)
    org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:328)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:315)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:803)

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

alguem pode me dar uma luz?

[]'s

4 Respostas

leofernandesmo

O Driver de conexão…??Vc colocou no classpath?

rollei

sim, eu jah adicionei o driver do mysql (mysql-connector-java-5.1.5-bin)

edit: tanto que jah fiz classes de teste para inserir, alterar, deletar etc e etc

as alteracoes no banco tao blz nos .java … agora nao ta funcionando eh esse scriptlet :confused:

leofernandesmo

Cara o Stacktrace te diz muita coisa…

<blockquote> java.sql.SQLException: com.mysql.jdbc.Driver

br.com.bernardo.jdbc.ConnectionFactory.getConnection(ConnectionFactory.java:16)

br.com.bernardo.jdbc.dao.AlunoDAO.(AlunoDAO.java:23)

org.apache.jsp.lista_002dscriptlet_jsp._jspService(lista_002dscriptlet_jsp.java:50)</blockquote>

Aparentemente, parece erro no Driver de conexão…mas como vc já fez os testes então deve está ok.
Se vc ver na segunda linha o erro está no método ConnectionFactory.getConnection() que foi chamado pelo AlunoDAO. Coloca um breakpoint vai debugando que vc consegue achar o problema.

marciofermino

Amigo tenta colocar o drive
dentro do
commons lib do tomcatr
eu tinha esse problema ai coloquei o drive ai resolveu;

Criado 25 de fevereiro de 2008
Ultima resposta 25 de fev. de 2008
Respostas 4
Participantes 3