Qual é o erro?

11 respostas
marcelo_mococa

Fala pessoal
O q ta de errado neste servlet, naum to conseguindo compilá-lo.

/*Servlet que realiza a cadastro de clientes */
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.sql.*;
import conexao.ConectaBD;


public class cadastra extends HttpServlet {
  public void doPost(HttpServletRequest req, HttpServletResponse res)
		    throws ServletException, IOException {

             res.setContentType("text/plain");

             
             String nome = req.getParameter("txtNome");
             String cidade = req.getParameter("txtCidade");
             

             String sql="INSERT INTO clientes(nome,cidade) VALUES ('" +nome+ "','" +cidade+ "')";

              ConectaBD con = null;
                try  {
                   con = new ConectaBD();
                   con.executeUpdate(sql);
                   res.sendRedirect("sucesso.jsp");
                      }
                      catch (SQLException e){
                       res.sendRedirect("erro.jsp");
                       return;
                      }
                       finally {
                       if (con!=null)
                       con.fecharConexao();
                       con=null;
                       }
                 }
      }

11 Respostas

fmeyer

Qual o erro ???

maxguzenski

é, bem vejamos… atraves do meu poder de adivinhação, visao remota, experiencia fora do corpo e telepatia , acho q consegui ver seu erro :wink:

voce nao pode fazer isso :
res.setContentType(“text/plain”);

e depois isso:
res.sendRedirect(“erro.jsp”);

eu vo seta o content de resposta eu redireciona… os dois ao mesmo tempo nao da.

marcelo_mococa

Intaum, fiz isso q vc me falou, mas ainda ta danu um erro.
É na hora em que ele vai importar a classe ConexaoBD do pacote conexao.

O q pode estar acontecendo, tenhu q fazer alguma configuração pra poder funcionar?
Na classe ConexaoBD a primeira linha é: package conexao;

No agurado de alguma solução,
Atenciosamente
Marcelo Madeira

L

Vc poderia enviar a lista de erros que o compilador gera???

marcelo_mococa

estou compilando pelo prompt do dos.

Mas ta aparecendo algo assim:

Cadastra.java:8: package conexao does not exist
import conexao.ConexaoBD;

Cadastra.java:24: Cannot Find Symbol
Symbol: class ConexaoBD
Location: class Cadastra
                    ConexaoBD = null;

Cadastra.java:26: Cannot Find Symbol
Symbol: class ConexaoBD
Location: class Cadastra
                    con = new ConexaoBD();
tRuNkSnEt

O erro esta dizendo que nao foi localizado o pacote expecificado, entao se nao achou o pacote gerou o outros erros pq os metodos e classes que voce esta usando esta dentro do pacote que nao foi localizado.

Como eu nao sou advinho mas como voce esta no forum que lida com desenvolvimento web creio que voce “esqueceu” (prefiro falar assim) de colocar seu pacote dentro da pasta WEB-INF/classes no seu web modulo.

Resumindo:
Dentro da pasta WEB-INF / Classes / Conexao deve existir um ConexaoDB.class para esse import funcionar. :wink:

marcelo_mococa

Mas é assim mesmo q está.

Veja a estrutura de meu minusculo projeto:

webapps/testes/WEB-INF/classes/conexao/ConexaoBD.class
webapps/testes/WEB-INF/classes/Cadastra.class
webapps/testes/WEB-INF/web.xml
webapps/testes/form.jsp

O arquivo cadastra naum está localizando o pacote conexao, no qual a classes ConexaoBD esta.
Preciso criar um arquivo .jar chamado conexao, e colocá-lo dentro de uma pasta chamada lib?

Atencisamente
Marcelo Madeira

L

Você está utilizando qual comando para compilar?
Ou está utilizando uma IDE ? (ecplise por exemplo)

P.s.: Não é necessário criar jar para isso…rs

P.s2.: Eu mudaria sua estrutura para:

webapps/testes/WEB-INF/classes/aplicativo/conexao/ConexaoBD.class
webapps/testes/WEB-INF/classes/aplicativo/Cadastra.class
webapps/testes/WEB-INF/web.xml
webapps/testes/form.jsp

Fica mais elegante…rs

marcelo_mococa

Valeu pela dica da estrutura.

Estou compilando pelo prompt
javac -classpath c:\tomcat\common\lib\servlet.jar Cadastra.java

Mas já estou instalando o Eclipse e tb o lomboz.
Creio q irá facilitar minha vida, o q acham?

No agurado de respostas
Atenciosamente
Marcelo Madeira

J2Alex

Que tal tentar:

javac -classpath .;c:\tomcat\common\lib\servlet.jar Cadastra.java

Você precisa fornecer o path da aplicação também (.) - por isso ele não está achando o conexao/ConexaoBD.class.

Boa sorte! :thumbup:

marcelo_mococa

Valeu Alexandre…

Agora funcionou…

Obrigado
Marcelo

Criado 4 de maio de 2005
Ultima resposta 5 de mai. de 2005
Respostas 11
Participantes 6