Como inserir dados de um bd em uma table de HTML

4 respostas Resolvido
htmljavamysqlprogramação
A

O meu problema em questão, vem a partir do ponto de como posso inserir os dados de meu bd, na tabela que fiz com html, por não estar inserindo os dados, aparenta que nem o servlet está executando, o código da tabela é o seguinte:

public class ListaProduto extends HttpServlet{

<a class="mention" href="/u/override">@Override</a>

protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

// TODO Auto-generated method stub

Connection conexao = ConnectionFactoryMercearia.getConnection();

Produto produto = new Produto();

PrintWriter gravador = resp.getWriter();
gravador.println("<html>");
	gravador.println("<style>");
	gravador.println("table, th, td { border:1px solid black; }");
	gravador.println("</style>");
	gravador.println("<head><title>ListaDeProdutos</title></head>");
	
	gravador.println("<body>");
	gravador.println("<h1>Lista dos Produtos</h1><br>");
	gravador.println("<table style = 'width:100%' >");
	gravador.println("<tr>");
	gravador.println("<th>Descricao</th>");
	gravador.println("<th>Valor de Custo</th>");
	gravador.println("<th>Valor de Venda</th>");
	gravador.println("<th>Garantia</th>");
	gravador.println("<th>Estoque</th>");
	gravador.println("<th>Codigo de Barras</th>");
	gravador.println("<th>Nome do Vendedor</th>");
	gravador.println("</tr>");
	
	
	gravador.println("<tr>");
	gravador.println("</tr>");
	//Problema de inserção em questão
	
	
	gravador.println("<a href =http://localhost:8080/TesteWeb/Mercearia.html>Voltar</a><br>");
	gravador.println("</body>");
	gravador.println("</html>");
}

}

Bem, ao que tudo indica é por meio do servlet que é pra eu criar essa listagem de produtos no html, contudo procurei na internet e em sites, mas não achei nada a respeito de como posso realizar isso, puxando do bd e inserindo nesse Writer, alguem com conhecimento em html poderia me auxiliar em como posso efetuar essa inserção ?

4 Respostas

S

Consegue usar o objeto conexao para listar os registros do seu banco?

A

Consigo por meio desse metodo:

public List listarProdutos()  throws SQLException {

String sql = " select * from produto order by codigo";

PreparedStatement comando = conexao.prepareStatement(sql);

ResultSet rs = comando.executeQuery();

Listproduto = new ArrayList();

while(rs.next() ) {

Produto produtoInsere = new Produto();

produtoInsere.setDescricao(rs.getString(Descricao));

produtoInsere.setValorDeCusto(rs.getDouble(ValCusto));

produtoInsere.setValorDeVenda(rs.getDouble(ValVenda));

produtoInsere.setGarantia(rs.getInt(Garantia));

produtoInsere.setEstoque(rs.getInt(Estoque));

produtoInsere.setCodigoDeBarras(rs.getString(CodigoDeBarras));

produtoInsere.setNomeDoVendedor(rs.getString(NomeDoVendedor));
produto.add(produtoInsere);
	}
	return produto;

}

Com isso não vejo uma forma de jogar esses dados em uma table de html

A

image

Eu tentei fazer da mesma forma como executei antes em outra table mas em tela, contudo não tem a mesma realização ao que tudo indica.

S
Solucao aceita

Você tentou usar expressões lâmbda onde não faz sentido.

Eu mudaria o retorno do seu método para:

public List<Produto> listarProdutos() throws SQLException {

Depois no seu Servlet faria assim:

public class ListaProduto extends HttpServlet{

    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        PrintWriter gravador = resp.getWriter();

        gravador.println("<html>");
        gravador.println("<style>");
        gravador.println("table, th, td { border:1px solid black; }");
        gravador.println("</style>");
        gravador.println("<head><title>ListaDeProdutos</title></head>");

        gravador.println("<body>");
        gravador.println("<h1>Lista dos Produtos</h1><br>");
        gravador.println("<table style = 'width:100%' >");
        gravador.println("  <tr>");
        gravador.println("    <th>Descricao</th>");
        gravador.println("    <th>Valor de Custo</th>");
        gravador.println("    <th>Valor de Venda</th>");
        gravador.println("    <th>Garantia</th>");
        gravador.println("    <th>Estoque</th>");
        gravador.println("    <th>Codigo de Barras</th>");
        gravador.println("    <th>Nome do Vendedor</th>");
        gravador.println("  </tr>");

        for (Produto p : listarProdutos()) {
            gravador.println("  <tr>");
            gravador.println("    <td>" + p.getDescricao() + "</td>");
            gravador.println("    <td>" + p.getValorDeCusto() + "</td>");
            gravador.println("    <td>" + p.getValorDeVenda() + "</td>");
            gravador.println("    <td>" + p.getGarantia() + "</td>");
            gravador.println("    <td>" + p.getEstoque() + "</td>");
            gravador.println("    <td>" + p.getCodigoDeBarras() + "</td>");
            gravador.println("    <td>" + p.getNomeDoVendedor() + "</td>");
            gravador.println("  </tr>");
        }
        
        gravador.println("</table>");

        gravador.println("<a href =http://localhost:8080/TesteWeb/Mercearia.html>Voltar</a><br>");
        gravador.println("</body>");
        gravador.println("</html>");
    }

    public List<Produto> listarProdutos() throws SQLException {
        String sql = " select * from produto order by codigo";
        Connection conexao = ConnectionFactoryMercearia.getConnection();
        PreparedStatement comando = conexao.prepareStatement(sql);
        ResultSet rs = comando.executeQuery();
        List<Produto> produtos = new ArrayList<>();
        while (rs.next() ) {
            Produto produto = new Produto();
            produto.setDescricao(rs.getString("Descricao"));
            produto.setValorDeCusto(rs.getDouble("ValCusto"));
            produto.setValorDeVenda(rs.getDouble("ValVenda"));
            produto.setGarantia(rs.getInt("Garantia"));
            produto.setEstoque(rs.getInt("Estoque"));
            produto.setCodigoDeBarras(rs.getString("CodigoDeBarras"));
            produto.setNomeDoVendedor(rs.getString("NomeDoVendedor"));

            produtos.add(produto);
        }
        return produtos;
    }
}
Criado 20 de fevereiro de 2023
Ultima resposta 22 de fev. de 2023
Respostas 4
Participantes 2