Servlet + sqlite

Olá pessoal,

Estou com um master problema…
Estou testando uma aplicação aqui, e não posso instalar um banco de dados na máquina
entao decidi usar o Sqlite
até aí tudo bem

fiz uma classe teste e ela funcionou perfeitamente quando a testei como javaapplication

porem quando tento acessar o banco usando o servlet
ele me da o seguinte erro:

java.sql.SQLException: no such table: palavras

onde palavras é o nome da tabela que eu quero acessar…

alguém sabe o que pode ser?

Posta os códigos da classe teste e da servlet…

classe Teste

Connection con = ConnectionGerman.getConnection();	
		PalavraDao dao = new PalavraDao();
		List<Palavras> p = dao.getLista();
		for(int i=0; i<p.size(); i++){
			System.out.println(p.get(i).getPalavra());
		}

Servlet

protected void doGet(HttpServletRequest req, HttpServletResponse resp)
			throws ServletException, IOException {
		PrintWriter pw = resp.getWriter();
		pw.print("<html>");
		pw.print("blaaa!!!");
		PalavraDao dao = new PalavraDao();
		List<Palavras> p = dao.getLista();
		for(int i=0; i<p.size(); i++){			
			pw.print(p.get(i).getPalavra());
		}
		pw.print("</html>");
	}

a servlet ta porca pq é um teste pra ver se funciona… hehehe

São idênticas…
Pode postar a DAO e a tabela do banco?

pois é… por isso meu desespero…

Classe Dao

public class PalavraDao {

    Connection con;

    public PalavraDao() {
        con = ConnectionGerman.getConnection();
    }

    public Palavras getPalavra(String palavra) {
        String sql = "select * from palavras where palavra=?";
        Palavras p = new Palavras();
        try {
            PreparedStatement stmt = con.prepareStatement(sql);
            stmt.setString(1, palavra);
            ResultSet rs = stmt.executeQuery();

            while (rs.next()) {
                p.setId(rs.getInt("id"));
                p.setPalavra(rs.getString("palavra"));
                p.setPlural(rs.getString("plural"));
                p.setGenero(rs.getString("genero"));
                p.setTraducao(rs.getString("traducao"));
                p.setArtAcuSing(rs.getString("artAcuSing"));
                p.setArtAcuPlu(rs.getString("artAcuPlu"));
                p.setArtAcuSing(rs.getString("artAcuSing"));
                p.setArtDatPlu(rs.getString("artDatPlu"));
                p.setArtDatSing(rs.getString("artDatSing"));
                p.setArtGenPlu(rs.getString("artGenPlu"));
                p.setArtGenSing(rs.getString("artGenSing"));
                p.setArtNomPlu(rs.getString("artNomPlu"));
                p.setArtNomSing(rs.getString("artNomSing"));
                p.setIndAcuSing(rs.getString("indAcuSing"));
                p.setIndDatSing(rs.getString("indDatSing"));
                p.setIndGenSing(rs.getString("indGenSing"));
                p.setIndNomSing(rs.getString("indNomSing"));
            }
        } catch (SQLException e) {
        }
        return p;
    }

    public void inserePalavra(Palavras p) {
        String sql = "insert into palavras"
                + "(palavra, traducao, genero, artDatSing, artDatPlu,"
                + "artNomSing, artNomPlu, artGenSing, artGenPlu,"
                + "artAcuSing, artAcuPlu, indAcuSing, indGenSing, indNomSing, indDatSing, plural)"
                + "values"
                + "(?, ?, ?, ?, ?,"
                + "?, ?, ?, ?,?, ?,?, ?,?, ?, ?)";
        try {
            PreparedStatement stmt = con.prepareStatement(sql);
            stmt.setString(1, p.getPalavra());
            stmt.setString(2, p.getTraducao());
            stmt.setString(3, p.getGenero());
            stmt.setString(4, p.getArtDatSing());
            stmt.setString(5, p.getArtDatPlu());
            stmt.setString(6, p.getArtNomSing());
            stmt.setString(7, p.getArtNomPlu());
            stmt.setString(8, p.getArtGenSing());
            stmt.setString(9, p.getArtGenPlu());
            stmt.setString(10, p.getArtAcuSing());
            stmt.setString(11, p.getArtAcuPlu());
            stmt.setString(12, p.getIndDatSing());
            stmt.setString(13, p.getIndNomSing());
            stmt.setString(14, p.getIndGenSing());
            stmt.setString(15, p.getIndAcuSing());
            stmt.setString(16, p.getPlural());

            stmt.execute();
            stmt.close();

        } catch (SQLException e) {
            e.printStackTrace();
        }

    }

    public List<Palavras> getLista() {
        List<Palavras> palavras = new ArrayList<Palavras>();
        try {
            PreparedStatement stmt = con.prepareStatement("select * from palavras  order by palavra");
            ResultSet rs = stmt.executeQuery();
            while (rs.next()) {
                Palavras p = new Palavras();
                p.setId(rs.getInt("id"));
                p.setPalavra(rs.getString("palavra"));
                p.setPlural(rs.getString("plural"));
                p.setGenero(rs.getString("genero"));
                p.setTraducao(rs.getString("traducao"));
                p.setArtAcuSing(rs.getString("artAcuSing"));
                p.setArtAcuPlu(rs.getString("artAcuPlu"));
                p.setArtAcuSing(rs.getString("artAcuSing"));
                p.setArtDatPlu(rs.getString("artDatPlu"));
                p.setArtDatSing(rs.getString("artDatSing"));
                p.setArtGenPlu(rs.getString("artGenPlu"));
                p.setArtGenSing(rs.getString("artGenSing"));
                p.setArtNomPlu(rs.getString("artNomPlu"));
                p.setArtNomSing(rs.getString("artNomSing"));
                p.setIndAcuSing(rs.getString("indAcuSing"));
                p.setIndDatSing(rs.getString("indDatSing"));
                p.setIndGenSing(rs.getString("indGenSing"));
                p.setIndNomSing(rs.getString("indNomSing"));
                palavras.add(p);
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return palavras;
    }

    public List<Palavras> getListaPalavras(String letra) {
        List<Palavras> palavras = new ArrayList<Palavras>();
        try {
            PreparedStatement stmt = con.prepareStatement("select * from palavras where palavra like '" + letra + "%' order by palavra");
            ResultSet rs = stmt.executeQuery();
            while (rs.next()) {
                Palavras p = new Palavras();
                p.setId(rs.getInt("id"));
                p.setPalavra(rs.getString("palavra"));
                p.setPlural(rs.getString("plural"));
                p.setGenero(rs.getString("genero"));
                p.setTraducao(rs.getString("traducao"));
                p.setArtAcuSing(rs.getString("artAcuSing"));
                p.setArtAcuPlu(rs.getString("artAcuPlu"));
                p.setArtAcuSing(rs.getString("artAcuSing"));
                p.setArtDatPlu(rs.getString("artDatPlu"));
                p.setArtDatSing(rs.getString("artDatSing"));
                p.setArtGenPlu(rs.getString("artGenPlu"));
                p.setArtGenSing(rs.getString("artGenSing"));
                p.setArtNomPlu(rs.getString("artNomPlu"));
                p.setArtNomSing(rs.getString("artNomSing"));
                p.setIndAcuSing(rs.getString("indAcuSing"));
                p.setIndDatSing(rs.getString("indDatSing"));
                p.setIndGenSing(rs.getString("indGenSing"));
                p.setIndNomSing(rs.getString("indNomSing"));
                palavras.add(p);
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return palavras;
    }

    public List<Palavras> getListaPalavrasTraducao(String letra) {
        List<Palavras> palavras = new ArrayList<Palavras>();
        try {
            PreparedStatement stmt = con.prepareStatement("select * from palavras where traducao like '" + letra + "%' order by traducao");
            ResultSet rs = stmt.executeQuery();
            while (rs.next()) {
                Palavras p = new Palavras();
                p.setId(rs.getInt("id"));
                p.setPalavra(rs.getString("palavra"));
                p.setPlural(rs.getString("plural"));
                p.setGenero(rs.getString("genero"));
                p.setTraducao(rs.getString("traducao"));
                p.setArtAcuSing(rs.getString("artAcuSing"));
                p.setArtAcuPlu(rs.getString("artAcuPlu"));
                p.setArtAcuSing(rs.getString("artAcuSing"));
                p.setArtDatPlu(rs.getString("artDatPlu"));
                p.setArtDatSing(rs.getString("artDatSing"));
                p.setArtGenPlu(rs.getString("artGenPlu"));
                p.setArtGenSing(rs.getString("artGenSing"));
                p.setArtNomPlu(rs.getString("artNomPlu"));
                p.setArtNomSing(rs.getString("artNomSing"));
                p.setIndAcuSing(rs.getString("indAcuSing"));
                p.setIndDatSing(rs.getString("indDatSing"));
                p.setIndGenSing(rs.getString("indGenSing"));
                p.setIndNomSing(rs.getString("indNomSing"));
                palavras.add(p);
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return palavras;
    }

    public void updatePalavras(Palavras p, String pal) {
        String sql = "update palavras set palavra=?, traducao=?, genero=?, "
                + "artDatSing=?, artDatPlu=?,artNomSing=?,"
                + "artNomPlu=?, artGenSing=?, artGenPlu=?,"
                + "artAcuSing=?, artAcuPlu=?, indAcuSing=?, indGenSing=?, "
                + "indNomSing=?, indDatSing=?, plural=? where palavra=?";
        try {
            PreparedStatement stmt = con.prepareStatement(sql);
            stmt.setString(1, p.getPalavra());
            stmt.setString(2, p.getTraducao());
            stmt.setString(3, p.getGenero());
            stmt.setString(4, p.getArtDatSing());
            stmt.setString(5, p.getArtDatPlu());
            stmt.setString(6, p.getArtNomSing());
            stmt.setString(7, p.getArtNomPlu());
            stmt.setString(8, p.getArtGenSing());
            stmt.setString(9, p.getArtGenPlu());
            stmt.setString(10, p.getArtAcuSing());
            stmt.setString(11, p.getArtAcuPlu());
            stmt.setString(12, p.getIndDatSing());
            stmt.setString(13, p.getIndNomSing());
            stmt.setString(14, p.getIndGenSing());
            stmt.setString(15, p.getIndAcuSing());
            stmt.setString(16, p.getPlural());
            stmt.setString(17, pal);
            stmt.execute();
            stmt.close();
        } catch (SQLException ex) {
            Logger.getLogger(PalavraDao.class.getName()).log(Level.SEVERE, null, ex);
        }
    }

    public Palavras getTraducaoPalavra(String palavra) {
        String sql = "select * from palavras where traducao=?";
        Palavras p = new Palavras();
        try {
            PreparedStatement stmt = con.prepareStatement(sql);
            stmt.setString(1, palavra);
            ResultSet rs = stmt.executeQuery();

            while (rs.next()) {
                p.setId(rs.getInt("id"));
                p.setPalavra(rs.getString("palavra"));
                p.setPlural(rs.getString("plural"));
                p.setGenero(rs.getString("genero"));
                p.setTraducao(rs.getString("traducao"));
                p.setArtAcuSing(rs.getString("artAcuSing"));
                p.setArtAcuPlu(rs.getString("artAcuPlu"));
                p.setArtAcuSing(rs.getString("artAcuSing"));
                p.setArtDatPlu(rs.getString("artDatPlu"));
                p.setArtDatSing(rs.getString("artDatSing"));
                p.setArtGenPlu(rs.getString("artGenPlu"));
                p.setArtGenSing(rs.getString("artGenSing"));
                p.setArtNomPlu(rs.getString("artNomPlu"));
                p.setArtNomSing(rs.getString("artNomSing"));
                p.setIndAcuSing(rs.getString("indAcuSing"));
                p.setIndDatSing(rs.getString("indDatSing"));
                p.setIndGenSing(rs.getString("indGenSing"));
                p.setIndNomSing(rs.getString("indNomSing"));
            }
        } catch (SQLException e) {
        }
        return p;
    }

    public List<Palavras> getListaImagem(List<Integer> ids, String letra) {
        List<Palavras> palavras = new ArrayList<Palavras>();
        for (int i = 0; i < ids.size(); i++) {
            try {
                PreparedStatement stmt = con.prepareStatement("select * from palavras where id=" + ids.get(i) + " and palavra like '"+letra+"%' order by palavra");
                ResultSet rs = stmt.executeQuery();
                while (rs.next()) {
                    Palavras p = new Palavras();
                    p.setId(rs.getInt("id"));
                    p.setPalavra(rs.getString("palavra"));
                    p.setPlural(rs.getString("plural"));
                    p.setGenero(rs.getString("genero"));
                    p.setTraducao(rs.getString("traducao"));
                    p.setArtAcuSing(rs.getString("artAcuSing"));
                    p.setArtAcuPlu(rs.getString("artAcuPlu"));
                    p.setArtAcuSing(rs.getString("artAcuSing"));
                    p.setArtDatPlu(rs.getString("artDatPlu"));
                    p.setArtDatSing(rs.getString("artDatSing"));
                    p.setArtGenPlu(rs.getString("artGenPlu"));
                    p.setArtGenSing(rs.getString("artGenSing"));
                    p.setArtNomPlu(rs.getString("artNomPlu"));
                    p.setArtNomSing(rs.getString("artNomSing"));
                    p.setIndAcuSing(rs.getString("indAcuSing"));
                    p.setIndDatSing(rs.getString("indDatSing"));
                    p.setIndGenSing(rs.getString("indGenSing"));
                    p.setIndNomSing(rs.getString("indNomSing"));
                    palavras.add(p);
                }
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
        return palavras;
    }

    public List<Palavras> getListaImagemTraducao(List<Integer> ids, String letra) {
        List<Palavras> palavras = new ArrayList<Palavras>();
        for (int i = 0; i < ids.size(); i++) {
            try {
                PreparedStatement stmt = con.prepareStatement("select * from palavras where id=" + ids.get(i) + " and traducao like '"+letra+"%' order by traducao");
                ResultSet rs = stmt.executeQuery();
                while (rs.next()) {
                    Palavras p = new Palavras();
                    p.setId(rs.getInt("id"));
                    p.setPalavra(rs.getString("palavra"));
                    p.setPlural(rs.getString("plural"));
                    p.setGenero(rs.getString("genero"));
                    p.setTraducao(rs.getString("traducao"));
                    p.setArtAcuSing(rs.getString("artAcuSing"));
                    p.setArtAcuPlu(rs.getString("artAcuPlu"));
                    p.setArtAcuSing(rs.getString("artAcuSing"));
                    p.setArtDatPlu(rs.getString("artDatPlu"));
                    p.setArtDatSing(rs.getString("artDatSing"));
                    p.setArtGenPlu(rs.getString("artGenPlu"));
                    p.setArtGenSing(rs.getString("artGenSing"));
                    p.setArtNomPlu(rs.getString("artNomPlu"));
                    p.setArtNomSing(rs.getString("artNomSing"));
                    p.setIndAcuSing(rs.getString("indAcuSing"));
                    p.setIndDatSing(rs.getString("indDatSing"));
                    p.setIndGenSing(rs.getString("indGenSing"));
                    p.setIndNomSing(rs.getString("indNomSing"));
                    palavras.add(p);
                }
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
        return palavras;
    }

    public List<String> carregaLetras(){
        List<String> letras = new ArrayList<String>();
        try {
            PreparedStatement stmt = con.prepareStatement("select distinct substr(palavra, 1,1) as 'letra' from palavras order by palavra asc ");
            ResultSet rs = stmt.executeQuery();
            while(rs.next()){
                String a = rs.getString("letra");
                letras.add(a);
            }
        } catch (SQLException ex) {
            Logger.getLogger(PalavraDao.class.getName()).log(Level.SEVERE, null, ex);
        }


        return letras;
    }

a tabela nao sei como pegar o codigo dela…
=/

Tem algumas dicas bem legais aqui http://www.htmlstaff.org/ver.php?id=2148

vou dar uma olhada ver se eu encontro algo sobre isso…
senao vou tentar arrumar um bd portable msm
hehehehe

se eu descobrir algo eu posto aqui

Nunca trabalhei com sqlite, mas vi algumas respostas para a mesma questão e estas se referem ao path do banco (conexão com o mesmo).
Aqui http://stackoverflow.com/questions/4478003/sqlexception-no-such-table e aqui http://blog.ninethsense.com/sqlite-error-no-such-table-tablename/ estão o que identifiquei.