Criando busca em JSP

E aí pessoal!

minha mais nova dúvida é o seguinte!

Já tenho o banco, ele graças a Deus já tá conectando e tudo mais . . .

agora eu queria saber como faço apenas pra buscar informações lá nele, eu digo, qual o conceito pra se fazer uma busca ( uma busca de um campo só mesmo, super simples!!)

Vlw . . .

Concordo com o Everson, utilize as taglibs para que seu código fique como alguns chamam de “elegante”.

Olha, eu não sei nada de Java mas li bastante e tenho total noção de que o que eu pedi não se faz!!

Mas eu tô tão desesperado aqui no trabalho pra fazer esse negocinho que esse modo que eu pedi me parece ser muito mais fácil!!!

Eu não sei . . com o tempo eu descubro!!

Mas mesmo assim vlw mesmo pelas respostas, geralmente a galera qui recomenda apostilas de 209 páginas pra depois eu descobri que era um ponto e vírgula!

eu vou testar essa parada agora, se vcs puderem ficar ligado nesse tópico, depois eu mando respostas!!

Abração. .

Bom, pra fazer um para trazer uma lista do banco de dados eu fiz da seguinte maniera:

ContatoDAO:

public class ContatoDAO {
	private Connection connection;

	public ContatoDAO() throws SQLException {
		this.connection = ConnectionFactory.getConnection();
	}

public List<Contato> getLista() throws SQLException {

		PreparedStatement stmt = (PreparedStatement) connection
				.prepareStatement("select * from contatos");
		ResultSet rs = stmt.executeQuery();

		List<Contato> list = new ArrayList<Contato>();
		while (rs.next()) {
			Contato contato = new Contato();
			contato.setId(rs.getLong("id"));
			contato.setName(rs.getString("nome"));
			contato.setEmail(rs.getString("email"));
			contato.setEndereco(rs.getString("endereco"));

			list.add(contato);
		}

		rs.close();
		stmt.close();

		return list;
	}
}

NomePágina.jsp

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<html>
<!-- Cria a lista -->
<jsp:useBean id="dao" class="jdbc.ContatoDAO"></jsp:useBean>

<!-- For -->
<c:forEach var="contato" items="${dao.lista}">
	<li>
		nome: <c:set var="name" value="${contato.name}"/>
		<c:out value="${name}"/>
<br>	email: ${contato.email},
<br>	endereço: ${contato.endereco}
<br>
	</li>
</c:forEach>
</html>

Talvez te ajude esse exemplo.

Att.

eu só tenho que salvar esse contatoDAO na mesma página e compilá??

Pra falar a verdade não. Tem que ter o a tabela amigo no banco Mysql e no caso fiz uma classe utilitária chamada ConnectionFactory.java tendo somente um método chamado getConnection que é a classe responsável por se conectar como banco utilizando o o driver jdbc.
Pode perceber que no inicio da classe ContatoDAO eu crio o construtor chamando essa classe.
Tendo a tabela no banco e a classe ConnectionFactory é só colar e compilar.

Tendo mais dúvidas é só falar!!
Abraços.

Só esclarecendo, o ContadoDAO.java é uma classe comum em java e o NomePagina.jsp seria a página propriamente dita, ok?

Ihh cara!! me desculpa! Acho q esqueci de avisar!!

Eu JÁ tenho a banco todo pronto em Access! Você escreveu que era uma conexão pra MySql, será que funciona?!?

Vlw

[quote=faelsb]Ihh cara!! me desculpa! Acho q esqueci de avisar!!

Eu JÁ tenho a banco todo pronto em Access! Você escreveu que era uma conexão pra MySql, será que funciona?!?

Vlw[/quote]

Como o seufagner disse, é só utilizar o driver correto para o Access que vai rolar sim.

Bem galera! Eu andei pesquisando e não sei se eu realmente não encontrei ou a conexão com o Access o drive já até vem com o ruindows, a gente só tem que ir no ferramentas administrativas e configurar a criança.

Um amigo me deu um código e disse que bastava, eu achei mais simples de entender, aí vai:

<%@ page import=‘java.sql.*’ %>
<%

Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”);
Connection conn = DriverManager.getConnection(“jdbc:odbc:RIO”,"","");

Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery(“select * from Request”);
while(rs.next())
{
out.println(rs.getString(“fa”) + “
” + rs.getString(“Requested_FP_Quantity”) + “
”);
}
%>

Funcionou!!

Não sei se vocês acham tão bom, levando em conta que eu nem quero nada muito bonito!

Agora com base nisso, como eu faria pra pegar os dados de um input do HTML e fazer a consulta??

Vlw galera!!

Não é legal fazer buscas no jsp… é possivel mas fica um lixo. procure depois sobre MVC e taglib

<%
Connection con;
ClasseConexao conecta = new ClasseConexao();
con = conecta.abreConexao();

PreparedStatement stmt = con.prepareStatement("select * from tabela");
ResultSet rs = stmt.executeQuery();
while (rs.next()) {

System.out.println(rs.getString("nome"));

}
rs.close();
stmt.close();
con.close();
%>

A interface JDBC foi feita pra isso, teoricamente. Você pode ter escrito sentenças SQL nativas do Access. Não sei um exemplo do Access… Mas por exemplo, no Oracle, o cara escrever Hints.

De qualquer forma, provavelmente se você usar o driver JDBC correto deve rolar