Jsp e servlets form não aparece

10 respostas
E

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

10 Respostas

G

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(); }

E

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();
	}

}

G

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.

E

infelizmente não deu certo :cry:

G

Tente novamente, eu reeditei o post acima

E

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

eita…

então troca

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

por

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

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

E

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

E

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:

Criado 24 de janeiro de 2011
Ultima resposta 25 de jan. de 2011
Respostas 10
Participantes 2