Erro ao executar exemplo de um livro - RESOLVIDO gracas ao JAKEFROG

14 respostas
douglasmorais

Ola, estou copiando fielmente um exemplo de um livro e esta dando erro.

Sera que o exemplo esta errado ?

<%@page import="com.kayqian.dao.ProductDataBaseBean"%><html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Product Catalog</title>
</head>
<body>
<%
   List  productList = data.getProductList();
   Iterator prodListIterator = productList.iterator();
%>
<p> 
<center>
<h1>DVD CATALOG</h1>
<table border="1">
<thread><tr>
<th>DVD CODE</th>
<th>DVD NAMES</th>
<th>RATE</th>
<th>PRICE</th>
<th>Quantity</th>
<th>AddCart</th>
</tr>
<% while (prodListIterator.hasNext())
	{ 
	  
	  DVD movie =(DVD)prodListIterator.next();
	  String movieQuantity = "movieQuantity";
	
%>
   <tr>
   <form action="/shoppingCart/servlet/addToShoppingCart" = method="POST">
   <td><%= movie.getM_Cod() %></td>
   <td><%= movie.getM_movie() %></td>
   <td><%= movie.getM_rated() %></td>
   <td><%= movie.getM_year() %></td>
   <td><%= movie.getM_price() %></td>
   </form>
   </tr>
   <% } %>
   
</table>
<h1>teste</h1>
</body>
</html>

14 Respostas

douglasmorais

O erro eh o seguinte:

org.apache.jasper.JasperException: Unable to compile class for JSP: 

An error occurred at line: 32 in the jsp file: /showProductCatalog.jsp
DVD cannot be resolved to a type
29: <% while (prodListIterator.hasNext())
30: 	{ 
31: 	  
32: 	  DVD movie =(DVD)prodListIterator.next();
33: 	  String movieQuantity = "movieQuantity";
34: 	
35: %>


An error occurred at line: 32 in the jsp file: /showProductCatalog.jsp
DVD cannot be resolved to a type
29: <% while (prodListIterator.hasNext())
30: 	{ 
31: 	  
32: 	  DVD movie =(DVD)prodListIterator.next();
33: 	  String movieQuantity = "movieQuantity";
34: 	
35: %>


Stacktrace:
	org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:92)
	org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:330)
	org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:439)
	org.apache.jasper.compiler.Compiler.compile(Compiler.java:349)
	org.apache.jasper.compiler.Compiler.compile(Compiler.java:327)
	org.apache.jasper.compiler.Compiler.compile(Compiler.java:314)
	org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:592)
	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:326)
	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:717)


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

E aqui esta o ProductDataBean:

package com.kayqian.dao;

import java.io.Serializable;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;

import com.kayqian.bean.DVD;
import com.sun.org.apache.regexp.internal.recompile;

public class ProductDataBaseBean implements Serializable {
	
	private static Connection connection;
	private PreparedStatement addRecord, getRecords;
	
	
	
	public ProductDataBaseBean() {
		
		this.connection = new ConnectionFactory().getConnection();
	}
	
    public ArrayList getProductList() throws SQLException 
    
    {
    	ArrayList productList = new ArrayList();
    	Statement statement = connection.createStatement();
    	ResultSet results = statement.executeQuery("Select * from products");
    	while (results.next())
    	{
    	 DVD movie = new DVD();
    	 movie.setM_cod(results.getInt(1));
    	 movie.setM_movie(results.getString(2));
    	 movie.setM_rated(results.getString(3));
    	 movie.setM_year(results.getString(4));
    	 movie.setM_price(results.getDouble(5));
    	 movie.setQuantity(results.getInt(6));
    	 productList.add(movie);
    	}
			
		   	
    	return productList;
    }
	
}
Hebert_Coelho

Ou vc não copiou certo ou o livro ta errado. =P

Você não importou a classe DVD, olha a mensagem de erro:

An error occurred at line: 32 in the jsp file: /showProductCatalog.jsp
DVD cannot be resolved to a type

douglasmorais

Mas no livro nao tem import pra classe DVD.

douglasmorais

Deixa eu ver se entendi. Pelo fato do getProductList() retornar um list ao inves de um list de DVD eu teria que ter importado a classe DVD ?

E

vc criou a classe DVD? Se não tem o import, provavelmente o livro diz para criar a classe DVD no mesmo package.

douglasmorais

Com relacao a criar a classe DVD no mesmo pacote nao esta explicito no livro. Vou copiar pro mesmo package pra ver no que da

douglasmorais

Puts… o erro continua…
Estou usando o eclipse e justamente a linha

DVD movie =(DVD)prodListIterator.next();

aparece com aquele sinal vermelho de errado, grifando tanto a palavra DVD quanto (DVD).

Hebert_Coelho

douglasmorais:
Puts… o erro continua…
Estou usando o eclipse e justamente a linha

DVD movie =(DVD)prodListIterator.next();

aparece com aquele sinal vermelho de errado, grifando tanto a palavra DVD quanto (DVD).


Novamente, faça o import da classe. O livro está errado, acontece. [=

douglasmorais

Amigo, muito obrigado por sua atencao. Fiz o import e o erro mudou.

type Exception report

message 

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

exception 

org.apache.jasper.JasperException: java.lang.ClassCastException: com.kayqian.bean.DVD cannot be cast to com.kayqian.dao.DVD
	org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:500)
	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:428)
	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:717)


root cause 

java.lang.ClassCastException: com.kayqian.bean.DVD cannot be cast to com.kayqian.dao.DVD
	org.apache.jsp.showProductCatalog_jsp._jspService(showProductCatalog_jsp.java:96)
	org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:386)
	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:717)


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

Fez o import da classe errada:

douglasmorais

Valeu cara !!!

Acho que se nao fosse a camaradagem de voces aqui do GUJ eu ja teria desistido de aprender java.

Grande Abraco

E Boas Festas !!!

getAdicted

Boa noite,

#RiAlto

Eu acompanho o fórum todos os dias, o mineiro eh fera e ajuda msm. Parabens.

[]'s

Hebert_Coelho

getAdicted:
Boa noite,

#RiAlto

Eu acompanho o fórum todos os dias, o mineiro eh fera e ajuda msm. Parabens.

[]'s


haha valeu.

Se a gente aprendeu, custa nada compartilha né?! xD

Criado 13 de dezembro de 2011
Ultima resposta 13 de dez. de 2011
Respostas 14
Participantes 4