Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Kinhas

JSP - Como faço pra pegar os dados digitados

Recommended Posts

Bom pesoal, tenho um projeto a ser desenvolvido para a faculdade,

 

Eu tenho uma página JSP, onde tem nome, data de nascimento e essas coisas,

 

Eu preciso pegar os dados digitados pelo usuário e mandar para o banco de dados,

 

alguém poderia me dar uma luz?

 

Não sei nem por onde começar!!

 

Obrigado,

 

Lucas.

Compartilhar este post


Link para o post
Compartilhar em outros sites

É bem facil, você vai precisar de:

 

1) Um container pra aplicação java web (ex. servidor) configurado

2) O driver JDBC para MySQL

3) Uma pagina JSP com um formulario e outra pagina JSP para receber os dados (pode ser a mesma, mostrarei usando duas)

 

index.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
   pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<form action="bd.jsp" method="post">
Digite seu nome: <input type="text" name="nome"/>
<input type="submit"/>
</form>

</body>
</html>

 

Um formulario simples para pegar o dado que o usuario digitar e levar para bd.jsp

 

bd.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
   pageEncoding="UTF-8" import="java.sql.*" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<%
	String nome = request.getParameter("nome");
	out.println(nome);	

	Connection conn = null;
	PreparedStatement ps = null;
	ResultSet rs = null;

	try
	{
		Class.forName("com.mysql.jdbc.Driver").newInstance();
		conn = DriverManager.getConnection("jdbc:mysql://localhost/nome-do-seu-bd", "username_do_bd", "senha_do_bd");

		String sql = "INSERT INTO nomes (nome) values (?)";

		ps = conn.prepareStatement(sql);
		ps.setString(1, nome);

		ps.executeUpdate();
	}

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

	finally
	{
		ps.close();
		conn.close();
	}
%>	
</body>
</html>

 

O codigo acima primeiro pega do formulario o valor nome enviado para a pagina bd.jsp. Depois ele abre então uma conexão com o banco de dados. Apos ter sido feita a conexão, voce cria o SQL que fará a inserção da informação no banco de dados. Depois, criamos um objeto PreparedStatement para enviar declarações SQL ao banco de dados. Usamos então o metodo setString desse objeto para trocarmos a interrogação pelo valor que capturamos do formulario (muito util para evitar concatenação de string SQL). Então chamamos o metodo executeUpdate() que vai de fato fazer as modificações no banco de dados.

 

Vale lembrar que esse código é util apenas como ferramenta de estudo, porque a pratica de misturar logica de negocio com a camada de apresentação é altamente desencorajada. Abraços !

Compartilhar este post


Link para o post
Compartilhar em outros sites

Luis muito obrigado pela ajuda,

 

porém tenho dúvidas,

 

vou te falar o que eu tenho,

 

Eu tenho uma página jsp qu tem (nome, endereco, sexo, data de nascimento(textbox dia, textbox mes e textbox ano)),

 

Eu tenho uma classe Usuário, que é odne fiz os gets e sets, tenho um servlet que eu não lembro como eu fiz, e tenho uma classe DAO que eu acho que serve pra mandar pro banco de dados,

 

porém acho que nem meu botão de submit na página jsp ta funcionando.

 

Lá pras 17:20 eu consigo postar o código que eu tenho,

 

ai se você puder me dar uma ajuda eu agradeço.

 

Lá eu tenho conexão com Oracle, o servidor é o GLassFish 3, e uso o NetBEans.

 

Obrigado,

 

Lucas.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Basicamente voce precisa fazer o seguinte:

- submit chama o Servlet;

- no servlet popule seu objeto "usuario" com os dados do formulário;

- chame um método para persistir este objeto no banco de dados (este método usa o DAO para a persistencia);

 

Já mapeou seu servlet? consegue acessá-lo?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vou ver o que consigo fazer, porque meu servlet está em brancoe não sei o que colocar nele hhaahahahaha,

 

Minha Classe DAO tem algumas coisas já,

 

Kandrade obrigado pelo ajuda,

 

eu não sabia direito pra odne que ia cada coisa, depois de apertar o submit pra odne que iria e tals,

 

Assim que eu conseguir eu testo e te falo,

 

Lucas.

Compartilhar este post


Link para o post
Compartilhar em outros sites

num sei se já resolveu, mas taí o sistema pronto só implementar de sua forma...

 

Agenda de contatos

 

http://www.4shared.com/file/DiAnUiUc/aulaweb18032011banco.html?

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.