<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
    <head>
        <meta name="author" content="troy.giunipero@sun.com">
        <meta http-equiv="content-type" content="text/html; charset=UTF-8">
        <meta name="description" content="This tutorial unit demonstrates how to create project files in the IDE, and introduces you to some of the facilities available for HTML and CSS development.">

        <meta name="keywords" content="NetBeans, IDE, integrated development environment,
            Java, Java EE, open source, web technology, e-commerce">

        <link rel="stylesheet" type="text/css" href="../../../../netbeans.css">
        <link rel="stylesheet" type="text/css" href="../../../../print.css" media="print">
        <link rel="stylesheet" type="text/css" href="../../../../lytebox.css" media="screen">
        <script type="text/javascript" src="../../../../images_www/js/lytebox-compressed.js"></script>

        <title>Tutorial do NetBeans E-commerce: Preparando as Views de Página e o Servlet Controlador</title>
    </head>

    <body>

<!-- Copyright (c) 2009, 2010, Oracle and/or its affiliates. All rights reserved. -->

        <h1>Tutorial do NetBeans E-commerce: Preparando as Views de Página e o Servlet Controlador</h1>

        <div style="margin-left:-3px">
            <div class="feedback-box margin-around float-left" style="margin-right:15px">

                <h4>Conteúdo do Tutorial</h4>

                <ol>
                    <li><a href="intro.html">Introdução</a></li>
                    <li><a href="design.html">Criando a Aplicação</a></li>
                    <li><a href="setup-dev-environ.html">Configurando o Ambiente de Desenvolvimento</a></li>
                    <li><a href="data-model.html">Criando o Modelo de Dados</a></li>
                    <li><strong>Preparando as Views de Página e Servlet do Controlador</strong>

                        <ul style="margin: 5px 0 0 -2em">
                            <li><a href="#createProjectFiles">Criando Arquivos do Projeto</a></li>
                            <li><a href="#implementHTML">Implementando Conteúdo HTML e CSS</a></li>
                            <li><a href="#view">Colocando as Páginas JSP em WEB-INF</a></li>
                            <li><a href="#jspf">Criando um Cabeçalho e Rodapé</a></li>
                            <li><a href="#dd">Adicionando uma Diretiva a um Descritor de Implantação</a></li>
                            <li><a href="#controller">Criando Servlet Controlador</a></li>
                            <li><a href="#implement">Implementando o Servlet Controlador</a></li>
                            <li><a href="#seeAlso">Consulte Também</a></li>
                        </ul></li>

                    <li><a href="connect-db.html">Conectando a Aplicação ao Banco de Dados</a></li>
                    <li><a href="entity-session.html">Adicionando Classes de Entidades e Beans de Sessão</a></li>
                    <li><a href="manage-sessions.html">Gerenciando Sessões</a></li>
                    <li><a href="transaction.html">Integrando a Lógica de Negócios Transacional</a></li>
                    <li><a href="language.html">Adicionando o Suporte a Idioma</a></li>
                    <li><a href="security.html">Protegendo a Aplicação</a></li>
                    <li><a href="test-profile.html">Testando e Criando Perfis</a></li>
                    <li><a href="conclusion.html">Conclusão</a></li>
                </ol>
            </div>
        </div>

        <p><img alt="O conteúdo desta página se aplica ao NetBeans IDE, versões e 6.8 e 6.9" class="stamp" src="../../../../images_www/articles/68/netbeans-stamp-68-69.png" title="O conteúdo desta página se aplica ao NetBeans IDE, versões e 6.8 e 6.9"></p>

        <p>Esta unidade do tutorial demonstra como criar arquivos de projeto no IDE e apresenta alguns dos recursos disponíveis para desenvolvimento em HTML e CSS. Após criar os arquivos de projeto necessários, você começa a organizar o front-end da aplicação. Isso é, você colocará arquivos JSP nos seus locais apropriados dentro da estrutura do projeto, criará um cabeçalho e um rodapé que serão aplicados a todas as views e configurará o servlet controlador para tratar solicitações de entrada.</p>

        <p>Nesta unidade você também criará um descritor de implantação web (arquivo <code>web.xml</code>) para a aplicação. Você pode utilizar o descritor de implantação para especificar informações de configuração que serão lidas pelo servidor durante a implantação. Embora as <a href="http://jcp.org/en/jsr/detail?id=315" target="_blank">especificações do Servlet 3.0</a>, incluídas no Java EE 6, permitam a utilização de anotações de classe no lugar de XML, é possível ainda exigir que o descritor de implantação configure certos elementos da aplicação. Especificamente, nesta unidade serão adicionadas diretivas para o cabeçalho e rodapé e serão especificados em que arquivos elas serão aplicadas.</p>

        <p>Um dos objetivos desta unidade do tutorial é criar páginas JSP que correspondem às views especificadas no design da aplicação. Consultando os <a href="design.html#mockups">modelos de página</a> e o <a href="design.html#business">diagrama de fluxo do processo</a>, você começa a implementar layouts de páginas de acordo com as maquetes ao criar <em>placeholders</em> para todos os componentes visuais e funcionais. Esta unidade fornece um guia para a implementação do layout da página de boas-vindas. É possível aplicar as etapas descritas para criar as outras páginas sozinho ou <a href="https://netbeans.org/projects/samples/downloads/download/Samples%252FJavaEE%252Fecommerce%252FAffableBean_snapshot1.zip">fazer download do snapshot 1 do projeto</a> que fornece layouts completos de todas as páginas.</p>

        <p>Você pode exibir uma demonstração ao vivo da aplicação construída neste tutorial: <a href="http://dot.netbeans.org:8080/AffableBean/" target="_blank">Aplicação de Demonstração do Tutorial do NetBeans E-commerce</a></p>

        <br style="clear:left">

        <br>
        <table>
            <tbody>
                <tr>
                    <th class="tblheader" scope="col">Software ou Recurso</th>
                    <th class="tblheader" scope="col">Versão Necessária</th>
                </tr>
                <tr>
                    <td class="tbltd1"><a href="https://netbeans.org/downloads/index.html" target="_blank">NetBeans IDE</a></td>
                    <td class="tbltd1">Pacote Java, 6.8 ou 6.9</td>
                </tr>
                <tr>
                    <td class="tbltd1"><a href="http://www.oracle.com/technetwork/java/javase/downloads/index.html" target="_blank">Java Development Kit (JDK)</a></td>
                    <td class="tbltd1">versão 6</td>
                </tr>
                <tr>
                    <td class="tbltd1"><a href="#glassFish">GlassFish Server</a></td>
                    <td class="tbltd1">v3 ou Open Source Edition 3.0.1</td>
                </tr>
            </tbody>
        </table>

        <p><strong class="notes">Observações:</strong></p>

        <ul>
            <li>O NetBeans IDE requer o Java Development Kit (JDK) para ser executado adequadamente. Se você não tiver nenhum dos recursos listados acima, o JDK deverá ser o primeiro item a ser submetido a download e instalado.</li>

            <li>O Pacote Java do NetBeans IDE inclui o Java Web e tecnologias EE, que são necessárias para a aplicação construída neste tutorial.</li>

            <li id="glassFish">O pacote Java do NetBeans IDE também inclui o GlassFish Server, necessário para este tutorial. Você poderia <a href="https://glassfish.dev.java.net/public/downloadsindex.html" target="_blank">fazer download do GlassFish Server independentemente</a>, mas a versão fornecida pelo NetBeans do qual fez download tem a vantagem adicional de ser registrada automaticamente no IDE.</li>
        </ul>


        <br>
        <h2 id="createProjectFiles">Criando Arquivos do Projeto</h2>

        <p>Para criar novos arquivos para o projeto, acesse o assistente de Arquivo do IDE. Você pode clicar no botão Novo Arquivo (<img alt="Botão Novo Arquivo" src="../../../../images_www/articles/73/javaee/ecommerce/common/new-file-btn.png">), pressionar Ctrl-N (⌘-N no Mac), ou na janela Projetos, clique com o botão direito do mouse no nó de pasta que conterá o novo arquivo, e selecione Novo > [tipo de arquivo]. Nas subseções a seguir, crie páginas JSP e folha de estilo para o projeto.</p>

        <ul>
            <li><a href="#jsp">Criando Páginas JSP</a></li>
            <li><a href="#css">Criando uma Folha de Estilo</a></li>
        </ul>

        <div class="indent">
            <h3 id="jsp">Criando Páginas JSP</h3>

            <p>Comece a trabalhar no projeto criando páginas JSP que correspondem às views exibidas no <a href="design.html#business">diagrama de fluxo do processo</a>.</p>

            <p>A página <code>index.jsp</code> que foi gerada pelo IDE se tornará a página de boas-vindas do projeto. Crie uma página JSP para as quatro views remanescentes e, por enquanto, coloque-as na raiz da web do projeto com <code>index.jsp</code>.</p>

            <ol>
                <li>Clique no botão Novo Arquivo (<img alt="Botão Novo Arquivo" src="../../../../images_www/articles/73/javaee/ecommerce/common/new-file-btn.png">) para abrir o assistente de Arquivo.</li>

                <li>Selecione a categoria da Web e, em seguida, selecione JSP e clique em Próximo.</li>

                <li>Nomeie o arquivo "<code>category</code>". Note que o campo Localização está definido como <code>Páginas Web</code>, indicando que o arquivo será criado na raiz da web do projeto. Isso corresponde à pasta <code>web</code> do projeto, que pode ser verificada mais tarde na janela Arquivos do IDE.</li>

                <li>Clique em Finalizar. O IDE gera a nova página JSP e a abre no editor.</li>

                <li>Repita as etapas 1 a 4 acima para criar as páginas <code>cart.jsp</code>, <code>checkout.jsp</code>, <code>confirmation.jsp</code> remanescentes. <br><br> Quando você finalizar, a janela Projetos terá a seguinte aparência: <br> <img alt="Janela Projetos que exibe a pasta "view" e JSP" class="margin-around b-all" src="../../../../images_www/articles/73/javaee/ecommerce/page-views-controller/projects-win-views.png" title="As views estão contidas na pasta "WEB-INF/view">
                </li>
            </ol>


            <h3 id="css">Criando uma Folha de Estilo</h3>

            <p>Crie um arquivo CSS para conter todos os estilos específicos da aplicação.</p>

            <ol>
                <li>Na janela Projetos, clique com o botão direito do mouse no nó Páginas Web e selecione Nova > Pasta.</li>

                <li>No assistente de Nova Pasta, nomeie a pasta "<code>css</code>" e clique em Finalizar.</li>

                <li>Clique com o botão direito do mouse na nova pasta <code>css</code> e selecione Novo > Folha de Estilo em Cascata. (Se o item Folha de Estilo em Cascata não estiver listado, escolha Outro. No assistente de Arquivo, selecione a categoria Web e, em seguida, selecione Folha de Estilo em Cascata e selecione Próximo.)</li>

                <li>Nomeie a folha de estilo como <code>affablebean</code> e clique em Finalizar. <br><br> Quando finalizar, você verá o arquivo <code>affablebean.css</code> exibido na janela de Projetos. <br> <img alt="Janela Projetos que a exibe folha de estilo "affablebean.css"" class="margin-around b-all" src="../../../../images_www/articles/73/javaee/ecommerce/page-views-controller/projects-win-css.png" title="A janela Projetos exibe a nova pasta ''css" e a folha de estilo"></li>
            </ol>
        </div>


        <br>
        <h2 id="implementHTML">Implementando conteúdo HTML e CSS</h2>

        <p>O propósito desta seção é criar as views de página para que comecem a espelhar os <a href="design.html#mockups">modelos de página</a> fornecidos. Assim, elas servirão como andaime que pode ser utilizado para inserir conteúdo dinâmico durante estágios posteriores do desenvolvimento do projeto. Para fazer isso, serão utilizados os editores de HTML e CSS do IDE, junto com várias janelas de suporte do CSS.</p>

        <p class="notes"><strong>Nota de compatibilidade do browser:</strong> este tutorial utiliza Firefox 3 e <em>não</em> garante que a marcação da view da página seja compatível com outros browsers modernos. Naturalmente, ao trabalhar com tecnologias web front-end (HTML, CSS e JavaScript) é recomendado ter medidas para assegurar que as páginas web tenham sido renderizadas apropriadamente nos browsers e versões dos browsers que você espera que os visitantes do site utilizarão (normalmente Internet Explorer, Firefox, Safari, Chrome e Opera). Ao trabalhar com o IDE, você pode definir o browser em que deseja que sua aplicação seja aberta. Selecione Ferramentas > Opções (NetBeans > Preferências no Mac) e na guia Geral na janela Opções, selecione o browser que deseja utilizar do drop-down do Browser da Web. O IDE detecta os browsers instalados nas suas localizações default. Se um browser instalado no seu computador não for exibido, clique no botão Editar e registre o browser manualmente.</p>

        <p>Preparar a exibição da suas páginas web é, geralmente, um processo iterativo, que você iria ajustar com comentários regulares do cliente. As seguintes etapas foram criadas para apresentar os recursos fornecidos pelo IDE e demonstrar como iniciar utilizando o <a href="design.html#index">modelo da página de boas-vindas</a> como exemplo.</p>

        <ol>
            <li>Na janela Projetos, clique duas vezes em<code>index.jsp</code> para abri-lo no editor.</li>

            <li>Comece criando tags <code>&lt;div></code> para as áreas principais da página. Você pode criar ao todo cinco tags: quatro para as áreas principais (cabeçalho, rodapé, coluna da esquerda e coluna da direita) e a quinta para conter as outras. Remova qualquer conteúdo de dentro da tag <code>&lt;body></code> e substitua-o pelo seguinte. (O novo código é mostrado em <strong>negrito</strong>.)

                <pre class="examplecode">
&lt;body&gt;
    <strong>&lt;div id=&quot;main&quot;&gt;
        &lt;div id=&quot;header&quot;&gt;
            header
        &lt;/div&gt;

        &lt;div id=&quot;indexLeftColumn&quot;&gt;
            left column
        &lt;/div&gt;

        &lt;div id=&quot;indexRightColumn&quot;&gt;
            right column
        &lt;/div&gt;

        &lt;div id=&quot;footer&quot;&gt;
            footer
        &lt;/div&gt;
    &lt;/div&gt;</strong>
&lt;/body&gt;</pre></li>

            <li>Adicione referências à folha de estilo no cabeçalho da página e altere o texto do título.

                <pre class="examplecode">
&lt;head&gt;
    &lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=UTF-8&quot;&gt;
    <strong>&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;css/affablebean.css&quot;&gt;</strong>
    &lt;title&gt;<strong>The Affable Bean</strong>&lt;/title&gt;
&lt;/head&gt;</pre></li>

            <li>Abra a folha de estilos <code>affablebean.css</code> no editor. Comece criando regras de estilo para os IDs <code>&lt;div></code> recém-criados.

                <ul style="margin: 5px 0 0 -.7em">
                    <li>Utilize as propriedades <code>width</code> e <code>height</code> para criar espaço para cada área.</li>

                    <li>Utilize a propriedade <code>background</code> para discernir as áreas quando exibir a página.</li>

                    <li>Para centralizar horizontalmente as quatro áreas na página, você pode incluir <code>margin: 20px auto</code> à regras <code>body</code>. (<code>20px)</code> aplica-se à parte superior e à inferior <code>auto</code> cria espaçamento igual para a esquerda e para a direita.) Depois inclua <code>float: left</code> às colunas da esquerda e da direita.</li>

                    <li>O rodapé requer <code>clear:left</code> para que sua borda superior seja exibida depois das bordas inferiores de qualquer área flutuante da esquerda acima dela (exemplo, as colunas da esquerda e da direita).</li>
                </ul>

                <pre class="examplecode">
body {
    font-family: Arial, Helvetica, sans-serif;
    width: 850px;
    text-align: center;
    margin: 20px auto;
}

#main { background: #eee }

#header {
    height: 250px;
    background: #aaa;
}

#footer {
    height: 60px;
    clear: left;
    background: #aaa;
}

#indexLeftColumn {
    height: 400px;
    width: 350px;
    float: left;
    background: #ccc;
}

#indexRightColumn {
    height: 400px;
    width: 500px;
    float: left;
    background: #eee;
}</pre></li>

            <li>Clique no botão Executar Projeto (<img alt="Botão Executar Projeto" src="../../../../images_www/articles/73/javaee/ecommerce/common/run-project-btn.png">) na barra de ferramentas principal do IDE. Os arquivos do projeto que contêm alterações são automaticamente salvos, qualquer código Java no projeto é compilado, o projeto é encapsulado e implantado ao GlassFish e o browser é aberto para exibir o estado atual da página de boas-vindas. <br> <img alt="Página de boas-vindas exibida no browser" class="margin-around b-all" src="../../../../images_www/articles/73/javaee/ecommerce/page-views-controller/index-page.png" style="width:688px" title="Executar o projeto para exibir o estado atual das páginas"></li>

            <li>Agora, comece criando placeholders para componentes da página dentro de cada uma das quatro áreas visíveis. Inicie com o cabeçalho. Revisando o <a href="design.html#index">modelo da página de boas-vindas</a>, o cabeçalho deverá conter todos os componentes a seguir:

                <ul style="margin: 5px 0 0 -.7em">
                    <li>Logotipo</li>
                    <li>texto do logotipo</li>
                    <li>widget de carrinho de compras</li>
                    <li>alternância de idioma</li>
                </ul>

                Execute as mudanças a seguir no arquivo <code>index.jsp</code>. (Novo código mostrado em <strong>negrito</strong>.)

                <pre class="examplecode">
&lt;div id=&quot;header&quot;&gt;
    <strong>&lt;div id=&quot;widgetBar&quot;&gt;

        &lt;div class=&quot;headerWidget&quot;&gt;
            [ language toggle ]
        &lt;/div&gt;

        &lt;div class=&quot;headerWidget&quot;&gt;
            [ shopping cart widget ]
        &lt;/div&gt;

    &lt;/div&gt;

    &lt;a href=&quot;#&quot;&gt;
        &lt;img src=&quot;#&quot; id=&quot;logo&quot; alt=&quot;Affable Bean logo&quot;&gt;
    &lt;/a&gt;

    &lt;img src=&quot;#&quot; id=&quot;logoText&quot; alt=&quot;the affable bean&quot;&gt;</strong>
&lt;/div&gt;</pre>

                No código acima, utilize um elemento <code>&lt;div id="widgetBar"></code> para conter a alternância de idioma e o widget de carrinho de compras. <br><br>
                <div class="feedback-box float-left" style="width: 683px;">

                    <h3>Suporte ao Editor HTML do NetBeans</h3>

                    <p>Ao trabalhar no editor, aproveite o suporte HTML do IDE. Além do realce de sintaxe típico que permite diferenciar tags, atributos, valores de atributo e texto, existem muitas outras funcionalidades.</p>

                    <p>Durante a digitação de tags e atributos no editor, você pode chamar a funcionalidade autocompletar código e o suporte da documentação pressionando Ctrl-Espaço. O IDE apresenta uma lista de sugestões para que você escolha, assim como uma janela de documentação que define o item selecionado e fornece exemplo de códigos.</p>

                    <img alt="As janelas de autocompletar código e documentação serão exibidas no editor" class="margin-around b-all" src="../../../../images_www/articles/73/javaee/ecommerce/page-views-controller/documentation-popup.png" title="Pressione Ctrl-Espaço para exibir as janelas de autocompletar código e de documentação" />

                    <p>O IDE detecta erros no seu código e fornece advertências, mensagens de erro e, em alguns casos, sugestões. As mensagens de advertência são exibidas em amarelo, enquanto erros são mostrados em vermelho. Você pode passar o ponteiro do mouse sobre uma área designada para exibir a mensagem em uma dica de ferramentas.</p>

                    <img alt="Advertência HTML exibida no editor" class="margin-around b-all" src="../../../../images_www/articles/73/javaee/ecommerce/page-views-controller/html-hint.png" title="Passe o ponteiro do mouse para exibir uma advertência de dica de ferramentas" />

                    <p>Você pode também aproveitar os vários atalhos do teclado. Selecione Ajuda > Cartão de Atalhos do Teclado no menu principal.</p>
                </div>
                <br style="clear: both;"/></li>

            <li>Na folha de estilo, crie regras para os novos IDs e classes. Adicione as regras a seguir abaixo da regra <code>header</code>. (Novo código mostrado em <strong>negrito</strong>.)

                <pre class="examplecode">
#header {
    height: 250px;
    background: #aaa;
}

<strong>#logo {
    height: 155px;
    width: 155px;
    float: left;
    margin-left: 30px;
    margin-top: -20px;
}

#logoText {
    float: left;
    margin: 20px 0 0 70px;
    /* font styles apply to text within alt tags */
    font-family: 'American Typewriter', Courier, monospace;
    font-size: 50px;
    color: #333;
}

#widgetBar {
    height: 50px;
    width: 850px;
    float: right;
    background: #ccc;
}

.headerWidget {
    width: 194px;
    margin: 20px 2px;
    font-size: small;
    float: right;
    line-height: 25px;
    background: #aaa;
}</strong></pre>

                Para a regra <code>logo</code> são aplicadas as propriedades <code>margin-left</code> e <code>margin-top</code> para posicionar o componente na página. <br><br> Se houver propriedades no código acima com as quais você não está familiarizado, posicione o cursor na propriedade e pressione Ctrl-Espaço para chamar uma janela pop-up que fornece o suporte de documentação. <br> <img alt="Janela Documentação para suporte CSS" class="margin-around b-all" src="../../../../images_www/articles/73/javaee/ecommerce/page-views-controller/css-doc-support.png" title="Pressione Ctrl-Espaço em uma propriedade CSS para chamar o suporte de documentação"> <br>
                <p class="tips">Para ver como uma propriedade está afetando sua página, você pode comentá-la e depois atualizar a página no browser. Para comentar o código, posicione o cursor em uma linha ou realce um bloco de código e, em seguida, pressione Ctrl-/ (⌘-/ no Mac).</p></li>

            <li>Salve (Ctrl-S; ⌘-S no Mac) os arquivos <code>index.jsp</code> e <code>affablebean.css</code> e, em seguida, mude para o browser e atualize a página para exibir seu estado atual. <br><br>
                <p class="notes"><strong>Observação:</strong> o recurso "Implantar ao Salvar" do IDE é ativado automaticamente pelos projetos Java Web Isso significa que toda vez que você salva um arquivo ele é automaticamente compilado (exemplo, se for uma classe Java ou página JSP) e que o projeto está recém-encapsulado e implantado no seu servidor. Portanto, quando fizer alterações em HTML ou CSS, não é necessário reexecutar explicitamente o projeto pra exibir a versão atualizada em um browser. Simplesmente salve seu(s) arquivo(s) e, em seguida, mude para o browser e atualize a página.</p>

                <img alt="Página de boas-vindas exibida no browser" class="margin-around b-all" src="../../../../images_www/articles/73/javaee/ecommerce/page-views-controller/index-page2.png" style="width:688px" title="Placeholders para cabeçalho são visíveis ao executar o projeto"> <br> Ao seguir as etapas anteriores, você provavelmente poderá ver um padrão surgindo. Para cada área na página, você executa três etapas.

                <ol style="list-style:lower-alpha; margin-top:5px">
                    <li>Crie a estrutura em HTML.</li>
                    <li>Crie um conjunto de estilos para definir a aparência.</li>
                    <li>Exiba a página para examinar os resultados das suas alterações.</li>
                </ol>

                Seguindo essas três etapas, vamos implementar os componentes nas áreas remanescentes.</li>

            <li>Crie placeholders para componentes na coluna da direita. De acordo com o <a href="design.html#index">modelo da página de boas-vindas</a>, a coluna da direita contém quatro caixas com espaçamento uniforme. <br><br> Crie a estrutura para as quatro caixas. Insira o código a seguir entre as tags <code>&lt;div id="indexRightColumn"></code>. (Novo código mostrado em <strong>negrito</strong>.)

                <pre class="examplecode">
&lt;div id=&quot;indexRightColumn&quot;&gt;
    <strong>&lt;div class=&quot;categoryBox&quot;&gt;
        &lt;a href=&quot;#&quot;&gt;
            &lt;span class=&quot;categoryLabelText&quot;&gt;dairy&lt;/span&gt;
        &lt;/a&gt;
    &lt;/div&gt;
    &lt;div class=&quot;categoryBox&quot;&gt;
        &lt;a href=&quot;#&quot;&gt;
            &lt;span class=&quot;categoryLabelText&quot;&gt;meats&lt;/span&gt;
        &lt;/a&gt;
    &lt;/div&gt;
    &lt;div class=&quot;categoryBox&quot;&gt;
        &lt;a href=&quot;#&quot;&gt;
            &lt;span class=&quot;categoryLabelText&quot;&gt;bakery&lt;/span&gt;
        &lt;/a&gt;
    &lt;/div&gt;
    &lt;div class=&quot;categoryBox&quot;&gt;
        &lt;a href=&quot;#&quot;&gt;
            &lt;span class=&quot;categoryLabelText&quot;&gt;fruit & veg&lt;/span&gt;
        &lt;/a&gt;
    &lt;/div&gt;</strong>
&lt;/div&gt;</pre></li>

            <li>Adicione regras de estilo ao <code>addablebean.css</code> para as novas classes <code>categoryBox</code> e <code>categoryLabelText</code>. (Novo código mostrado em <strong>negrito</strong>.)

                <pre class="examplecode">
#indexRightColumn {
    height: 400px;
    width: 500px;
    float: left;
    background: #eee;
}

<strong>.categoryBox {
    height: 176px;
    width: 212px;
    margin: 21px 14px 6px;
    float: inherit;
    background: #ccc;
}

.categoryLabelText {
    line-height: 150%;
    font-size: x-large;
}</strong></pre>

                <div class="feedback-box float-left" style="width: 683px;">

                    <h3>Suporte CSS do NetBeans</h3>

                    <p>Quando você trabalha em folhas de estilo, há duas janelas que podem ser particularmente úteis. A Visualização CSS permite exibir regras de estilo conforme são renderizadas no browser. Para abrir a Visualização CSS, selecione Janela > Outro > Visualização CSS no menu principal. Quando você coloca o cursor dentro de uma regra de estilo no editor, a Visualização CSS é atualizada automaticamente para exibir o texto de amostra de acordo com as propriedades definidas na regra.</p>

                        <img alt="Visualização CSS" class="margin-around b-all" src="../../../../images_www/articles/73/javaee/ecommerce/page-views-controller/css-preview.png" title="Usar a Visualização CSS para exibir regras de estilo renderizadas">

                    <p>O Construtor de Estilo CSS é útil se você não gostar de codificar regras de estilo manualmente. Para abrir o Construtor de Estilo CSS, selecione Janela > Outro > Construtor de Estilo CSS no menu principal. Utilizando essa interface, você pode construir regras ao selecionar propriedades e valores de uma interface gráfica.</p>

                        <img alt="Construtor de Estilo CSS" class="margin-around b-all" src="../../../../images_www/articles/73/javaee/ecommerce/page-views-controller/style-builder.png" title="Usar o Construtor de Estilo CSS para criar regras de estilo">

                    <p>Como a Visualização CSS, o Construtor de Estilo está sincronizado com o editor. Quando você faz uma seleção no Construtor de Estilo, a regra de estilo é atualizada automaticamente no editor. Do mesmo modo, ao digitar alterações no editor, as seleções no Construtor de Estilo são atualizadas instantaneamente.</p>
                </div>
                <br style="clear: both;"/></li>

            <li>Salve (Ctrl-S; ⌘-S no Mac) os arquivos <code>index.jsp</code> e <code>affablebean.css</code> e, em seguida, mude para o browser e atualize a página para exibir seu estado atual. <br> <img alt="Página de boas-vindas exibida no browser" class="margin-around b-all" src="../../../../images_www/articles/73/javaee/ecommerce/page-views-controller/index-page3.png" style="width:688px" title="Placeholders para cabeçalho e a coluna da direita são visíveis ao executar o projeto">

            <li>A coluna da esquerda e o rodapé requerem placeholders apenas para o texto estático, então vamos implementar os dois simultaneamente. <br><br> Insira o código a seguir entre as tags <code>&lt;div id="indexLefttColumn"></code> e <code>&lt;div id="footer"></code>. (Novo código mostrado em <strong>negrito</strong>.)

                <pre class="examplecode">
&lt;div id=&quot;indexLeftColumn&quot;&gt;
    <strong>&lt;div id=&quot;welcomeText&quot;&gt;
        &lt;p&gt;[ welcome text ]&lt;/p&gt;
    &lt;/div&gt;</strong>
&lt;/div&gt;

...

&lt;div id=&quot;footer&quot;&gt;
    <strong>&lt;hr&gt;
    &lt;p id=&quot;footerText&quot;&gt;[ footer text ]&lt;/p&gt;</strong>
&lt;/div&gt;</pre></li>

            <li>Faça alterações na folha de estilo <code>affablebean.css</code>. Não é necessário explicar todos os novos IDs e classes: você pode ajustar a aparência posteriormente ao receber o texto e as imagens do cliente. <br><br> A tag de regra horizontal (<code>&lt;hr></code>) executa todos os elementos nela contidos (<code>&lt;div id="footer"</code>). Portanto, para encurtá-la de acordo com a imagem de modelo, você pode ajustar a largura do <code>&lt;div id="footer"></code>. (Novo código mostrado em <strong>negrito</strong>.)

                <pre class="examplecode">
#footer {
    height: 60px;
    <strong>width: 350px;</strong>
    clear: left;
    background: #aaa;
}

<strong>hr {
    border: 0;
    background-color: #333;
    height: 1px;
    margin: 0 25px;
    width: 300px;
}</strong></pre></li>

            <li>Salve (Ctrl-S; ⌘-S no Mac) os arquivos <code>index.jsp</code> e <code>affablebean.css</code> e, em seguida, mude para o browser e atualize a página para exibir o estado atual. <br> <img alt="Página de boas-vindas exibida no browser" class="margin-around b-all" id="welcome-page" src="../../../../images_www/articles/73/javaee/ecommerce/page-views-controller/index-page4.png" style="width:688px" title="Placeholders para a coluna esquerda e o rodapé são visíveis"> <br> A página de boas-vindas foi concluída. Foram criados todos os placeholders necessários para componentes que existirão na página.
            </li>
        </ol>

        <p>Você concluiu o design inicial da página de boas-vindas da aplicação. Todos os placeholders para os componentes da página existem. Posteriormente neste tutorial, quando começar a aplicar lógica dinâmica às views de páginas, você poderá simplesmente conectar expressões JSTL e EL aos placeholders.</p>

        <p>A tarefa continua para você implementar o design inicial para as outras páginas com base nos <a href="design.html#mockups">modelos</a>. Para realizar isso, siga o padrão descrito acima, ou seja:</p>

        <ol style="margin: 5px 0 0 -.7em">
            <li>Crie tags <code>&lt;div></code> para as áreas da página principal.</li>
            <li>Repita em cada área e execute as três etapas a seguir:

                <ol style="margin: 5px 0 0 -1.4em; list-style-type: lower-alpha">
                    <li>Crie a estrutura em HTML.</li>
                    <li>Crie um conjunto de estilos para definir a aparência.</li>
                    <li>Exiba a página para examinar os resultados das suas alterações.</li>
                </ol></li>
        </ol>

        <p>Assegure-se de aproveitar o suporte HTML e CSS que o IDE oferece. Algumas <a href="#tipsTricks">dicas e truques</a> estão descritos abaixo. Se desejar apenas pegar o código para as páginas remanescentes e prosseguir com o tutorial,você pode <a href="https://netbeans.org/projects/samples/downloads/download/Samples%252FJavaEE%252Fecommerce%252FAffableBean_snapshot1.zip">fazer download do snapshot 1 do projeto <code>AffableBean</code></a>. Imagens das implementações do modelo inicial para as páginas remanescentes estão incluídas aqui.</p>

        <div class="indent">
            <h4 id="categoryPage">página de categoria</h4>

            <img alt="Página da categoria exibida no browser" class="margin-around b-all" src="../../../../images_www/articles/73/javaee/ecommerce/page-views-controller/category-page.png" style="width:708px" title="Placeholders implementados para página da categoria"> <br><br>

            <h4 id="cartPage">página do carrinho</h4>

            <img alt="Página do carrinho exibida no browser" class="margin-around b-all" src="../../../../images_www/articles/73/javaee/ecommerce/page-views-controller/cart-page.png" style="width:708px" title="Placeholders implementados para página do carrinho"> <br><br>

            <h4 id="checkoutPage">página de check-out</h4>

            <img alt="Página de check-out exibida no browser" class="margin-around b-all" src="../../../../images_www/articles/73/javaee/ecommerce/page-views-controller/checkout-page.png" style="width:708px" title="Placeholders implementados para a página de check-out"> <br><br>

            <h4>página de confirmação</h4>

            <img alt="Página de confirmação exibida no browser" class="margin-around b-all" src="../../../../images_www/articles/73/javaee/ecommerce/page-views-controller/confirmation-page.png" style="width:708px" title="Placeholders implementados para a página de check-out"> <br><br>

            <p class="notes"><strong>Observação:</strong> as cores do segundo plano de cada página servem apenas para ajudá-lo a posicionar os elementos enquanto desenvolve a aplicação Eventualmente, será necessário removê-las da folha de estilo e aplicar uma cor de segundo plano mais adequada para a aplicação. Você pode fazer isso ajustando a regra de segundo plano para a classe <code>main</code>:</p>

            <div class="indent">
                <pre class="examplecode">#main { background: #f7f7e9 }</pre>
            </div>


            <h3 id="tipsTricks">Dicas e Truques</h3>

            <p>O editor do IDE fornece muitos recursos que o ajudam a trabalhar de forma mais eficiente. Se estiver familiarizado com os atalhos de teclado e botões na barra de ferramentas do editor, você poderá melhorar a produtividade. A lista de dicas a seguir se aplica ao editor para arquivos HTML e CSS. Para exibir mais atalhos do teclado, abra o Cartão de Atalhos do Teclado do IDE selecionando Ajuda > Cartão de Atalhos do Teclado no menu principal.</p>

            <ul style="margin: 5px 0 0 -.7em">
                <li><strong>Autocompletar código:</strong> durante a digitação de tags e atributos, sugestões para autocompletar código aparecem automaticamente em uma caixa pop-up. Pressionar Enter completa a tag sugerida.</li>

                <li><strong>Formatar seu código:</strong> clique com o botão direito do mouse no editor e selecione Formatar.</li>

                <li><strong>Alternar números de linha:</strong> clique com o botão direito do mouse na margem esquerda e selecione Mostrar Números de Linha.</li>

                <li><strong>Localizar ocorrências:</strong> realce um bloco de texto e pressione Ctrl-F (⌘-F no Mac). Todas as correspondências ficam realçados no editor. Para alternar o realce, pressione o botão Alternar Realce da Pesquisa (<img alt="Botão Alternar Realce da Pesquisa" class="b-all" src="../../../../images_www/articles/73/javaee/ecommerce/page-views-controller/toggle-highlight.png">) (Ctrl-Shift-H) na barra de ferramentas do editor.</li>

                <li><strong>Criar um marcador:</strong> pressione o botão Alternar Marcador (<img alt="Botão Alternar Marcador" class="b-all" src="../../../../images_www/articles/73/javaee/ecommerce/page-views-controller/toggle-bookmark.png">) (Ctrl-Shift-M) para criar um marcador na margem esquerda do editor. Onde quer que esteja no arquivo, você pode pular para o marcador pressionando os botões Anterior/Próximo Marcador na barra de ferramentas do editor.</li>

                <li><strong>Copiar um snippet de código para cima ou para baixo:</strong> realce um snippet de código e, em seguida, pressione Ctrl-Shift-Up/Down.</li>

                <li><strong>Realçar as tags de abertura e fechamento:</strong> coloque o cursor na tag de abertura ou de fechamento e as duas serão realçadas em amarelo.</li>
            </ul>
        </div>


        <br>
        <h2 id="view">Colocando Páginas JSP em WEB-INF</h2>

        <p>Olhando novamente os <a href="design.html#mockups">modelos de página</a> que foram criados, você pode ver que a <a href="design.html#index">página de boas-vindas</a> deveria ter a mesma aparência sempre que solicitada, independente de quem solicitar. Isto é, o conteúdo que é exibido na página de boas-vindas não é determinado por uma <em>sessão</em> do usuário. (Sessões são discutidas na Unidade 8, <a href="manage-sessions.html">Gerenciando Sessões</a>.) Entretanto, note que todas as outras páginas precisam de alguma forma de informação específica do usuário para ser exibida adequadamente. Por exemplo, a <a href="design.html#category">página da categoria</a> requer que o usuário selecione uma categoria para ser exibida e a <a href="design.html#cart">página do carrinho</a> precisa saber todos os itens incluídos atualmente no carrinho de compras. Essas páginas não serão renderizadas de forma adequada se o servidor não puder associar as informações específicas do usuário a uma solicitação de entrada. Portanto, não queremos que essas páginas sejam acessadas diretamente de uma barra de endereço do browser. A pasta <code>WEB-INF</code> do projeto pode ser utilizada para esse propósito: quaisquer recursos contidos na pasta <code>WEB-INF</code> não são acessíveis diretamente de um browser.</p>

        <p>Crie uma nova pasta de nome <code>view</code> e coloque-a na pasta <code>WEB-INF</code>. Em seguida, mova todas as páginas JSP, menos a página de boas-vindas, para essa pasta nova.</p>

        <ol>
            <li>Na janela Projetos, clique com o botão direito do mouse no nó WEB-INF e selecione Novo > Pasta.</li>

            <li>No assistente Nova Pasta, nomeie a pasta <code>view</code> e clique em Finalizar. Note que um novo nó de pasta aparecerá na janela Projetos.</li>

            <li>Mova as páginas <code>category.jsp</code>, <code>cart.jsp</code>, <code>checkout.jsp</code>, e <code>confirmation.jsp</code> para a pasta <code>view</code>. <br><br> Você pode fazer isso clicando em <code>cart.jsp</code> para selecioná-la e, em seguida, clicando com o Shift pressionado em <code>confirmation.jsp</code>. Isso seleciona os quatro arquivos. Em seguida, com os quatro arquivos selecionados, clique e arraste-os para a pasta <code>WEB-INF/view</code>. <br> <img alt="Janela Projetos que exibe páginas JSP sendo arrastadas para a pasta "view"" class="margin-around b-all" src="../../../../images_www/articles/73/javaee/ecommerce/page-views-controller/view-folder.png" title="Clique e arraste as páginas JSP para a pasta "WEB-INF/view/""></li>
        </ol>

        <p>Para demonstrar que essas páginas não estão mais acessíveis em um browser, clique no botão Executar Projeto (<img alt="Botão Executar Projeto" src="../../../../images_www/articles/73/javaee/ecommerce/common/run-project-btn.png"> para executar o projeto. Quando a aplicação for exibida no browser, insira o caminho completo para qualquer um desses arquivos na barra de endereço. Por exemplo, digite:</p>

        <div class="indent">
            <pre class="examplecode" style="width:700px">http://localhost:8080/AffableBean/WEB-INF/view/category.jsp</pre>
        </div>

        <p>Você recebe uma mensagem HTTP Status 404, que indica que o recurso não está disponível.</p>


        <br>
        <h2 id="jspf">Criando um Cabeçalho e Rodapé</h2>

        <p>Olhando os <a href="design.html#mockups">modelos de página</a> é fácil ver se todas as cinco views compartilham conteúdo idêntico. Na parte superior, elas contêm o logotipo da empresa, a alternância de idioma e outros widgets associados à funcionalidade do carrinho de compras. Na parte inferior, elas contêm texto com links para Política de Privacidade e Contato. Em vez de incluir esse código em cada página do arquivo de origem, podemos fatorá-lo em dois fragmentos JSP: um cabeçalho e um rodapé. Em seguida, incluiremos os arquivos de fragmento em views de páginas sempre que for necessário renderizá-los.</p>

        <p>Para esses fragmentos, vamos criar uma nova pasta chamada <code>jspf</code> e inseri-la dentro de <code>WEB-INF</code>.</p>

        <ol>
            <li>Na janela Projetos, clique com o botão direito do mouse no nó WEB-INF e selecione Novo > Pasta.</li>

            <li>No assistente Nova Pasta, nomeie a pasta <code>jspf</code> e clique em Finalizar. <br><br>
                <p class="tips">Itens do menu fornecidos pelo IDE são geralmente sensíveis ao contexto. Por exemplo, como você clicou com o botão direito do mouse no nó WEB-INF, quando o assistente Nova Pasta foi exibido, <code>web/WEB-INF</code> foi inserido automaticamente no campo Pasta Pai. Do mesmo modo, ao clicar com o botão direito do mouse no nó da janela Projetos e selecionar Novo, a lista de tipos de arquivo será parcialmente determinada por seleções anteriores.</p>
            </li>

            <li>Crie dois segmentos JSP: <code>header.jspf</code> e <code>footer.jspf</code>. Para fazer isso, clique com o botão direito do mouse na pasta <code>jspf</code> recém-criada e selecione Novo > JSP. No assistente Novo JSP, insira o nome do arquivo e em Opções, selecione a opção Criar como um Segmento JSP e clique em Finalizar. <br><br> Ao finalizar, você visualizará <code>header.jspf</code> e <code>footer.jspf</code> exibidos na janela Projetos: <br> <img alt="A janela Projetos que exibe fragmentos JSP" class="margin-around b-all" src="../../../../images_www/articles/73/javaee/ecommerce/page-views-controller/projects-win-jspf.png" title="Fragmentos JSP de cabeçalho e rodapé serão exibidos no projeto"> <br><br> Agora você pode copiar o código do cabeçalho de qualquer página JSP e colar no arquivo <code>header.jspf</code>. Do mesmo modo, você pode copiar o código do rodapé de qualquer página JSP e colar no arquivo <code>footer.jspf</code>. Ao finalizar essa tarefa , você poderá remover o código do cabeçalho e do rodapé de todas as páginas JSP.</li>

            <li>Copie o código do cabeçalho de qualquer página JSP e cole no arquivo <code>header.jspf</code>. O cabeçalho deve incluir o tipo de documento da página e as tags de abertura <code>&lt;html></code>, <code>&lt;head></code> e <code>&lt;body></code> até a tag de fechamento para o elemento <code>&lt;div id="header&amp;quot></code>. Certifique-se de incluir placeholders para o widget de carrinho de compras, alternância de idioma e para o botão "ir para o check-out" utilizado na parte superior das views de páginas. Após colar o código no <code>header.jspf</code>, o arquivo terá a seguinte aparência.

<pre class="examplecode">
&lt;%@page contentType=&quot;text/html&quot; pageEncoding=&quot;UTF-8&quot;%&gt;
&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.01 Transitional//EN&quot;
    &quot;http://www.w3.org/TR/html4/loose.dtd&quot;&gt;

&lt;html&gt;
    &lt;head&gt;
        &lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=UTF-8&quot;&gt;
        &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;css/affablebean.css&quot;&gt;
        &lt;title&gt;The Affable Bean&lt;/title&gt;
    &lt;/head&gt;
    &lt;body&gt;
        &lt;div id=&quot;main&quot;&gt;
            &lt;div id=&quot;header&quot;&gt;
                &lt;div id=&quot;widgetBar&quot;&gt;

                    &lt;div class=&quot;headerWidget&quot;&gt;
                        [ language toggle ]
                    &lt;/div&gt;

                    &lt;div class=&quot;headerWidget&quot;&gt;
                        [ checkout button ]
                    &lt;/div&gt;

                    &lt;div class=&quot;headerWidget&quot;&gt;
                        [ shopping cart widget ]
                    &lt;/div&gt;

                &lt;/div&gt;

                &lt;a href=&quot;#&quot;&gt;
                    &lt;img src=&quot;#&quot; id=&quot;logo&quot; alt=&quot;Affable Bean logo&quot;&gt;
                &lt;/a&gt;

                &lt;img src=&quot;#&quot; id=&quot;logoText&quot; alt=&quot;the affable bean&quot;&gt;
            &lt;/div&gt;</pre></li>

            <li>Copie o código do rodapé de qualquer página JSP e cole no arquivo <code>footer.jspf</code>. O código do rodapé deve incluir o elemento <code>&lt;div id="footer"></code> até a tag de fechamento <code>&lt;html></code>. Após colar o código no <code>footer.jspf</code>, o arquivo terá a seguinte aparência.

<pre class="examplecode">
            &lt;div id=&quot;footer&quot;&gt;
                &lt;hr&gt;
                &lt;p id=&quot;footerText&quot;&gt;[ footer text ]&lt;/p&gt;
            &lt;/div&gt;
        &lt;/div&gt;
    &lt;/body&gt;
&lt;/html&gt;</pre></li>

            <li>Remova o código de cabeçalho e rodapé de todas as cinco páginas JSP (<code>index.jsp</code>, <code>category.jsp</code>, <code>cart.jsp</code>, <code>checkout.jsp</code> e <code>confirmation.jsp</code>).</li>
        </ol>


        <br>
        <h2 id="dd">Adicionando uma Diretiva ao Descritor de Implantação</h2>

        <p>Até agora, você colocou as views nos locais apropriados e fatorou o código comum de cabeçalho e rodapé nos arquivos <code>header.jspf</code> e <code>footer.jspf</code>. A aplicação ainda precisa saber em quais páginas dos arquivos de cabeçalho e rodapé serão aplicados. Você pode adicionar tags <code>&lt;jsp:include></code> em cada uma das views de página. Fazer isso, entretanto, apenas reintroduziria a repetição de código que acabamos de nos esforçar para eliminar. Uma solução alternativa seria criar um descritor de implantação <code>web.xml</code> e adicionar uma diretiva Grupo de Propriedade JSP para especificar a quais views de página os fragmentos de cabeçalho e rodapé deveriam ser aplicados.</p>

        <ol>
            <li>Pressione Ctrl-N (⌘-N no Mac) para abrir o assistente de Novo Arquivo. Selecione a categoria Web e, em seguida, em Tipos de Arquivo, selecione Descritor de Implantação Padrão (web.xml).</li>

            <li>Clique em Próximo. Note que o arquivo é nomeado <code>web.xml</code> e que o assistente irá colocá-lo no diretório <code>WEB-INF</code> do projeto após a conclusão.</li>

            <li>Clique em Finalizar. O arquivo <code>web.xml</code> é criado e adicionado ao projeto. A interface gráfica do IDE para o descritor de implantação será aberta no editor. <br><br> A interface é categorizada pelas áreas que podem ser configuradas em uma aplicação web. Essas áreas são exibidas como guias na barra de ferramentas do editor e incluem tópicos como Servlets, Filtros, Referências e Segurança. A guia XML exibe o código-fonte inteiro do arquivo. Qualquer alteração feita na interface gráfica provocará atualizações imediatas no código-fonte do descritor de implantação, que você pode verificar alternando para a guia XML. Isso está demonstrado nas etapas a seguir.</li>

            <li>Clique na guia Páginas e, em seguida clique no botão Adicionar Grupo de Propriedade JSP. A caixa de diálogo Adicionar Grupo de Propriedade JSP será aberta.</li>

            <li>Digite "<code>definições de cabeçalho e rodapé</code>" no campo Descrição. Deixe Nome de Exibição em Branco. Os campos Nome de Exibição e Descrição são opcionais.</li>

            <li>Para Padrões de URL, especifique os caminhos para as cinco views. Digite "<code>/index.jsp</code>" e "<code>/WEB-INF/view/*</code>". Separe os dois caminhos com vírgula. (O "<code>*</code>" é um curinga que representa todos os arquivos dentro da pasta determinada.) <br> <img alt="Caixa de diálogo Adicionar Grupo de Propriedade JSP" class="margin-around b-all" src="../../../../images_www/articles/73/javaee/ecommerce/page-views-controller/add-jsp-prop-group-dialog.png" title="Use a caixa de diálogo Adicionar Grupo de Propriedade JSP para especificar as tags &lt;jsp-config> no descritor de implantação"></li>

            <li>Clique em OK. Uma entrada é adicionada à categoria Grupos de Propriedades JSP na guia Páginas.</li>

            <li>Volte para a guia XML. Note que o código a seguir foi adicionado ao descritor de implantação.

                <pre class="examplecode">
&lt;jsp-config&gt;
    &lt;jsp-property-group&gt;
        &lt;description&gt;header and footer settings&lt;/description&gt;
        &lt;url-pattern&gt;/index.jsp&lt;/url-pattern&gt;
        &lt;url-pattern&gt;/WEB-INF/view/*&lt;/url-pattern&gt;
    &lt;/jsp-property-group&gt;
&lt;/jsp-config&gt;</pre>

                <p class="notes"><strong>Observação:</strong> pode ser necessário adicionar retorno de carro ao código para que ele seja exibido em várias linhas. Você pode clicar com o botão direito do mouse no editor e selecionar Formato (Alt-Shift-F; Ctrl-Shift-F no Mac) para que o código seja recuado corretamente.</p></li>

            <li>Volte novamente para a guia Páginas e nos campos Incluir Preludes e Incluir Codas, informe os caminhos para os arquivos <code>header.jspf</code> e <code>footer.jspf</code>, respectivamente. Você pode clicar no botão Browser e navegar para os arquivos na caixa de diálogo fornecida. <br> <a href="../../../../images_www/articles/73/javaee/ecommerce/page-views-controller/jsp-prop-groups.png" rel="lytebox" title="Informe os caminhos para o cabeçalho e o rodapé no Grupo de Propriedade JSP"> <img alt="Grupo de Propriedade JSP mostrado na guia Páginas de web.xml" class="margin-around b-all" src="../../../../images_www/articles/73/javaee/ecommerce/page-views-controller/jsp-prop-groups-small.png" title="Clique para aumentar"></a></li>

            <li>Volte para a guia XML. Note que o código a seguir foi adicionado. (Alterações em <strong>negrito</strong>.)

                <pre class="examplecode">
&lt;jsp-config&gt;
    &lt;jsp-property-group&gt;
        &lt;description&gt;header and footer settings&lt;/description&gt;
        &lt;url-pattern&gt;/index.jsp&lt;/url-pattern&gt;
        &lt;url-pattern&gt;/WEB-INF/view/*&lt;/url-pattern&gt;
        <strong>&lt;include-prelude&gt;/WEB-INF/jspf/header.jspf&lt;/include-prelude&gt;
        &lt;include-coda&gt;/WEB-INF/jspf/footer.jspf&lt;/include-coda&gt;</strong>
    &lt;/jsp-property-group&gt;
&lt;/jsp-config&gt;</pre>

                A diretiva acima especifica que para todos os arquivos encontrados nos <code>url-pattern</code>s fornecidos, o arquivo <code>header.jspf</code> será acrescentado ao início e o arquivo <code>footer.jspf</code> será acrescentado ao final. <br><br>
                <p class="tips">Para exibir as definições das tags acima, assim como de todas as tags disponíveis no descritor de implantação web, consulte <a href="http://jcp.org/en/jsr/detail?id=315" target="_blank">Especificação do Servlet</a>.</p></li>

            <li>Execute a aplicação novamente (pressione F6; fn-F6 no Mac). O código do cabeçalho e rodapé já foi removido do arquivo <code>index.jsp</code>, portanto, você pode determinar se está sendo adicionado automaticamente quando o arquivo é solicitado. <br><br> Você verá que a <a href="#welcome-page">página de boas-vindas será exibida como anteriormente</a>, com o conteúdo do cabeçalho e rodapé incluído.</li>
        </ol>


        <br>
        <h2 id="controller">Criando o Servlet Controlador</h2>

        <p>O servlet do controlador trata as solicitações de entrada iniciando quaisquer ações necessárias para gerar o modelo de solicitação e, em seguida, encaminhando a solicitação para a view adequada. Para obter uma representação visual, consulte novamente o <a href="design.html#mvcDiagram">diagrama MVC para o projeto AffableBean</a>.</p>

        <p>O IDE fornece um assistente Servlet que permite definir o componente do servlet em uma aplicação web incluindo a anotação <code>@WebServlet</code> na classe gerada ou adicionando as diretivas necessárias ao descritor de implantação. Nas etapas a seguir, você cria o <code>ControllerServlet</code> e defini-lo no contexto da aplicação, utilizando a anotação <a href="http://java.sun.com/javaee/6/docs/api/javax/servlet/annotation/WebServlet.html" target="_blank"><code>@WebServlet</code></a>.</p>

        <ol>
            <li>Na janela Projetos, clique com o botão direito do mouse no nó do projeto <code>AffableBean</code> e selecione Novo > Servlet.</li>

            <li>No assistente, digite <code>ControllerServlet</code> no campo Nome da Classe.</li>

            <li>No campo Pacote, digite <code>controller</code>. (O novo pacote será criado automaticamente ao concluir o assistente.) <br> <img alt="Assistente de Servlet" class="margin-around b-all" src="../../../../images_www/articles/73/javaee/ecommerce/page-views-controller/servlet-wizard.png" title="Use o assistente Criar Servlet para criar servlets para seu projeto"></li>

            <li>Clique em Próximo. A etapa 3 do assistente permite que você configure o servlet. Os padrões de URL que precisam ser especificados são de importância primordial. Os padrões identificam os URLs que chamam o servlet. Por exemplo, se digitar "<code>/category</code>", você está direcionando o servlet para manipular uma requisição que aparece da maneira a seguir.

                <pre class="examplecode">http://localhost/AffableBean<strong>/category</strong></pre>

                Os padrões de URL devem corresponder às views e ações que um usuário pode iniciar. Observando o <a href="design.html#index">modelo da página de boas-vindas</a>, um usuário deve poder selecionar uma categoria. Entretanto, podemos associar o URL <code>/category</code> à ação de clicar na imagem de uma categoria. Do mesmo modo, na <a href="design.html#category">página da categoria</a>, os usuários devem poder adicionar um item ao carrinho de compras. Podemos, portanto, especificar <code>/addToCart</code>.</li>

            <li>No campo Padrão(ões) de URL, digite "<code>/category/addToCart, /viewCart</code>". Padrões são separados por vírgulas. Você pode adicionar mais padrões diretamente na classe servlet depois de ela ter sido criada. <br> <img alt="Assistente de servlet, Etapa 3: Configurar a Implantação do Servlet" class="margin-around b-all" src="../../../../images_www/articles/73/javaee/ecommerce/page-views-controller/servlet-wizard2.png" title="Configurar a implantação do servlet diretamente no assistente"></li>

            <li>Clique em Finalizar. O IDE irá gerar <code>ControllerServlet</code> e o abrirá no editor. Os padrões de servlet e de URL estão incluídos na anotação <code>@WebServlet</code> que aparece acima da assinatura da classe.

                <pre class="examplecode">
<strong>@WebServlet(name=&quot;ControllerServlet&quot;, urlPatterns={&quot;/category&quot;, &quot;/addToCart&quot;, &quot;/viewCart&quot;})</strong>
public class ControllerServlet extends HttpServlet {</pre>

                Na etapa anterior, se você tivesse selecionado a opção "<code>Adicionar informações ao descritor de implantação (web.xml)</code>" no assistente, a marcação a seguir teria sido gerada, em vez disso, no arquivo <code>web.xml</code> da aplicação.

                <pre class="examplecode">
&lt;servlet&gt;
    &lt;servlet-name&gt;ControllerServlet&lt;/servlet-name&gt;
    &lt;servlet-class&gt;controller.ControllerServlet&lt;/servlet-class&gt;
&lt;/servlet&gt;
&lt;servlet-mapping&gt;
    &lt;servlet-name&gt;ControllerServlet&lt;/servlet-name&gt;
    &lt;url-pattern&gt;/category&lt;/url-pattern&gt;
&lt;/servlet-mapping&gt;
&lt;servlet-mapping&gt;
    &lt;servlet-name&gt;ControllerServlet&lt;/servlet-name&gt;
    &lt;url-pattern&gt;/addToCart&lt;/url-pattern&gt;
&lt;/servlet-mapping&gt;
&lt;servlet-mapping&gt;
    &lt;servlet-name&gt;ControllerServlet&lt;/servlet-name&gt;
    &lt;url-pattern&gt;/viewCart&lt;/url-pattern&gt;
&lt;/servlet-mapping&gt;</pre></li>

            <li>Adicione outros padrões de URL diretamente ao elemento <code>@WebServlet</code> da anotação <code>urlPatterns</code>. A aplicação requer mais padrões de URL para outras ações e views. Você pode digitar os seguintes padrões:

                <ul class="toc" style="margin: 5px 0 0 -1em">
                    <li><code>/updatecart </code></li>
                    <li><code>/checkout</code></li>
                    <li><code>/purchase</code></li>
                    <li><code>/chooseLanguage</code></li>
                </ul>

                Certifique-se de separar cada padrão com uma vírgula. Você também pode reformatar as anotações como se segue:

                <pre class="examplecode">
@WebServlet(name=&quot;ControllerServlet&quot;,
            urlPatterns = {&quot;/category&quot;,
                           &quot;/addToCart&quot;,
                           &quot;/viewCart&quot;<strong>,
                           &quot;/updateCart&quot;,
                           &quot;/checkout&quot;,
                           &quot;/purchase&quot;,
                           &quot;/chooseLanguage&quot;</strong>})</pre></li>

            <li>Finalmente, inclua o elemento <code>loadOnStartup</code> para que o servlet seja instanciado e inicializado quando a aplicação for implantada. Um valor de <code>0</code> ou superior fará com que isso aconteça (<code>-1</code> é o default).

                <pre class="examplecode">
@WebServlet(name=&quot;ControllerServlet&quot;,
            <strong>loadOnStartup = 1,</strong>
            urlPatterns = {&quot;/category&quot;,
                           &quot;/addToCart&quot;,
                           &quot;/viewCart&quot;,
                           &quot;/updateCart&quot;,
                           &quot;/checkout&quot;,
                           &quot;/purchase&quot;,
                           &quot;/chooseLanguage&quot;})</pre></li>
        </ol>


        <br>
        <h2 id="implement">Implementando o Servlet do Controlador</h2>

        <p>Como informado anteriormente, o servlet do controlador trata solicitações de entrada iniciando quaisquer ações necessárias para gerar o modelo da solicitação e, em seguida, encaminhando a solicitação para a view adequada. Para obter uma representação visual, consulte novamente o <a href="design.html#mvcDiagram">diagrama MVC para o projeto AffableBean</a>.</p>

        <p>Observando o código gerado para o novo <code>ControllerServlet</code>, você pode ver que o modelo de servlet do IDE implanta um método <code>processRequest</code> que é chamado pelos dois métodos <code>doGet</code> e <code>doPost</code>. (talvez seja necessário expandir o dobramento do código clicando no ícone de adição (<img alt="Ícone de dobramento de código" src="../../../../images_www/articles/73/javaee/ecommerce/common/code-fold-icon.png">) na margem esquerda do editor para exibir esses métodos.) Como essa aplicação diferencia entre <code>doGet</code> e <code>doPost</code>, você adicionará o código diretamente nesses métodos e removerá o método <code>processRequest</code> será removido completamente.</p>

        <div class="indent">
            <div class="feedback-box float-left" style="width: 703px;">

                <h3>Modificando os Modelos de Arquivos com o Gerenciador de Modelos do IDE</h3>

                <p>O IDE fornece um modelo básico para qualquer novo arquivo que você criar. Se o modelo não for ideal para seus padrões de trabalho, você pode alterá-lo utilizando o Gerenciador de Modelos do IDE. O IDE fornece um modelo para praticamente qualquer tipo de arquivo.</p>

                <p>Por exemplo, para modificar o modelo do servlet:</p>

                <ol>
                    <li>Abra o Gerenciador de Modelos selecionando Ferramentas > Modelos no menu principal.</li>

                    <li>Expanda a categoria Web e, em seguida, selecione o modelo Servlet. <br> <img alt="Gerenciador de Modelos" class="margin-around b-all" src="../../../../images_www/articles/73/javaee/ecommerce/page-views-controller/template-manager.png" title="Acessar e modificar modelos de arquivos via Gerenciador de Modelos" /></li>

                    <li>Clique no botão Abrir no Editor.</li>

                    <li>Modifique o modelo no editor. Na próxima vez em que criar um novo servlet (por exemplo, utilizando o assistente de Servlet), a nova versão será aplicada.</li>
                </ol>
            </div>
        </div>
        <br style="clear: both;"/>

        <br>
        <p>Agora que mapeou os padrões de URL para o servlet utilizando a anotação <code>@WebServlert</code>, defina o <code>ControlletServlet</code> para tratar esses padrões. Além disso, instancie um <code>RequestDispatcher</code> para encaminhar o padrão solicitado para a view apropriada.</p>

        <ol>
            <li>Substitua o código de modelo da classe <code>ControllerServlet</code> pelo código a seguir.

                <pre class="examplecode">
public class ControllerServlet extends HttpServlet {

    /**
     * Handles the HTTP &lt;code&gt;GET&lt;/code&gt; method.
     * @param request servlet request
     * @param response servlet response
     * @throws ServletException if a servlet-specific error occurs
     * @throws IOException if an I/O error occurs
     */
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {

        String userPath = request.getServletPath();

        // if category page is requested
        if (userPath.equals(&quot;/category&quot;)) {
            // TODO: Implement category request

        // if cart page is requested
        } else if (userPath.equals(&quot;/viewCart&quot;)) {
            // TODO: Implement cart page request

            userPath = &quot;/cart&quot;;

        // if checkout page is requested
        } else if (userPath.equals(&quot;/checkout&quot;)) {
            // TODO: Implement checkout page request

        // if user switches language
        } else if (userPath.equals(&quot;/chooseLanguage&quot;)) {
            // TODO: Implement language request

        }

        // use RequestDispatcher to forward request internally
        String url = &quot;/WEB-INF/view&quot; + userPath + &quot;.jsp&quot;;

        try {
            request.getRequestDispatcher(url).forward(request, response);
        } catch (Exception ex) {
            ex.printStackTrace();
        }
    }

    /**
     * Handles the HTTP &lt;code&gt;POST&lt;/code&gt; method.
     * @param request servlet request
     * @param response servlet response
     * @throws ServletException if a servlet-specific error occurs
     * @throws IOException if an I/O error occurs
     */
    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {

        String userPath = request.getServletPath();

        // if addToCart action is called
        if (userPath.equals(&quot;/addToCart&quot;)) {
            // TODO: Implement add product to cart action

        // if updateCart action is called
        } else if (userPath.equals(&quot;/updateCart&quot;)) {
            // TODO: Implement update cart action

        // if purchase action is called
        } else if (userPath.equals(&quot;/purchase&quot;)) {
            // TODO: Implement purchase action

            userPath = &quot;/confirmation&quot;;
        }

        // use RequestDispatcher to forward request internally
        String url = &quot;/WEB-INF/view&quot; + userPath + &quot;.jsp&quot;;

        try {
            request.getRequestDispatcher(url).forward(request, response);
        } catch (Exception ex) {
            ex.printStackTrace();
        }
    }

}</pre>

                Ao prosseguir com o tutorial, você retornará para o <code>ControllerServlet</code> e implementará individualmente cada um dos padrões de URL mapeados.</li>

            <li>Examine o código acima. Há vários pontos a serem observados:

                <ul style="margin: 5px 0 0 -2em">
                    <li>O servlet utiliza uma variável da instância <code>userPath</code> para obter o padrão de URL solicitado pelo cliente:

                        <pre class="examplecode" style="width: 640px">String userPath = request.getServletPath();</pre>

                        O <code>userPath</code> é usado pelos dois métodos <code>doGet</code> e <code>doPost</code>.</li>

                    <li>Os padrões de URL associados, principalmente a solicitações de página são gerenciados pelo método <code>doGet</code>. Por exemplo, <code>/category</code>, <code>/viewCart</code> e <code>/checkout</code> resultam na exibição das páginas da categoria, do carrinho e check-out.) </li>

                    <li>Padrões URL associados às submissões de form e ao transporte de dados confidenciais do usuário (por exemplo, <code>/addToCart</code>, <code>/updateCart</code> e <code>/purchase</code>) são gerenciados pelo método <code>doPost</code>.</li>

                    <li>Para os métodos <code>doGet</code> e <code>doPost</code>, o caminho para a view apropriada é formado utilizando uma string de <code>url</code>:

                        <pre class="examplecode" style="width: 640px">String url = &quot;/WEB-INF/view&quot; + userPath + &quot;.jsp&quot;;</pre>
                    </li>

                    <li>O <code>RequestDispatcher</code> é obtido a partir do <code>HttpServletRequest</code> e aplicado ao <code>url</code> para encaminhar a solicitação:

                        <pre class="examplecode" style="width: 640px">request.getRequestDispatcher(url).forward(request, response);</pre>
                    </li>

                    <li>As notas <code>TODO</code> têm sido utilizadas para denotar o trabalho que ainda precisa ser feito. Por exemplo:

                        <pre class="examplecode" style="width: 640px">// if category page is requested
if (userPath.equals(&quot;/category&quot;)) {
    // TODO: Implement category request</pre>

                        Aplicar notas <code>TODO</code> no seu código é uma maneira útil de acompanhar as tarefas que você precisa concluir. Você pode utilizar a janela Tarefas do IDE (Ctrl-6; ⌘-6 no Mac) para exibir todas as notas TODO, assim como qualquer erro de sintaxe ou de compilação contido no projeto. <br> <img alt="Janela Tarefas" class="margin-around b-all" src="../../../../images_www/articles/73/javaee/ecommerce/page-views-controller/tasks-window.png" title="Controlar as tarefas de implementação com a janela Tarefas do IDE" /> <br>
                        <p class="tips">Você pode controlar as palavras-chave que são exibidas na janela Tarefas. Abra a janela Opções (Ferramentas > Opções; NetBeans > Preferências no Mac) e, em seguida, selecione Diversos > Tarefas.</p></li>
                </ul>
            </li>

            <li>Execute o projeto (pressione F6; fn-F6 no Mac) e teste para ver se o <code>ControllerServlet</code> está encaminhando solicitações para as views apropriadas.

                <ul style="margin: 5px 0 0 -2em">
                    <li>Digite <code>http://localhost:8080/AffableBean/category</code> na barra de endereço do browser. A <a href="#categoryPage">página da categoria</a> da aplicação será exibida.</li>

                    <li>Digite <code>http://localhost:8080/AffableBean/viewCart</code> na barra de endereço do browser. A <a href="#cartPage">página do carrinho</a> da aplicação será exibida.</li>

                    <li>Digite <code>http://localhost:8080/AffableBean/checkout</code> na barra de endereço do browser. A <a href="#checkoutPage">página de check-out</a> da aplicação será exibida.</li>
                </ul>

                <p class="notes"><strong>Observação:</strong> Digitar <code>http://localhost:8080/AffableBean/purchase</code> na barra de endereço do browser não permite exibir a <a href="#confirmationPage">página de confirmação</a>. Naturalmente, isso ocorre porque o padrão de URL de <code>/purchase</code> é tratado pelo método <code>doPost</code> do servlet e as solicitações enviadas da barra de endereço do browser são normalmente enviadas usando o método HTTP GET.</p></li>
        </ol>

        <p>Nessa etapa, foram criadas páginas JSP que contêm placeholders para componentes funcionais. Também foi configurada a estrutura do front-end da aplicação. As páginas JSP agora residem dentro da pasta <code>WEB-INF</code>, os códigos do cabeçalho e rodapé foram fatorados em arquivos separados, o descritor de implantação está apropriadamente configurado e o <code>ControllerServlet</code> foi configurado para tratar as solicitações de entrada. Na próxima unidade do tutorial, você tomará medidas para ativar a conectividade entre a aplicação e o banco de dados.</p>

        <p>Se desejar comparar o seu trabalho com a solução de amostra desta unidade, você poderá <a href="https://netbeans.org/projects/samples/downloads/download/Samples%252FJavaEE%252Fecommerce%252FAffableBean_snapshot2.zip">fazer download do snapshot 2 do projeto AffableBean</a>.</p>


        <div class="feedback-box">
            <a href="/about/contact_form.html?to=3&amp;subject=Feedback: NetBeans E-commerce Tutorial - Preparing the Page Views and Controller Servlet">Envie-nos Seu Feedback</a></div>

        <br style="clear:both;">


        <h2 id="seeAlso">Consulte Também</h2>

        <div class="indent">
            <h3>Tutoriais do NetBeans</h3>

            <ul>
                <li><a href="../javaee-intro.html" target="_blank">Introdução à Tecnologia Java EE</a></li>
                <li><a href="../javaee-gettingstarted.html" target="_blank">Introdução às Aplicações do Java EE 6</a></li>
                <li><a href="../../web/quickstart-webapps.html" target="_blank">Introdução ao Desenvolvimento de Aplicações Web</a></li>
                <li><a href="../../web/mysql-webapp.html" target="_blank">Criando uma Aplicação Web Simples Usando um Banco de Dados MySQL</a></li>
                <li><a href="../../screencasts.html" target="_blank">Tutoriais e Demonstrações em Vídeo para NetBeans IDE 6.x</a></li>
                <li><a href="https://netbeans.org/projects/www/downloads/download/shortcuts.pdf">Atalhos de Teclado e Cartão de Modelos de Código</a></li>
                <li><a href="../../../trails/java-ee.html" target="_blank">Trilha do Aprendizado do Java EE e Java Web</a></li>
            </ul>

            <h3>Livros do NetBeans</h3>

            <ul>
                <li><a href="https://netbeans.org/kb/articles/netbeans-tips-and-tricks-book.html" target="_blank">100 Dicas e Truques do NetBeans IDE</a></li>
                <li><a href="http://www.apress.com/book/view/1590598954" target="_blank">Pro NetBeans IDE 6 Rich Client Platform Edition</a></li>
                <li><a href="http://apress.com/book/view/1430219548" target="_blank">Iniciando a Plataforma Java EE 6 com o GlassFish 3: Do Novato ao Profissional</a></li>
                <li><a href="https://netbeans.org/kb/articles/books.html" target="_blank">Mais livros sobre o NetBeans IDE</a></li>
            </ul>

            <h3>Recursos Externos</h3>

            <ul>
                <li><a href="http://jcp.org/en/jsr/detail?id=315" target="_blank">Especificações do Servlet 3.0</a></li>
                <li><a href="https://developer.mozilla.org/en/Common_CSS_Questions" target="_blank">Perguntas Frequentes de CSS</a></li>
                <li><a href="http://quirksmode.org/compatibility.html" target="_blank">Tabela Mestre de Compatibilidade do Browser</a></li>
                <li><a href="http://refcardz.dzone.com/refcardz/netbeans-ide-67-update" target="_blank">Cartão de Referência DZone do Editor NetBeans Java</a></li>
            </ul>
        </div>

    </body>
</html>
