Jsp e servlets form não aparece

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!!

import java.io.IOException;
import java.io.PrintWriter;
import java.sql.SQLException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import src.modelo.Car;
import src.dao.Cardao;

@SuppressWarnings(“serial”)
public class oiMundo extends HttpServlet {
protected void service(HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException {
PrintWriter out = response.getWriter();

	// pegando os parâmetros do request
	String nome = request.getParameter("nome");
	String marca = request.getParameter("marca");
	String modelo = request.getParameter("modelo");
	
	// monta um objeto contato
	Car carro = new Car();
	carro.setNome(nome);
	carro.setModelo(modelo);
	carro.setMarca(marca);
	
	// salva o contato
	try {
			Cardao dao = new Cardao();
			dao.adiciona(carro);
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		// imprime o nome do contato que foi adicionado
		out.println("<html>");
		out.println("<body>");
		out.println("Contato " + carro.getNome() + " adicionado com sucesso");
		out.println("</body>");
	out.println("</html>");
	}}

index.html:

Nome:
Marca:
Modelo:
<?xml version="1.0" encoding="UTF-8"?> jspteste index.html form.html add servlet.oiMundo add /index.html

posta tb a classe Cardao usada em:

try { Cardao dao = new Cardao(); dao.adiciona(carro); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); }

aqui está :slight_smile:

package src.dao;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import src.modelo.Car;
import src.jdbc.ConectionFactory;
import java.util.ArrayList;
import java.util.List;
public class Cardao {
private Connection connection;

	public Cardao()throws SQLException{
		this.connection=ConectionFactory.getConnection();
	}
//este é o método que insere dados ao banco
	public void adiciona (Car car) throws SQLException{
	String sql= "insert into carro(nome, marca, modelo)values (?,?,?)";
	PreparedStatement stmt = 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..
 public List<Car> getLista() throws SQLException {
		 List<Car> car = new ArrayList<Car>();
		 PreparedStatement stmt = this.connection.prepareStatement("select * from carro");
		 ResultSet rs = stmt.executeQuery();

		try {
		 while (rs.next()) {
		 // criando o objeto Contato
		 Car pessoa1 = new Car();
		 pessoa1.setNome(rs.getString("nome"));
		 pessoa1.setMarca(rs.getString("marca"));
		 pessoa1.setModelo(rs.getString("modelo"));
		 
		 
		// adicionando o objeto � lista
		car.add(pessoa1);
					}
		 rs.close();
		 stmt.close();
		 return car;
		 } catch (SQLException e) {
		 throw new RuntimeException(e);
		 }
		 
		 }
	 
	 
	
	//este metodo Altera os registros do Banco
	 public void altera(Car pessoa)throws SQLException {
PreparedStatement stmt = 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...

public void remove (Car pessoa)throws SQLException{
String sql ="delete from carro where nome = ?";
PreparedStatement stmt = connection.prepareStatement(sql);
	stmt.setString(1, pessoa.getNome());
	stmt.execute();
	stmt.close();
	}

}

troca essa linha

<form  action="add"> 

por

<form method="POST" action="/my_form"> 

e essa

String nome = request.getParameter("nome"); 

por

String nome = 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.

infelizmente não deu certo :cry:

Tente novamente, eu reeditei o post acima

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

eita…

então troca

<form method="POST" action="/my_form">   

por

<form method="POST" action="my_form">   

quando troquei essa linha

String nome = request.getParameter("nome"); 

por

String nome = request.getAttribute("nome"); 

deu erro o eclipse resolveu e ficou

String nome = (String) request.getAttribute("nome");

só pra constar

bom apareceu o form mas somente adiciona registros null ao banco…
aparece a msg no broeser:
Contato null adicionado com sucesso

consegui!!!111 :slight_smile: :slight_smile:
éra o form do HTML

tem que mudar todos os nome,marca,modelo depois de “text” para name

está perfeito

valeu gervas-IO :slight_smile: