[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
[code]/**
- 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;
}
}
[/code]
chamada
task.jsp
<form name=“task” method=“post” action=“TaskServlet?setAcao=1” >