Cursos / Informática para Internet / Desenvolvimento Web I / Aula

arrow_back Aula 15 - Desenvolvendo uma livraria virtual – Parte 4

Realizar a compra do conteúdo do carrinho e mostrar recibo

Para efetuar a compra dos produtos encontrados no carrinho, o usuário deve clicar no link Finalizar compra. Esse link, segundo o código JSP do arquivo mostrarCarrinho.jsp, nos leva a URL /livros/comprar. O arquivo JSP relativo a essa URL (comprar.jsp) é mostrado a seguir. É apresentado o valor total da compra e um formulário contendo dois campos, o nome do usuário e o número de seu cartão de crédito (ver Figura 5). Depois de preencher essas informações, o usuário deve clicar no botão comprar para confirmar a compra.

AخA
1
    <%@ include file="/cabecalho.jsp" %>
2
    <p>Valor total da compra:
3
    <strong>
4
        <fmt:formatNumber value="${sessionScope.cart.total}" type="currency"/>
5
    </strong>
6
    <p>Para efetuar a compra dos livros selecionados, informe os seguintes dados:
7
    <c:url var="url" value="/livros/recibo" />
8
    <form action="${url}" method="post">
9
        <table summary="layout">
10
            <tr>
11
                  <td><strong>Nome:</strong></td>
12
                  <td><input type="text" name="nome" value="" size="30"></td>
13
            </tr>
14
            <tr>
15
                  <td><strong>Número do cartão:</strong></td>
16
                  <td><input type="text" name="cardnum"
17
                             value="xxxx xxxx xxxx xxxx" size="19"></td>
18
            </tr>
19
            <tr>
20
                <td></td>
21
            <td><input type="submit" value="Comprar"></td>
22
            </tr>
23
        </table>
24
    </form>
25
<%@ include file="/rodape.jsp" %>
Figura 06 - Tela de compra dos livros
 Tela de compra dos livros

Ao clicar no botão comprar, o usuário é levado a URL /livros/recibo. Essa URL irá gerar um recibo de compra para o usuário. Isso é mostrado pela Figura 7. É apresentada uma mensagem de agradecimento com o nome do usuário e indica-se que a data de envio dos livros é de cinco dias depois da data de compra (data atual), visando confirmação do pagamento do cartão.

Figura 07 - Tela de recibo de compra
 Tela de recibo de compra
play_circle_filled
Vídeo 02 - Carrinho de Compras, Finalizar Compras e Recibo
Para gerar o código da tela de recibos, primeiro temos que efetuar a compra dos livros. Isso é feito pelo método comprarLivros() da livraria, o qual é acionado pelo Servlet controlador, quando adicionamos a ele o seguinte código:
7
1
    else if (acaoSelecionada.equals("/livros/recibo")) {
2
        try {
3
            livraria.comprarLivros(carrinho);
4
        } catch (CompraException ex) {
5
            ex.printStackTrace();
6
        }
7
    }

Já para montar a página JSP de recibo/confirmação de compra, temos o seguinte código para o arquivo recibo.jsp:

x
1
    <%@ include file="/cabecalho.jsp" %>
2
    <h3>Obrigado ${param.nome}.</h3><br>
3
    <jsp:useBean id="now" class="java.util.Date" />
4
    <jsp:setProperty name="now" property="time" value="${now.time+432000000}"/>
5
6
    Seus livros serão enviados paravocê em
7
    <fmt:formatDate value="${now}" type="date" dateStyle="full"/>.<br><br>
8
    <c:remove var="cart" scope="session" />
9
    <c:url var="url" value="/livraria.jsp" />
10
    <strong>
11
        <a href="${url}">Continuar comprando</a>
12
    </strong>
13
<%@ include file="/rodape.jsp" %>

Note o uso da classe Date e da configuração da data representada pelo objeto como igual à data atual (now.time) adicionada de 5 dias (equivalente a 432000000 milissegundos).

Versão 5.3 - Todos os Direitos reservados