Erro inclusao na segunda tentativa

5 respostas
D

[color=darkblue][/color]

ola pessoal, estou fazendo um cadastro pela primeira vez - estou depurando pelo eclipse - quando incluo pela primeira vez funciona perfeitamente, ao tentar incluir novamente dah o seguinte erro:

Source not found for ApplicationFilterChain.internalDoFilter(ServletRequest, ServletResponse) line: 271

[list]
*pacotes que tenho na pasta lib do meu projeto
xrecesimpl.jar
xalan.jar
standard.jar
saxpath.jar
sax.jar
postgresql-8.0.310.jdbc2ee.jar
jstl.jar
jdbc2.0-stext.jar
jaxp-api.jar
jaxen-full.jar
dom.jar
[/list]

ps: este erro acontece na linha
return cnn.save("insert into task (tasdescription) values ('" + strDescription + "')");
pelo que parece

classe Conexao
package br.metasolucoes;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

/*
 * Created on Oct 11, 2004
 * @author darlan
 */

public class Conexao {
	//conexao ao banco
	private Connection cnn = null;
	private final String sUrl = "jdbc:postgresql://localhost:5432/pso";
	private final String sUser = "darlan";
    private final String sPwd = "123";
    private String sQuery;
    private Statement st;
    
    /**
     * metodo construtor da conexao 
     */
    public Conexao (){
		try	{		
			Class.forName("org.postgresql.Driver"); 
			cnn = DriverManager.getConnection(sUrl, sUser, sPwd);			
		} catch (ClassNotFoundException cnfex) {
			System.err.println("Falha ao carregar o driver JDBC/PostgreSQL");
            cnfex.printStackTrace();
            System.exit(1);  // termina o programa
		} catch (SQLException sqlex){
            System.err.println( "Nao foi possivel conectar" );
            sqlex.printStackTrace();
            System.exit(1);  // termina o programa
        }	
	}
	
	public synchronized boolean save(String strQuery) {	    	    	   	    
	    try {	        
	        st =  cnn.createStatement();	        
	        st.executeUpdate(strQuery);	 
	        //st.close();
	        return true;
		} catch (SQLException e){		    		     
		    System.err.println( "erro no metodo de inclusao" );
            e.printStackTrace();
            return false;
		}
	    
	}
	
	/**
	 * metodo de exclusao
	 * @param sString sql para exclusao
	 * @return return true se sucesso
	 */
	
	public synchronized boolean delete(String strQuery){	
	    return save(strQuery);	     
	}
	
	public synchronized ResultSet query(String strQuery)
	{		         				
		ResultSet rs;
		try	{			
			
			Statement stm =  cnn.createStatement();			
			rs = stm.executeQuery(strQuery);			
			
			boolean moreRecords = rs.next();
			if (!moreRecords){
				//JOptionPane.showMessageDialog(null, "Nao foi encontrado nenhum registro");								
			}
			return rs;
		}catch (SQLException sqlex){
			System.err.println( "consulta: string conexao invalida" );
			sqlex.printStackTrace();
			
			return null;			
		}			
	}	
	
	public void close(){
		 try {		    
		     if (st!=null){
		         st = null;		     
		         cnn.close();
		     }
        } catch (Exception e) {
            e.printStackTrace();
        } 
	}
}
classe TaskServlet
/**
 * Created on 12/04/2005
 * servlet responsavel pelo cadastro das tarefas
 */

import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import br.metasolucoes.Conexao;

public class TaskServlet extends HttpServlet{
    
    private Conexao cnn = new Conexao();
    
    /**
	 * variables fields
	 */
	private String strDescription, strAcao; 
	
	/*
	 * propriedades 	 
	 */
	
	/**
	 * propriedade descricao
	 */
	public void setDescription(String strDescription){
		this.strDescription = strDescription;
	}
	public String getDescription(){return strDescription;}
	
	// fim propriedades
   
	/*
    
	public void doGet(HttpServletRequest req, HttpServletResponse res)
    throws IOException, ServletException{
	    //	  define o tipo de conteudo que sera devolvido
        res.setContentType("text/html");        
        PrintWriter out = res.getWriter();
                        
    }
    */
    
    public void doPost(HttpServletRequest req, HttpServletResponse res)
    throws IOException, ServletException{
        res.setContentType("text/plain");
        
        strDescription = req.getParameter("tasdescription");
        strAcao = req.getParameter("setAcao");
        
        if (action(strAcao)==true) {
            res.sendRedirect("ok.jsp");
        }else{           
            res.sendRedirect("errobd.jsp");
        }
        //doGet(req, res);
        destroy();
    }
       
    public void destroy(){
        if (cnn!=null){
            cnn.close();
            cnn=null;
        }
        
    }
    
    /**
     * metodo de acao (inclui, exclui, edita)     
     */
    
	public boolean action(String strAcao){
	    System.out.println("valor descricao:" + strDescription);
	    if (strAcao.equals("1")) {
	        return cnn.save("insert into task (tasdescription) values ('" + strDescription + "')");	        
	    } else if (strAcao.equals("2")) {
	        return cnn.save("update task set tasdescription = '" + strDescription + "'");
	    } else if (strAcao.equals("3")) {	        
	    }		    
	    return true;
	    
	}
    	
}

chamada
task.jsp

<form name="task" method="post" action="TaskServlet?setAcao=1" >

desde ja agradeço!

5 Respostas

Rafael_Steil

Clica com o botao direito do mouse no nome do projeto, vai em Properties -> Java build Path -> Source

entao adiciona o diretorio com codigo fonte na lista (a raiz do teu package)

Rafael

fmeyer

Uma vez eu tive um problema parecido que foi por inconcistencia de chave primaria …

De uma olhada la … :slight_smile:

Rafael_Steil

“Source not found for XXX” acontece quando voce esta debugando no Eclipse e esta com algum problema na configuracao do projeto. Ele tenta pegar o .java do .class que esta com o breakpoint e falha.

Rafael

fmeyer

Meim vi o erro do eclipse … achei que poderia ser um erro de Chave …

D

opa,
não eh problema de chave. fiz um teste, criei uma tabela sem chave primaria
soh com o campo tasdescription e da o mesmo erro

outra coisa que aparece tambem(abre uma janela)

The project: projeto which is referenced by the classpath, does not

‘projeto’ eh o nome do meu projeto

quando reinicio o tomcat ele volta a funcionar, tanto faz se testo por dentro do eclipse ou não
exist. :frowning:

entao adiciona o diretorio com codigo fonte na lista (a raiz do teu package)

Rafael


diretorio com o codigo fonte de que??

Criado 20 de abril de 2005
Ultima resposta 20 de abr. de 2005
Respostas 5
Participantes 3