Acessar dados do banco de dados

Estou fazendo um programa pra cadastrar clientes, consegui salvar os clientes junto com suas informações (CPF, RG, ENDEREÇO…) no banco postgresql, mas estou com problemas na hora de fazer uma busca, o usuario vai digitar o nome, e vai fazer uma busca no banco pra achar aquele nome e suas informações, fiz pelo modelo dao (o modelo que eu fiz esta certo) mas eu não sei como chamar aqueles dados em uma jsp, para depois mostrar na tela (é uma aplicação pra web)…

alguem sabe como fazer isso?

(OBS: se eu postei no lugar errado desculpa)

Está no lugar correto, embora possa ser uma dúvida referente à desenvolvimento web.
Bem, se você fez seguindo o pattern DAO, deve ter um método, dentro da classe DAO, que faça o select.
Este select pode receber parâmetros (nome, id, etc). Sendo assim

public class MinhaDAO{
 public Cliente meuMetodo(String nome){
  String sql = "SELECT * FROM tabela WHERE nome LIKE '%?%';
  PreparedStatement ps = con.prepareStatement(sql);
  ps.setString(1, nome);
  ps.execute();
  ResultSet rs = ps.getResultSet();
  Cliente cli = new Cliente();
  while(rs.next()){
   cli.nome = rs.getString("nome");
   cli.id = rs.getInt("id");
   //assim por diante
  }
  return cli;
  
}
}

Se está usando jsp, acho que esteja chamando este método de uma servlet

 //aqui codigo
 MinhaDAO minha = new MinhaDAO();
 //chama a inicialização, criação da conexão
 String nome = request.getParameter("nome");
  Cliente cli =  minha.meuMetod(nome);
  request.setAttribute("cliente", cli);
  response.sendRedirect("minhajsp.jsp");

Na jsp, você pode usar EL, JSTL ou, menos recomendado, mais feio e menos elegante, scriptlet…

oq eu coloco dentro desse like ‘%?%’

No exemplo passado pelo drsmachado o like é um coringa no banco de dados , no exemplo a busca seria por nome portanto o like efetuará uma busca tal como select nome from tabela where nome like ‘%alek%’ neste caso o retorno será todos os nomes que contenham as letras alek contida em linhas da tabela nome…entendeu … para sanar suas dúvidas aconselho sempre efetuar um teste no próprio banco de dados …no seu caso o postgres tem o pgadmin que é muito bom …boa sorte …

Aleksandro

Esta dando erro, olha como esta o meu codigo (a parte do dao)

[code] public List retrieve() throws SQLException {
String comando = “”;
try {
Statement stmt = conexao.createStatement();
comando = "select * from cadastro WHERE nome LIKE ‘%nome%’ ";
ResultSet rs = stmt.executeQuery(comando);
List listaDeCadastros = new ArrayList();// lista de cadastros
while (rs.next()) {
Cadastro cadastro = new Cadastro ();
cadastro.setNome (rs.getString(1));
cadastro.setApelido (rs.getString(2));
cadastro.setEmail (rs.getString(3));
cadastro.setCpf(rs.getString(4));
cadastro.setNasc(rs.getString (5));
cadastro.setTel(rs.getString(6));

				listaDeCadastros.add (cadastro);
				System.out.println("Cadastro 1: " + listaDeCadastros);
		}

		stmt.close();
		conexao.close();
		return listaDeCadastros;
		
	} catch (Exception e) {
		System.out.println("Erro no Cadastro.List "+ e);
		return null;
	}

}[/code]

ai vem na servlet

try { CadastroDAO cadastro = new CadastroDAO (); String nome = request.getParameter("nome"); Cadastro cad = Cadastro (nome); request.setAttribute("cadastro", cad); response.sendRedirect("RegistroSucesso.jsp"); System.out.println ("Erro1"); } catch (SQLException e) { System.out.println ("Erro2" + e); response.sendRedirect("Erro.jsp"); e.printStackTrace(); }

não sei se vale a pena citar, que eu fiquei com uma duvida, quando o usuario digita o nome do cliente o programa armazena a informação do nome numa variavel que se chama “dado” (sem aspas)…

outra duvida, como eu chamo esses dados na jsp? depois de tudo