tentei fazer um projeto web acessando o mysql, mas ao iniciar a index.html o form não aparece na página para adicionar os dados, somente mostra a página final: “Contato null adicionado com sucesso” e no mysql todos os registros null,null,null… alguem pode me ajudar!!
// pegando os parâmetros do requestStringnome=request.getParameter("nome");Stringmarca=request.getParameter("marca");Stringmodelo=request.getParameter("modelo");// monta um objeto contatoCarcarro=newCar();carro.setNome(nome);carro.setModelo(modelo);carro.setMarca(marca);// salva o contatotry{Cardaodao=newCardao();dao.adiciona(carro);}catch(SQLExceptione){// TODO Auto-generated catch blocke.printStackTrace();}// imprime o nome do contato que foi adicionadoout.println("<html>");out.println("<body>");out.println("Contato "+carro.getNome()+" adicionado com sucesso");out.println("</body>");out.println("</html>");}}
publicCardao()throwsSQLException{this.connection=ConectionFactory.getConnection();}//este é o método que insere dados ao bancopublicvoidadiciona(Carcar)throwsSQLException{Stringsql="insert into carro(nome, marca, modelo)values (?,?,?)";PreparedStatementstmt=connection.prepareStatement(sql);stmt.setString(1,car.getNome());stmt.setString(2,car.getMarca());stmt.setString(3,car.getModelo());stmt.execute();stmt.close();}//este metodo cria uma lista do meu banco de dados..publicList<Car>getLista()throwsSQLException{List<Car>car=newArrayList<Car>();PreparedStatementstmt=this.connection.prepareStatement("select * from carro");ResultSetrs=stmt.executeQuery();try{while(rs.next()){// criando o objeto ContatoCarpessoa1=newCar();pessoa1.setNome(rs.getString("nome"));pessoa1.setMarca(rs.getString("marca"));pessoa1.setModelo(rs.getString("modelo"));// adicionando o objeto � listacar.add(pessoa1);}rs.close();stmt.close();returncar;}catch(SQLExceptione){thrownewRuntimeException(e);}}//este metodo Altera os registros do Bancopublicvoidaltera(Carpessoa)throwsSQLException{PreparedStatementstmt=connection.prepareStatement("update carro set marca=?, modelo=? where nome=?");{stmt.setString(1,pessoa.getNome());stmt.setString(2,pessoa.getMarca());stmt.setString(3,pessoa.getModelo());stmt.execute();stmt.close();}}//esse metodo Remove os registros do Banco...publicvoidremove(Carpessoa)throwsSQLException{Stringsql="delete from carro where nome = ?";PreparedStatementstmt=connection.prepareStatement(sql);stmt.setString(1,pessoa.getNome());stmt.execute();stmt.close();}
}
G
gervas-IO
troca essa linha
<formaction="add">
por
<formmethod="POST"action="/my_form">
e essa
Stringnome=request.getParameter("nome");
por
Stringnome=request.getAttribute("nome");
No DD (web.xml)
troque a linha
<url-pattern>/index.html</url-pattern>
por
<url-pattern>/my_form</url-pattern>
acho que resolve.
Abs.
E
elias.ss
infelizmente não deu certo
G
gervas-IO
Tente novamente, eu reeditei o post acima
E
elias.ss
agora aparece o form mas não insere registros no banco e aparece a msg no browser:
HTTP Status 404 - /my_form
type Status report
message /my_form
description The requested resource (/my_form) is not available.
Apache Tomcat/6.0.29
G
gervas-IO
eita…
então troca
<formmethod="POST"action="/my_form">
por
<formmethod="POST"action="my_form">
E
elias.ss
quando troquei essa linha
Stringnome=request.getParameter("nome");
por
Stringnome=request.getAttribute("nome");
deu erro o eclipse resolveu e ficou
Stringnome=(String)request.getAttribute("nome");
só pra constar
E
elias.ss
bom apareceu o form mas somente adiciona registros null ao banco…
aparece a msg no broeser:
Contato null adicionado com sucesso
E
elias.ss
consegui!!!111
éra o form do HTML
tem que mudar todos os nome,marca,modelo depois de “text” para name