Servlet nao mostrando dados do db [RESOLVIDO]

5 respostas
zicky23

bom dia pessoal tenho a seguinte servlet que deveria mostrar os dados resgatados do db, mas nao está mostrando nada, nem dá erro, apenas fica em branco

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package servlet;

import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 *
 * @author Wagner Vielmond
 */
public class pesquisaContrib extends HttpServlet {
    @Override
    protected void service(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
        try {

            //pega a conexao e o statement
            Connection con = new ConnectionFactory().getConnection();
            PreparedStatement stmt = con.prepareStatement("SELECT * FROM CONTRIBUINTE");

            //executa um sql
            ResultSet rs = stmt.executeQuery();

            List<Contrib>  contr = new ArrayList<Contrib>();

            while(rs.next()){
                Contrib contrib = new Contrib();
                contrib.setNome(rs.getString("NOME_CONTRIBUINTE"));
                contrib.setRua(rs.getString("FONE"));
                contrib.setNumero(rs.getInt("NUMERO"));

                //add o objeto à lista
                contr.add(contrib);
            }

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

        } catch (SQLException ex) {
            Logger.getLogger(pesquisaContrib.class.getName()).log(Level.SEVERE, null, ex);
        } catch (ClassNotFoundException ex) {
            Logger.getLogger(pesquisaContrib.class.getName()).log(Level.SEVERE, null, ex);
        }
    }
}

5 Respostas

zicky23

O que será que faltou?

um System.out.println();

será?

valeu

leocantanhede

Faltou você gerar o html de saída atribuindo o resultado do resultSet aos campos, utilizando o response.

mais o menos assim para você ter uma noção:

response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
out.println("<html>");
out.println("<head>");
out.println("<title>Servlet HelloServlet</title>");
out.println("</head>");
out.println("<body>");
out.println("<h1>Hello Servlet World!</h1>");
out.println("</body>");
out.println("</html>");
out.close();
zicky23

ahhhhhh… é verdade…

valeu cara… vou testar…

zicky23

até entendi, mas e agora como faço:

out.println("<table>");
out.println("<tr>");
out.println("<td>");
            //executa um sql
            ResultSet rs = stmt.executeQuery();

            List<Contrib>  contr = new ArrayList<Contrib>();

            while(rs.next()){
                Contrib contrib = new Contrib();
                contrib.setNome(rs.getString("NOME_CONTRIBUINTE"));
                contrib.setRua(rs.getString("FONE"));
                contrib.setNumero(rs.getInt("NUMERO"));

                //add o objeto à lista
                contr.add(contrib);
            }
out.println("</td>");
out.println("</tr>");
out.println("</table>");

seria assim?

to meio perdido agora na hora de mostrar os dados

zicky23

maneira correta:

PrintWriter out = response.getWriter();

            //escreve o texto de teste
            out.println("<html>");
            out.println("<head><title>Sistema Ges-Obras WEB</title><style type=text/css>@import url(css/estilo.css);");
            out.println("td div {width:100%;height:300px;overflow:auto;} .t3 .tr1 td{border-bottom:1px solid #ccc} </style></head>");
            out.println("<body>");
            out.println("<div class='center' align=center>");
            out.print("<table class=table2 align=center>");
            out.print("<tr>");
            out.print("<td align=right>");
            out.print("<input type=button onclick=home() value='HOME' class=btn tabindex=1 /> ");
            out.print("<input type=button onclick=cadContrib() value='CADASTRAR CONTRIBUINTE' class=btn tabindex=2 /> ");
            out.print("<input type=button value='SOLICITAÇÕES' onclick=pesqContrib() class=btn tabindex=2 />");
            out.print("</td>");
            out.print("</tr>");
            out.print("</table>");
            out.println("<table class=table><tr><td class=topotab>Bem-vindo ao GES OBRAS WEB</td></tr>");
            out.println("<tr><td><div><table class=t3>");
            out.println("<tr class=tr1><td>NOME</td><td>FONE</td><td>NUMERO</td></tr>");
            for (Contrib contrib : contr){
                out.println("<tr><td>"+contrib.getNome()+"</td>");
                out.println("<td>"+contrib.getFone()+"</td>");
                out.println("<td>"+contrib.getNumero()+"</td></tr>");
            }
            out.println("</table></div></td></tr>");
            out.println("</table>");
            out.println("</div>");
            out.println("<div class=footer>");
            out.println("Todos os direitos reservados<br />&copy; 2011  :: developed by vielmond.net");
            out.println("</div>");
            out.println("</body>");
            out.println("</html>");
            out.println("<script type=text/javascript>");
            out.println("function home(){");
            out.println("document.location.href='/gesweb/home';");
            out.println("}");
            out.println("function cadContrib(){");
            out.println("document.location.href='/gesweb/newcontrib.html';");
            out.println("}");
            out.println("function pesqContrib(){");
            out.println("document.location.href='/gesweb/pesquisaContrib';");
            out.println("}");
            out.println("</script>");
Criado 6 de dezembro de 2011
Ultima resposta 6 de dez. de 2011
Respostas 5
Participantes 2