Problema usebean cewolf e erro jsp

0 respostas
F
Bom tenho um projeto Web no Netbeans com os arquivos: ConexaoMysql, ConsumoDiario e a index.jsp. ConexaoMysql
/*
 * ConexaoMysql.java
 *
 * Created on 21 de Junho de 2006, 13:46
 *
 * To change this template, choose Tools | Template Manager
 * and open the template in the editor.
 */

/**
 *
 * @author Fernando
 */
package org.apache.jsp;

import java.sql.*;

import java.io.IOException;
import java.io.InputStream;

import java.util.Properties;

//import org.apache.log4j.Logger;

public class ConexaoMysql {
   
    private static Connection conn;
    private static Statement stm;
    private static PreparedStatement pstm;
    static final String JDBC_DRIVER = "com.mysql.jdbc.Driver";
    static final String DATABASE_URL = "jdbc:mysql://localhost/cmufatual";
   
    /** Creates a new instance of ConexaoMysql */
    public static void Conectar() {
       
        try
        {
            Class.forName(JDBC_DRIVER).newInstance();
            conn = DriverManager.getConnection(DATABASE_URL,"&&&&","******");
            stm = conn.createStatement();
            //pstm = conn.createPreparedStatement();
        }//fim do try
        catch (SQLException sqlException )
    {
        sqlException.printStackTrace();
    }//fim do catch
        catch (InstantiationException e) {
         System.out.println("Não foi possivel instânciar o driver MySQL "
               + e.toString());
      }
        catch (IllegalAccessException e) {
         System.out.println("Não foi possivel instânciar o driver MySQL "
               + e.toString());
      }
        catch (ClassNotFoundException e) {
         System.out.println("Não foi possivel encontrar o driver MySQL "
               + e.toString());
      }
       
    }//fim do metodo conectar
    public static Connection getConn() {
   if (conn == null) {
            Conectar();
        }//fim do if
        return conn;
   }//fim do metodo Connection
   
    public static Statement getStm() {
   if (conn == null) {
            Conectar();
   }

   try {
            stm = conn.createStatement();
   }
        catch (SQLException e) {
      e.printStackTrace();
      System.out.println("Não foi possivel criar um Statement "
      + e.toString());
      }//fim do catch
   return stm;
   }//fim do getStm
   
    public static void fechaConexao() {
   try {
            conn.close();
            }
        catch (SQLException e) {
            e.printStackTrace();
            System.out.println("Não foi possivel fechar a conexão "
            + e.getMessage());
        }//fim do catch
   }//fim do metodo fechaConexao
   
   
   
}
ConsumoDiario
/*
 * ConsumoDiario.java
 *
 * Created on 21 de Junho de 2006, 14:12
 *
 * To change this template, choose Tools | Template Manager
 * and open the template in the editor.
 */

/**
 *
 * @author Fernando
 */
package org.apache.jsp;

import java.sql.*;
import java.util.Date;
import java.util.Map;

import org.jfree.data.general.DefaultPieDataset;
import de.laures.cewolf.DatasetProduceException;
import de.laures.cewolf.DatasetProducer;

public class ConsumoDiario implements DatasetProducer {
   
    /** Creates a new instance of ConsumoDiario */
    // Retorna uma Dataset com os dados que irão alimentar o gráfico
   public Object produceDataset(Map arg0) throws DatasetProduceException {
            // Criando um Dataset para o gráfico
            DefaultPieDataset ds = new DefaultPieDataset();
           
            PreparedStatement pstm = null;
           
            String refFaseA = "0";
            String refFaseB = "0";
            String refFaseC = "0";
            String NomeCarga = "Elevadores"; //tem que vir de uma jsp [request.getparameter("NomeCarga");]
            String Local = "cemig"; // tem que vir de uma jsp
            String data = "2002-01-02"; // tem que vir de uma jsp
            double ValorFaseA = 0;
            double ValorFaseB = 0;
            double ValorFaseC = 0;
            //Aqui vem as legendas dos graficos
            String L1 = "Carga Fase A";
            String L2 = "Carga Fase B";
            String L3 = "Carga Fase C";
            String titulo = "Acumulo de carga em " +data+ " em "+NomeCarga+" da "+ Local;
            //String query1 = "";
            try{
                Connection conexao = ConexaoMysql.getConn();
               
                PreparedStatement VfaseA = conexao.prepareStatement("SELECT autocod FROM carga WHERE fase = 'A' AND nome = ?");
                PreparedStatement VfaseB = conexao.prepareStatement("SELECT autocod FROM carga WHERE fase = 'B' AND nome = ?");
                PreparedStatement VfaseC = conexao.prepareStatement("SELECT autocod FROM carga WHERE fase = 'C' AND nome = ?");
               
                VfaseA.setString(1, NomeCarga);
                VfaseB.setString(1, NomeCarga);
                VfaseC.setString(1, NomeCarga);
                VfaseA.executeQuery();
                VfaseB.executeQuery();
                VfaseC.executeQuery();
                //Captura os valores da consulta para um ResultSet
                ResultSet rs = VfaseA.executeQuery();
                ResultSet rs2 = VfaseB.executeQuery();
                ResultSet rs3 = VfaseC.executeQuery();
                while(rs.next()){
                    refFaseA += rs.getDouble("autocod");
                }
                while(rs2.next()){
                    refFaseB += rs2.getDouble("autocod");
                }
                while(rs3.next()){
                    refFaseC += rs3.getDouble("autocod");
                }
                //System.out.printf("O valor de referência da carga na fase A é:%s\n", refFaseA);
                //System.out.printf("O valor de referência da carga na fase B é:%s\n", refFaseB);
                //System.out.printf("O valor de referência da carga na fase C é:%s\n", refFaseC);
                //Até este ponto o programa capturou o numero da String carga no BD para realizar as consultas no BD com valor
                PreparedStatement QfaseA = conexao.prepareStatement("SELECT valor FROM cemig WHERE carga = ? AND data = ?");
                PreparedStatement QfaseB = conexao.prepareStatement("SELECT valor FROM cemig WHERE carga = ? AND data = ?");
                PreparedStatement QfaseC = conexao.prepareStatement("SELECT valor FROM cemig WHERE carga = ? AND data = ?");
                //Enviando as Strings carga com os novos valores obtidos da consulta anterior
                //QfaseA.setString(1, local);
                //QfaseB.setString(1, local);
                //QfaseC.setString(1, local);
                QfaseA.setString(1, refFaseA);
                QfaseB.setString(1, refFaseB);
                QfaseC.setString(1, refFaseC);
                QfaseA.setString(2, data);
                QfaseB.setString(2, data);
                QfaseC.setString(2, data);
                QfaseA.executeQuery();
                QfaseB.executeQuery();
                QfaseC.executeQuery();
                //armazena valores
                ResultSet rs4 = QfaseA.executeQuery();
                ResultSet rs5 = QfaseB.executeQuery();
                ResultSet rs6 = QfaseC.executeQuery();
                while(rs4.next()){
                    ValorFaseA += rs4.getDouble("valor");
                    //ds.setValue(ValorFaseA);
                   
                }
                while(rs5.next()){
                    ValorFaseB += rs5.getDouble("valor");
                   
                }
                while(rs6.next()){
                    ValorFaseC += rs6.getDouble("valor");
                   
                }
                //System.out.printf("O valor total da carga %s(%s) na Fase A é:%s\n", refFaseA, NomeCarga, ValorFaseA);
                //System.out.printf("O valor total da carga %s(%s) na Fase B é:%s\n", refFaseB, NomeCarga, ValorFaseB);
                //System.out.printf("O valor total da carga %s(%s) na Fase C é:%s\n", refFaseC, NomeCarga, ValorFaseC);
                ds.setValue(L1, ValorFaseA);
                ds.setValue(L2, ValorFaseB);
                ds.setValue(L2, ValorFaseC);
            }
            catch (SQLException e) {
         
      }
            return ds;
        }//fim do objeto
       
        public boolean hasExpired(Map arg0, Date arg1) {
            return true;//para expirar em 5 segundos [return (System.currentTimeMillis() - since.getTime())  > 5000;]
        }//fim do boolean
        public String getProducerId() {
      return "ConsumoDiario";
   }
             
}
index.jsp
<%@page contentType="text/html"%>
<%@taglib uri="/WEB-INF/cewolf-1.1.tld" prefix="cewolf" %>

<html><body>
<h1>Consumo Diário</h1> <hr>

<jsp:useBean id="ConsumoDiario" class="ConsumoDiario" />

<cewolf:chart id="diarioConsumo1" title="Consumo Diário" type="pie">
   <cewolf:data>
     <cewolf:producer id="ConsumoDiario" />
   </cewolf:data>
</cewolf:chart>

<p>
<cewolf:img chartid="diarioConsumo1"
   renderer="cewolf" width="500" height="400" />
<p>
</body></html>
Contudo ao tentar rodar sempre recebo o seguinte erro: type Exception report

message

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

exception

javax.servlet.ServletException: org/apache/jsp/ConsumoDiario
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:259)
javax.servlet.http.HttpServlet.service(HttpServlet.java:860)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:585)
org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:249)
java.security.AccessController.doPrivileged(Native Method)
javax.security.auth.Subject.doAsPrivileged(Subject.java:517)
org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:282)
org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:165)

root cause

java.lang.NoClassDefFoundError: org/apache/jsp/ConsumoDiario
java.lang.Class.getDeclaredConstructors0(Native Method)
java.lang.Class.privateGetDeclaredConstructors(Class.java:2328)
java.lang.Class.getConstructor0(Class.java:2640)
java.lang.Class.newInstance0(Class.java:321)
java.lang.Class.newInstance(Class.java:303)
org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:143)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:319)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:301)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:251)
javax.servlet.http.HttpServlet.service(HttpServlet.java:860)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:585)
org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:249)
java.security.AccessController.doPrivileged(Native Method)
javax.security.auth.Subject.doAsPrivileged(Subject.java:517)
org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:282)
org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:165)

note The full stack trace of the root cause is available in the Sun-Java-System/Application-Server logs.

Alguém poderia me dar uma luz sobre oque está acontecendo com a utilização da minha classe ConsumoDiario? Obrigado

Criado 22 de junho de 2006
Respostas 0
Participantes 1