Introdução ao desenvolvimento de aplicações JSF Visual Web
Este tutorial lhe oferece um tour super rápido do desenvolvimento de aplicações JSF Visual Web no NetBeans IDE 6.0 ou 6.1. O tutorial mostra como usar a funcionalidade de aplicação JSF Visual Web e o componentes JavaServer Faces 1.2 (Woodstock) para realizar fases típicas do desenvolvimento de aplicações Web.
O tutorial é projetado de forma que você não precise seguir uma ordem específica. Talvez você queira passar rapidamente por ele e depois retornar a cada seção quando houver tempo. Se você preferir um tutorial passo a passo, talvez queira primeiro experimentar Desenvolvendo uma aplicação Web JSF.
Conteúdo
Para seguir este tutorial, você precisa dos seguintes recursos e softwares.
| NetBeans IDE |
Web e Java EE versão 6.1 ou 6.0 |
| Java Development Kit (JDK) |
versão 6 ou
versão 5 |
Componentes do JavaServer Faces/
Plataforma Java EE |
1.2 com Java EE 5* ou
1.1 com J2EE 1.4
|
| Servidor da aplicação GlassFish |
V2 |
| Banco de dados Viagem |
Necessário para algumas seções |
* Para tirar vantagem dos recursos Java EE 5 do NetBeans IDE , use um servidor da aplicação que seja totalmente compatível com a especificação Java EE 5, tal como o Servidor da aplicação GlassFish V2 UR2. Se você estiver usando um servidor diferente, consulte as Notas de versão e as Perguntas freqüentes para saber problemas conhecidos e soluções alternativas. Para obter informações detalhadas sobre os servidores suportados e a plataforma Java EE, consulte as Notas de versão.
Observação para usuários do NetBeans IDE 6.1:
- Criar um projeto no NetBeans 6.1 inclui novas opções que podem ser deixadas como padrão. Por exemplo, a caixa de verificação Usar pasta dedicada para armazenar bibliotecas pode ficar desmarcada.
- Vinculação sob demanda dos recursos do NetBeans IDE 6.1. Onde os componentes requerem codificação de Java, agora você deve adicionar manualmente o atributo de vinculação aos componentes em uma aplicação Visual Web JSF. Para fazê-lo, clique com o botão direito do mouse em cada componente e escolha Adicionar atributo de vinculação. Para obter mais informações, consulte o On-demand Binding Attribute Wiki.
Iniciando um projeto
Um projeto é o equivalente ao ambiente de trabalho de uma aplicação Web. Quando você cria um projeto de aplicação JSF Visual Web e especificou GlassFish V2 ou posterior como um servidor da aplicação no NetBeans IDE, o IDE pode criar uma aplicação Web baseada em Java EE 5 que use componentes JavaServer Faces 1.2. Por padrão, a aplicação Web é criado em uma estrutura de diretórios que esteja conforme com as convenções do projeto Java BluePrints para aplicações Web.
Experimente
-
Inicie o IDE usando a etapa apropriada da lista seguinte:
- Windows, Solaris e Linux.
Clique duas vezes no ícone da área de trabalho do NetBeans.
- Mac. No MacOS, o executável do é instalado no diretório
/Applications/NetBeans/. Clique duas vezes no ícone do NetBeans nesta pasta.
-
Criar um projeto de aplicação JSF Visual Web:
- Escolha Arquivo > Novo projeto no menu principal.
- No assistente para Novo projeto, selecione a categoria Web e o tipo de projeto de aplicação Web, e clique em Próximo.
- Chame o projeto de GettingStarted. Observe a localização padrão do projeto. Explore e selecione uma localização diferente, se desejar.
Observação para usuários do NetBeans IDE 6.1: Criar um projeto no NetBeans 6.1 inclui novas opções que podem ser deixadas como padrão. Por exemplo, a caixa de verificação Usar pasta dedicada para armazenar bibliotecas pode ficar desmarcada.
-
Escolha um servidor e uma versão do Java EE.
Por exemplo, o servidor padrão é GlassFish V2, e Java EE 5 é a versão padrão Java EE.
- Clique em Próximo.
- No painel Frameworks, selecione o framework Visual Web JavaServer Faces
- Clique em Terminar para criar o novo projeto na localização padrão ou na localização escolhida na etapa c.
- O IDE cria o diretório do projeto na pasta do projeto selecionada (ou padrão) e lhe dá o mesmo nome que o do seu projeto.
-
Explore a janela Projetos. Como mostrado na figura seguinte, a janela Projetos agrupa os itens por categoria. Expanda cada um dos nós para ver que tipo existe em cada categoria.
- O nó Page1.jsp fica abaixo do nó Páginas da Web. O IDE cria esta página por padrão e a transforma na página inicial. O símbolo de seta
ao lado do nó identifica a página como a inicial. Se quiser usar uma página diferente como a inicial, clique com o botão direito do mouse no nó dessa página e escolha Definir como página inicial no menu pop-up.
-
Clique na aba Arquivos, ou escolha Janela > Arquivos no menu principal, para trazer a janela Arquivos para frente. Esta janela organiza os itens pelo armazenamento físico. Expanda os nós para ver a estrutura. Observe o símbolo
que aparece ao lado do nó ApplicationBean1.java e de alguns outros nós abaixo dele, tal como Page1.java. Esse emblema indica que o arquivo precisa ser compilado. O IDE compila os arquivos automaticamente quando você constrói o projeto.
- Na figura acima, observe o nó GettingStarted > src > java > gettingstarted > Page1.java. Esta classe Java é o bean de apoio do arquivo Page1.jsp. Sempre que você adiciona uma página ao projeto, o IDE cria um arquivo
.jsp e um arquivo .java para a página. Você aprenderá mais sobre arquivos .jsp e .java na próxima seção.
Para obter mais informações
- No menu principal, escolha Ajuda > Conteúdo da Ajuda para abrir o arquivo da ajuda. Na página Conteúdo à esquerda,
selecione Aplicações Web > Sobre Aplicações Web > Trabalhando com aplicações Web.
Criando páginas da Web
Com aplicações JSF Visual Web, use a tecnologia JavaServer Pages (JSP) e bens de página (também conhecidos como beans de apoio) em vez de páginas HTML. A página JSP é um modelo a partir do qual o servidor gera a resposta HTML a ser exibida no navegador (o cliente). O bean de página contém a lógica que o servidor executa ao gerar a resposta HTML e depois que um usuário envia a página.
Quando você adiciona uma página da Web a uma aplicação JSF Visual Web, o IDE cria um arquivo JSP e um arquivo de código-fonte Java para você. Você usa na maior parte do tempo o Visual Designer e a janela Propriedades para desenvolver uma página da Web. O IDE modifica o código JSP e o código Java para implementar o que você criar. A maior parte do trabalho pode ser feita no Visual Designer e na janela Propriedades.
Observação: as páginas JSP que o IDE gera são documentos JSP. Um documento JSP é um documento XML e, portanto, deve ser bem formado. Enquanto a maioria dos elementos JSP estão em conformidade com a sintaxe XML, existem alguns elementos que não estão em conformidade com a sintaxe XML, tais como comentários, declarações, diretivas, expressões e scriptlets. Consulte a Referência de sintaxe de páginas JavaServer para obter informações sobre a sintaxe de documentos JSP.
Experimente
Observação: Vinculação sob demanda dos recursos do NetBeans IDE 6.1. Onde os componentes requerem codificação de Java, agora você deve adicionar manualmente o atributo de vinculação aos componentes em uma aplicação Visual Web JSF. Para fazê-lo, clique com o botão direito do mouse em cada componente e escolha Adicionar atributo de vinculação. Para obter mais informações, consulte o On-demand Binding Attribute Wiki.
-
Na janela Projetos, clique com o botão direito do mouse no nó Páginas da Web e escolha Novo > Página JSF Visual Web , como mostrado na figura seguinte.
-
Aceite o nome padrão Page2 e clique em Terminar. O IDE abre a Page2 no Visual Designer, que fica na área de edição, conforme mostrado na figura seguinte.
-
Clique no botão Java na barra de ferramentas de edição para ver o código-fonte do bean de página, conforme mostrado na figura seguinte. Quando a área de edição mostra o código-fonte Java, a janela Navegador lista todos os campos e métodos de membro. Observe que o código-fonte da página possui métodos para acessar o bean de aplicação, o bean de sessão e o bean de solicitação. Consulte a seção Armazenando e passando dados neste tutorial para obter uma explicação sobre esses tipos de beans.
-
O código-fonte também possui métodos que são chamados durante certos eventos do ciclo de vida entre a hora em que a página é solicitada e a hora em que a renderização da página é concluída.
Dica: clicar duas vezes em um membro na janela Navegador abre o editor de código-fonte e posiciona o cursor na declaração desse membro. Você também pode clicar na janela Navegador e começar a digitar os primeiros caracteres de um nome de membro para abrir uma caixa de diálogo Pesquisa rápida. Continue digitando até que o IDE realce a entrada desejada na lista, conforme mostrado na figura a seguir. Você pode pressionar Enter para abrir o editor do código-fonte e posicioná-lo na declaração do membro correspondente.
-
Clique no botão JSP na barra de ferramentas de edição para ver o código JSP da página, conforme mostrado na figura seguinte. Observe como a página JSP usa a sintaxe de documento JSP.
Observação: Vinculação sob demanda dos recursos do NetBeans IDE 6.1. Onde os componentes requerem codificação de Java, agora você deve adicionar manualmente o atributo de vinculação aos componentes em uma aplicação Visual Web JSF. Para fazê-lo, clique com o botão direito do mouse em cada componente e escolha Adicionar atributo de vinculação. Para obter mais informações, consulte o On-demand Binding Attribute Wiki.
-
Clicar no botão Design na barra de ferramentas de edição alterna para o Visual Designer e exibe a representação da página na janela Navegador. Se você abrir os nós sob o nó Page2, poderá ver os nós mostrados na figura a seguir. Observe como as marcas no arquivo JSP são representadas como nós na janela Navegador.
Para obter mais informações
- No menu principal, escolha Ajuda > Conteúdo da Ajuda para abrir o arquivo da ajuda. No painel Conteúdo à esquerda, selecione
Aplicações Web > Criando e editando componentes Web > Sobre a criação de componentes Web.
- Tecnologia de páginas JavaServer - Documentação
Adicionando componentes a uma página da Web
Para criar uma página da Web, arraste os componentes da janela Paleta e solte-os na página da Web no Visual Designer. A figura seguinte mostra a Page2 com os componentes Botão, Campo de texto, Mensagem, Lista suspensa e Grupo de botões de opção. Todos esses componentes estão disponíveis na seção Básico da Paleta. Esses componentes foram personalizados pela alteração de suas propriedades. Você aprenderá sobre as propriedades posteriormente nesta seção.
Observação: Vinculação sob demanda dos recursos do NetBeans IDE 6.1. Onde os componentes requerem codificação de Java, agora você deve adicionar manualmente o atributo de vinculação aos componentes em uma aplicação Visual Web JSF. Para fazê-lo, clique com o botão direito do mouse em cada componente e escolha Adicionar atributo de vinculação. Para obter mais informações, consulte o On-demand Binding Attribute Wiki.
Observação: os componentes disponíveis na Paleta são componentes JavaServer Faces (JSF) que foram aprimorados de acordo com a API de tempo de design para tornar suas propriedades disponíveis para o Visual Designer e a janela Propriedades. Você pode usar outros componentes nas aplicações Web criados com o IDE, mas não será possível usar recursos interativos de tempo de design do IDE nesses componentes, a não ser que eles tenham sido personalizados de acordo com os requisitos da API de tempo de design. Se a versão do EE estiver definida como Java EE 5, a Paleta oferecerá componentes JSF 1.2. Se, quando criar o projeto, você definir a versão do Java EE como 1.3 ou 1.4, a Paleta oferecerá os componentes do JSF 1.1.
A maioria dos componentes que você usa estão nas seções Básico do Woodstock, Layout do Woodstock e Composto do Woodstock da janela Paleta. As tabelas seguintes mostram alguns dos componentes mais comumente usados agrupados de acordo com a funcionalidade.
Tabela 1: Componentes de entrada
| Componente |
Descrição |
Seção da Paleta |
| Campo de texto |
Um campo de entrada de uma única linha de texto. |
Fundamentos (Woodstock) |
| Área de texto |
Um campo de entrada para várias linhas de texto. |
Fundamentos (Woodstock) |
| Lista suspensa |
Um menu suspenso, também chamado de caixa de combinação. |
Fundamentos (Woodstock) |
| Caixa de listagem |
Uma lista na qual o usuário pode selecionar um ou vários itens, dependendo de como o componente é configurado. |
Fundamentos (Woodstock) |
| Caixa de verificação |
Uma caixa de caractere único que o usuário pode selecionar (marcar) ou limpar. |
Fundamentos (Woodstock) |
| Botão de opção |
Um único botão de opção que o usuário pode selecionar (marcar). |
Fundamentos (Woodstock) |
| Campo de senha |
Um campo de entrada que ecoa os caracteres de entrada com um caractere de substituição para mascarar a entrada. |
Fundamentos (Woodstock) |
| Transferência de arquivos |
Um componente com um campo de entrada de texto e um botão Explorar que exibe um seletor de arquivos para especificar um arquivo a ser transferido. A aplicação transfere o arquivo especificado quando o usuário envia a página.
| Fundamentos (Woodstock) |
| Adicionar remover |
Duas listas (uma para opções disponíveis, uma para opções selecionadas) com botões para mover as opções entre as listas, e para ordenar as opções selecionadas.
| Composto (Woodstock) |
| Calendário |
Um campo de entrada e um calendário para escolher datas.
| Fundamentos (Woodstock) |
Tabela 2: Componentes de exibição
| Componente |
Descrição |
Seção da Paleta |
| Rótulo |
O campo de texto que pode ser associado a um campo de entrada para o qual você especifica um estilo de fonte fraco, médio ou forte. |
Fundamentos (Woodstock) |
| Texto estático |
Campo para exibir texto. |
Fundamentos (Woodstock) |
| Imagem |
Imagem in-line. |
Fundamentos (Woodstock) |
| Mensagem |
O campo de texto que é vinculado a um componente específico para exibir erros de validação e outras mensagens sobre esse componente. |
Fundamentos (Woodstock) |
| Grupo de mensagens |
O campo de texto para exibir mensagens de erro de tempo de execução, mensagens de erro geradas pelo programa e, opcionalmente, os erros de validação e outras mensagens sobre os componentes que estão na página. |
Fundamentos (Woodstock) |
| Alerta da página |
Semelhante a um componente Alerta (abaixo), mas que se destina a exibir o ícone e as informações em uma página separada. |
Layout (Woodstock) |
| Alerta |
Exibe um ícone e um texto informativo, tal como um aviso, um erro ou uma mensagem de conclusão bem-sucedida de algum evento. |
Composto (Woodstock) |
| Campo oculto |
Um campo invisível que pode ser usado para armazenar dados ou passar informações para o servidor. |
Fundamentos (Woodstock) |
| Separador de página |
Uma linha horizontal que se redimensiona em qualquer largura de página selecionada pelo usuário |
Layout (Woodstock) |
| Formulário |
Usado para adicionar um formulário |
Layout (Woodstock) |
| Ajuda in-line |
Fornece informações de ajuda resumidas que aparecem in-line em suas páginas. |
Composto (Woodstock) |
| Ajuda em balão |
Criada para aparecer quando o mouse está em cima. Você pode definir manualmente um atraso ou quanto tempo a ajuda em balão deve permanecer visível. |
Composto (Woodstock) |
| Accordeão |
Usado para tabulação vertical. |
Composto (Woodstock) |
Tabela 3: Componentes de agrupamento
| Componente |
Descrição |
Seção da Paleta |
| Grupo de caixas de seleção |
Exibe duas ou mais caixas de seleção em um layout de grade. |
Fundamentos (Woodstock) |
| Grupo de botões de opção |
Exibe dois ou mais botões de opção em um layout de grade e garante que apenas um botão pode ser selecionado de cada vez. |
Fundamentos (Woodstock) |
| Tabela, Grupo de linhas da tabela e Coluna de tabela |
Exibe os dados de um tipo de dados composto, tal como uma tabela de banco de dados ou uma matriz. |
Fundamentos (Woodstock) |
| Painel de grade |
Organiza os componentes em um layout de linhas e colunas. |
Layout (Woodstock) |
| Agrupar painel |
Agrupa um conjunto de componentes no modo de layout de fluxo. |
Layout (Woodstock) |
| Painel do layout |
Usado para agrupar um conjunto de componentes no modo de layout de fluxo ou no modo de layout de grade. |
Layout (Woodstock) |
| Conjunto de abas e Aba |
Exibe layouts diferentes na mesma página. Também pode ser usado como uma ferramenta de navegação. |
Layout (Woodstock) |
| Caixa de fragmento de página |
Agrupa componentes que você deseja exibir consistentemente em duas ou mais páginas. |
Layout (Woodstock) |
| Folha de propriedades, Seção da folha de propriedades e Propriedade |
Faz o layout em uma única coluna de componentes rotulados rapidamente e divide os componentes em seções. |
Layout (Woodstock) |
| Trilha |
Faz o layout de uma série de componentes de link separados por colchetes angulares para a direita (>). |
Composto (Woodstock) |
Tabela 4: Componentes de ação
| Componente |
Descrição |
Seção da Paleta |
| Botão |
Botão que envia o formulário associado. |
Fundamentos (Woodstock) |
| Hyperlink |
Campo de texto que envia uma URL ou um formulário. |
Fundamentos (Woodstock) |
| Hyperlink da imagem |
Imagem que envia uma URL ou um formulário. |
Fundamentos (Woodstock) |
| Aba |
Subcomponente de um conjunto de abas ou uma aba. Uma aba pode opcionalmente enviar uma URL ou um formulário. |
Layout (Woodstock) |
| Tarefas comuns |
Um link para uma página JSF Visual Web onde um usuário pode realizar uma tarefa. |
Composto (Woodstock) |
Use a folha de propriedades do componente na janela Propriedades para alterar a aparência e o comportamento do componente, para vincular o componente aos dados e para associar o componente a manipuladores de eventos.
A figura seguinte mostra as propriedades de um componente Caixa de listagem.
Experimente
Abra a Page2 que você criou, seguindo as sugestões de Experimente na seção Criando páginas da Web, ou crie-a, se necessário.
Arraste vários componentes da seção Básico e da seção Layout da janela Paleta e experimente as suas propriedades. Por exemplo, tente as etapas seguintes:
Observação: Vinculação sob demanda dos recursos do NetBeans IDE 6.1. Onde os componentes requerem codificação de Java, agora você deve adicionar manualmente o atributo de vinculação aos componentes em uma aplicação Visual Web JSF. Para fazê-lo, clique com o botão direito do mouse em cada componente e escolha Adicionar atributo de vinculação. Para obter mais informações, consulte o On-demand Binding Attribute Wiki.
- Arraste um componente de botão para a página, digite
Clique em mim! e pressione Enter. Na janela Propriedades, observe como a propriedade text possui o valor Click Me!. Na janela Propriedades, selecione a caixa de verificação da propriedade primária e observe como a aparência do botão se altera.
Observação: existe um problema conhecido que afeta a largura do componente Botão do JSF 1.2 no IE7. A solução alternativa é colocar o componente Botão em um componente de layout (Painel de grade, Painel de grupo ou Painel de layout). Redimensionar o componente de layout redimensiona automaticamente o componente Botão.
- Arraste um componente Campo de texto para a página. Em seguida, arraste um componente Rótulo para a página, digite
Nome: e pressione Enter. Pressione Ctrl+Shift e clique dentro do componente Rótulo, arraste-o para o componente Campo de texto e, em seguida, solte o botão do mouse. Selecione o componente Rótulo e observe como sua propriedade for agora está definida como o id do componente Campo de texto. Defina labelLevel como Forte (1).
- Arraste um componente Mensagem para a direita do Campo de texto. Pressione Control+Shift e arraste do componente Mensagem para o componente Campo de texto. Como acontece com o componente Rótulo, observe como a propriedade
for do componente Mensagem agora está definida como o id do componente Campo de texto.
- Arraste um componente Lista suspensa para a página e defina sua propriedade
label como Color. Clique com o botão direito do mouse no componente Lista suspensa e escolha Configurar opções padrão para abrir o Personalizador de opções.
- Pressione Aba para entrar no modo de edição do Item 1 na coluna Exibir, e digite
Azul. Pressione a aba duas vezes e altere o Item 2 para Branco. Pressione a aba duas vezes mais e altere o Item 3 para Verde. Clique em OK e observe como as suas alterações afetam o componente no Visual Designer.
-
Use etapas semelhantes para criar um componente Grupo de botões de opção com as opções Azul, Branco e Vermelho, mas não feche ainda o Personalizador de opções.
No Perzonalizador de opções, marque a caixa de verificação Selecionar itens e selecione um dos botões de opção na coluna Selecionado para definir a seleção padrão desse item. Clique em OK para aplicar as alterações e fechar o Personalizador de opções. Na janela Propriedades, defina a propriedade de colunas como 3 para alinhar os botões de opção horizontalmente em vez de verticalmente.
- Clique com o botão direito do mouse no plano de fundo da página, qualquer local vazio na página, e escolha Visualizar no navegador para ver como o seu navegador processa os componentes.
Para obter mais informações
Obtendo Ajuda
O IDE oferece um visualizador da Ajuda, que contém tópicos da Ajuda sobre o IDE. Além disso, quando você pressiona F1 em uma janela, caixa de diálogo ou componente da Paleta, o visualizador da Ajuda aparece e exibe informações sobre esse item. Para acessar os tópicos da ajuda do Visual Web JSF Pack, incluindo a ajuda sobre os componentes, você também pode escolher Ajuda > Conteúdo da Ajuda no menu principal e rolar para Aplicações Web.
Experimente
- Clique dentro da janela Propriedades do Grupo de caixas de seleção. Pressione F1 para exibir o tópico sobre as propriedades do componente Grupo de caixas de seleção.
- Selecione o nó do componente Campo de texto na seção Básico da Paleta. Pressione F1 para exibir o tópico da Ajuda sobre o componente Campo de texto.
Construindo e testando uma aplicação Web
Quando você estiver pronto para testar um projeto, pressione F6 ou escolha Executar > Executar projeto principal, no menu principal. O IDE realiza as seguintes ações:
- Salva quaisquer arquivos que precisam ser salvos.
Compila quaisquer arquivos que precisam ser compilados.
Se houver complicações, o IDE exibirá as mensagens de erro relacionadas na janela Saída (mostrada abaixo) e não continuará com o processo de construir e executar. Clique no link da mensagem de erro a fim de ir para o código-fonte que causou o erro de compilação.
- Inicia o servidor da aplicação, caso ele ainda não tenha sido iniciado.
Implanta a aplicação no servidor da aplicação.
Se houver quaisquer complicações, o IDE exibirá as mensagens de erro relacionadas na janela Saída e não continuará com o processo de construir e executar.
Abre um navegador e envia a URL da aplicação implantada no navegador que, por sua vez, exibe a página inicial.
Observação: se você adicionou componentes a uma página diferente da página de início, nesse ponto do tutorial você os verá no navegador da Web. Consulte a seção Experimente abaixo para saber uma forma de configurar a navegação a partir da página inicial para outra página em sua aplicação.
Se você tiver feito muitas alterações, excluído vários itens ou estiver percebendo algum comportamento inesperado, escolha Construir > Limpar e construir projeto principal no menu principal. O IDE limpa o diretório build e o diretório dist do projeto, desimplanta a aplicação Web e, em seguida, constrói e implanta a aplicação.
Experimente
- Se o seu projeto tiver menos de duas páginas, crie uma nova clicando com o botão direito do mouse no nó Páginas da Web na janela Projetos e escolhendo Novo > Página JSF Visual Web.
- Abra a página inicial (a página com o símbolo de seta
) no Visual Designer.
- Arraste um componente Hyperlink para a página, digite
Próxima página e pressione Enter.
- Na janela Propriedades do componente Hyperlink, clique com o botão direito do mouse no botão de reticências
da propriedade url, selecione uma página diferente no projeto, e clique em OK. Observe como o IDE define a propriedade url como /faces/page-name.jsp.
- Pressione F6 para construir e executar a aplicação Web.
- Observe as mensagens que aparecem na janela Saída durante o processo de construção. Observe também que a saída do registro do servidor é exibida na aba do servidor.
- Observe a URL que o IDE envia para o navegador.
- Quando a página inicial for exibida no navegador, clique no link Próxima página.
-
Retorne ao IDE, e, na janela Serviços, expanda Servidores e expanda o nó do servidor e, em seguida, expanda Aplicações > Aplicações Web e observe que existe um nó para o seu projeto, como mostrado na figura seguinte.
Para obter mais informações
- No menu principal, escolha Ajuda > Conteúdo da Ajuda para abrir o visualizador da Ajuda. Em seguida, na página Conteúdo, escolha Aplicações Web > Criando aplicações Web > Sobre a criação de aplicações Web.
Conectando páginas da Web e manipulando ações do usuário
Quando um usuário digita uma URL, clica em um link ou clica em um botão, o navegador envia uma solicitação para o servidor. O servidor mapeia a solicitação para uma página JSP e usa essa página JSP e seu bean de página associado para renderizar uma resposta.
Você pode especificar a navegação de página de uma das seguintes formas:
- Você adiciona um componente de link, tal como o componente Hiperlink, na página ou adiciona um componente Nó de árvore em um componente Árvore ou um componente Aba a um componente Conjunto de abas. Em seguida, defina a propriedade
url do componente como /faces/page-name.jsp. Quando você usa a propriedade url para navegação, os dados do formulário não são enviados. A aplicação Web simplesmente navega para o destino.
- Use o editor de fluxo de página para mapear ações para páginas, e o Visual Designer e o editor de código-fonte Java para criar métodos de manipulação de ações. Quando você usa métodos de manipulação de ações para navegação da página, os dados do formulário são enviados e processados antes de a aplicação Web navegar para o destino especificado.
Para acessar o editor de fluxo de página, clique com o botão direito do mouse no plano de fundo da página no Visual Designer e escolha Navegação de página.
O editor de fluxo de página mostra os ícones
de todas as páginas do projeto. Quando você clica no elemento + de um ícone de página no editor de fluxo de página, o ícone se expande e mostra todos os seus componentes de ação, componentes que possuem uma propriedade de ação, tais como um Botão, um Hyperlink ou uma Aba. Ao lado de cada componente há uma porta de conector. Na imagem abaixo, a porta do conector do hyperlink assemelha-se a uma corrente e o botão mostra uma seta. Você arrasta da porta do conector para um ícone de página a fim de criar o mapeamento entre a solicitação da ação e a página a ser processada como resposta à solicitação. Quando você libera o mouse, o IDE adiciona uma representação visual dessa conexão, conforme mostrado na conexão rotulada nextPage na figura seguinte.
Observação: quando uma página é enviada, a aplicação Web realiza conversões e validações antes de executar métodos de ação. Se uma conversão ou validação falhar, os métodos de ação não são chamados. Você deve colocar os componentes Grupo de mensagens em uma página durante o desenvolvimento para que possa detectar qualquer conversão inesperada ou erro de validação que possa e impedir que um método de ação seja chamado.
Experimente
Observação: Vinculação sob demanda dos recursos do NetBeans IDE 6.1. Onde os componentes requerem codificação de Java, agora você deve adicionar manualmente o atributo de vinculação aos componentes em uma aplicação Visual Web JSF. Para fazê-lo, clique com o botão direito do mouse em cada componente e escolha Adicionar atributo de vinculação. Para obter mais informações, consulte o On-demand Binding Attribute Wiki.
- Crie duas páginas chamadas Page1 e Page2. Clique com o botão direito do mouse em Page1 e escolha Definir como página inicial para torná-la a página inicial.
- Arraste um componente Hyperlink para Page1, digite
Próxima página e pressione Enter.
- Arraste um componente Botão para Page2, digite
Ir e pressione Enter.
-
Clique duas vezes no componente Botão para acessar o método de ação do botão.
Observe que o método de ação retorna nulo. Quando um método de ação retorna nulo, a aplicação reexibe a página.
- Clique em Design na barra de ferramentas para alternar para o Visual Designer.
- No Visual Designer, clique com o botão direito do mouse no segundo plano da página Page2 e escolha Navegação de página.
- No editor de fluxo de página, clique no ícone de Page1.jsp para expandir o ícone da página e, em seguida, arraste um link da porta do conector hyperlink1 para o ícone de Page2.jsp.
- Clique duas vezes no rótulo do conector case1 para mudar para o modo de edição, digite
nextPage e pressione Enter.
- Use etapas semelhantes para criar um conector do botão em Page2.jsp de volta para LinkPage1.jsp e nomeie o conector
ir.
- Clique em XML na barra de ferramentas de edição para visualizar o XML de mapeamento real XML que é implantado no servidor e, em seguida, feche o editor de fluxo de página e clique em Salvar quando solicitado a salvar as alterações.
-
Em Page2, clique duas vezes no componente Botão para acessar o método de ação do botão.
Observe que o método de ação agora retorna a seqüência "ir". O mapeamento que você criou no editor de fluxo de página instrui o servidor a exibir LinkPage1.jsp sempre que Page2.jsp retorna "ir".
- Pressione F6 para executar a aplicação e experimente a navegação da nova página.
Para obter mais informações
- Navegando páginas em uma aplicação Web
- Abra o editor de navegação e pressione F1, ou no menu principal, escolha Ajuda > Conteúdo da Ajuda para abrir o visualizador da Ajuda e, em seguida, no painel Conteúdo, escolha Aplicações Web > Criando e editando aplicações Web > Páginas > Sobre o editor de fluxo de página.
Editando código Java
O editor de Java do IDE contém vários recursos para facilitar o processo de programação, muitos mais do que podemos discutir neste tutorial introdutório. Se clicar dentro de uma janela do editor de Java e pressionar F1, você obterá ajuda na maioria dos recursos do editor.
As descrições seguintes cobrem mais alguns dos recursos de edição úteis.
-
Auto-completar de código. Auto-completar de código permite que você digite alguns caracteres e, em seguida, escolha em uma lista de possíveis classes, métodos, variáveis, etc. para completar automaticamente a expressão. Para exibir a caixa de auto-completar de código, pressione Ctrl-Barra de espaço. A caixa de auto-completar de código também é exibida quando você faz uma pausa após digitar um ponto que segue um nome de pacote, uma variável ou uma chamada de método, conforme mostrado na figura seguinte.
- Javadoc. O recurso auto-completar de código também exibe qualquer Javadoc relacionado. Além disso, você pode clicar com o botão direito do mouse em um tipo, campo ou método, e escolher Mostrar Javadoc para ver o Javadoc desse item, se o Javadoc estiver disponível. Para ver o Javadoc disponível, escolha Ajuda > Referências de Javadoc. Você também pode pressionar Shift-F1 para exibir uma ferramenta de Pesquisa Javadoc por índice.
- Corrigir importações. Pressione Ctrl-Shift-I para adicionar automaticamente as instruções de importação necessárias.
Detecção de erro. As caixas de erro vermelhas aparecem na margem esquerda de todas as instruções que não serão compiladas. Focalize o mouse sobre a caixa para ver a descrição do erro, conforme mostrado na figura seguinte. O IDE também exibe uma faixa de erros na margem direita. Essa faixa representa o arquivo inteiro, não apenas as linhas de código que estão visíveis. As linhas vermelhas na faixa de erros identificam os erros no código. Clique duas vezes em uma linha vermelha para saltar para a declaração incorreta. Quando você compila os arquivos, todos os erros de compilação são exibidos na janela Saída. Clique em uma mensagem de erro para exibir o código incorreto no editor de Java.
Atalhos de teclado do editor Java. Você pode chamar muitas tarefas de edição comuns com uma simples combinação de teclas, como mostrado nos exemplos seguintes. Para saber mais sobre os atalhos, escolha Ajuda > Conteúdo da Ajuda no menu principal para abrir o visualizador da Ajuda e, em seguida, no painel Conteúdo, escolha Fundamentos do IDE > Atalhos de teclado > Atalhos do editor.
| Ação |
Atalho |
| Formata o código |
Alt-Shift-F |
| Remove a linha atual |
Ctrl-E |
| Move o ponto de inserção para o colchete correspondente realçado |
Ctrl-[ |
| Seleciona o bloco entre um par de colchetes |
Ctrl-Shift-[ |
Modelos de código. Os modelos de código são grupos pequenos de caracteres que se expandem em uma palavra ou expressão completa quando você pressiona a barra de espaços, como mostrado nos exemplos seguintes. Para ver a lista completa de modelos de código, escolha Ferramentas > Opções em um sistema Microsoft Windows ou NetBeans > Preferências em um sistema Macintosh e, em seguida, escolha Opções básicas > Editor > Modelos de código e clique no botão de reticências
da propriedade Modelos de código. Alguns exemplos:
| Código |
Abreviatura |
for (Iterator it = collection.iterator(); it.hasNext();)
{Object elem = (Object) it.next();} |
forc |
for (int i = 0; i < arr.length; i++) {} |
fori |
try {|} catch (Exception ex)
{log("Error Description", ex); } finally {} |
trycatch |
Fragmentos de código. Quando o editor Java está aberto, a janela Paleta fornece muitos fragmentos de código úteis que você pode arrastar e soltar em seu arquivo de código-fonte. Os cortes de código não são exibidos para arquivos de origem de bean gerenciado, tal como o arquivo de origem de um bean de aplicação ou bean de solicitação.
Observação: se clicar em JSP na barra de ferramentas para abrir o editor JSP, você vê as dicas de ferramentas JavaScript na janela Paleta que podem ser usadas no arquivo JSP.
- Pesquisa rápida. Se você clicar na janela Navegador e começar a digitar o nome de um método ou campo, aparece uma caixa de diálogo Pesquisa rápida e o IDE realça a primeira entrada correspondente na lista. Pressione Enter para posicionar o editor de Java no código-fonte na declaração dessa entrada.
Experimente
Observação: os exercícios seguintes faz com que você digite código no método destroy. O código que você digita se destina a ilustrar os recursos de edição. Você normalmente não colocaria um código como esse nesse método. Depois de completar as etapas, você deve remover o código.
- Crie uma página ou abra uma página existente. Solte um componente Hyperlink na página. Clique em Java na barra de ferramentas de edição para exibir o código-fonte Java.
- Clique com o botão direito do mouse na margem esquerda e escolha Mostrar números de linha. Pressione Ctrl-G no código-fonte Java, digite 100 na caixa de diálogo Ir para a linha e pressione Enter.
- Clique na aba da janela Navegador e, em seguida, clique duas vezes em
destroy() para posicionar o código-fonte neste método. No método destroy(), digite getSessionBean1(). e pause. A caixa de diálogo Auto-completar de código é exibida. Digite d para ver a caixa estreitar a lista até destroy(). Pressione Enter para usar essa seleção. Pressione Ctrl-Espaço. Agora digite this.getH e faça uma pausa para que a caixa Auto-completar de código seja exibida. Mova o cursor para baixo até getHyperlink1() e pressione Enter. Digite o ponto, faça uma pausa para que a caixa Auto-completar de código seja exibida, e digite set. Depois que a caixa Auto-completar de código estreitar a lista até todos os métodos que começam com set, digite te para estreitar a lista até setText(Object text) e pressione Enter. O IDE insere setText() depois do ponto e posiciona o cursor dentro dos parênteses. Digite "hello", pressione End, e digite ;.
- Comece uma nova linha, digite
serr e pressione Tab para expandir a abreviação para System.err.println(""). Remova o ponto-e-vírgula do fim da linha. Pressione F9 para compilar o arquivo. A janela Saída exibe vários links para erros. Clique no primeiro link que aparece na janela. O IDE exibe a declaração que causou o erro. Substitua o ponto-e-vírgula que você acabou de remover.
- Comece uma nova linha, digite
getSes e pressione Ctrl-K. O IDE substitui a string pela primeira palavra correspondente do código-fonte acima da linha atual.
- Para limpar o código, coloque o cursor na primeira linha no corpo do método
destroy e pressione Ctrl-E para remover essa linha. Use Ctrl-E para remover as linhas restantes no corpo do método.
- Focalize os ícones na barra de ferramentas de edição e tente cada um deles.
- Clique com o botão direito do mouse no código-fonte Java e escolha Ocultamentos de código no menu pop-up. Tente as várias ações do submenu.
- Tente arrastar os cortes de código da Paleta para ver o que eles oferecem.
Para obter mais informações
- No menu principal, escolha Ajuda > Conteúdo da Ajuda para abrir o visualizador da Ajuda e, em seguida, no painel Conteúdo, escolha Aplicações Java > Editando arquivos de código-fonte > Sobre a edição de arquivos de código-fonte.
- No menu principal, escolha Ajuda > Conteúdo da Ajuda para abrir o visualizador da Ajuda e, em seguida, no painel Conteúdo, escolha Fundamentos do IDE > Atalhos de teclado > Atalhos do editor geral.
- As perguntas freqüentes sobre o Guia de usuários do editor Java
Manipulando entradas do usuário
O IDE oferece objetos de validador e de conversor para facilitar a verificação e a formatação de entradas. Esses objetos podem ser encontrados em suas respectivas seções na Paleta.
Vincule um validador a um componente de entrada, tal como um componente Campo de texto, arrastando o validador para o componente de entrada. Por exemplo, depois de adicionar um componente Campo de texto para uma página no Visual Designer, você pode arrastar um Validador de tamanho da seção Validadores na Paleta e soltá-lo no Campo de texto.
Como alternativa, você pode soltar o validador na página e definir a propriedade validador do componente de entrada para o objeto desse validador. Por exemplo, você pode soltar um Validador de intervalo longo em um local vazio na página, que adiciona longRangeValidator1 à janela Navegador. Em seguida, você pode selecionar um componente de entrada no Visual Designer, tal como o componente Campo de texto, e escolher longRangeValidator1 na lista suspensa da propriedade validatorExpression. Use o mesmo validador para mais de um componente.
Os mecanismos são semelhantes para conversores. Você também pode associar conversores a componentes de saída, tal como o componente Texto estático. Observe que quando você vincula um componente a um campo provedor de dados, as conversões são feitas automaticamente. Aprenda sobre vinculação a provedores de dados na seção Conectando a bancos de dados.
Use a janela Propriedades do validador para definir as regras de validação, tal como o valor mínimo e máximo ou o tamanho mínimo e máximo. Da mesma maneira, use a janela Propriedades do conversor para definir as regras de conversão, tal como o padrão a que o valor deve corresponder ou o método a ser chamado para realizar a validação. O conversor Número possui um assistente especial que é exibido quando você solta pela primeira vez o Conversor de números na página ou em um componente visual.
A seção Básico da Paleta fornece o componente Mensagem e o componente Grupo de mensagens para exibir automaticamente os erros de conversão, erros de validação e mensagens de campo obrigatório. O componente Grupo de mensagens exibe mensagens de erro globais, erros de tempo de execução e, opcionalmente, todas as mensagens de erro de componente. Um componente Mensagem exibe somente as mensagens do componente ao qual está vinculado. Vincule um componente Mensagem a outro componente, definindo a propriedade para do componente Mensagem ou pressionando Ctrl-Shift no componente Mensagem e arrastando o mouse para o componente ao qual deseja vincular o componente Mensagem.
Você pode enviar mensagens de erro personalizadas programaticamente para o componente Grupo de mensagens por meio dos métodos error, warn, fatal e info em qualquer bean de página. Para aprender mais sobre esses métodos, escolha Ferramentas > Pesquisa Javadoc por índice, digite Facesbean no campo de texto da lista suspensa e clique em Localizar.
Experimente
Observação: Vinculação sob demanda dos recursos do NetBeans IDE 6.1. Onde os componentes requerem codificação de Java, agora você deve adicionar manualmente o atributo de vinculação aos componentes em uma aplicação Visual Web JSF. Para fazê-lo, clique com o botão direito do mouse em cada componente e escolha Adicionar atributo de vinculação. Para obter mais informações, consulte o On-demand Binding Attribute Wiki.
- Crie uma página e arraste um botão para a página. Defina o texto do botão como
Ir.
- Arraste um componente Campo de texto para a página. Na janela Propriedades do componente Campo de texto, selecione a caixa de verificação da propriedade
obrigatório.
- Solte um componente Rótulo acima do componente Campo de texto, digite
Preço: e pressione Enter.
- Na janela Propriedades do componente Rótulo, selecione textField1 na lista suspensa da propriedade
for. Observe como o rótulo no Visual Designer mostra um asterisco para indicar que essa entrada é obrigatória para o seu componente Campo de texto associado.
-
Na Paleta, expanda a seção Validadores. Arraste um Validador de intervalo duplo e solte-o no componente Campo de texto. Na janela Navegador, selecione o nó doubleRangeValidator1 recém-criado. Na janela Propriedades do validador, defina o máximo para 10.0 e defina o mínimo para 1.0, como mostrado na figura seguinte.
-
Na Paleta, expanda a seção Conversores. Arraste um Conversor de números e solte-o no componente Campo de texto. Uma caixa de diálogo Formato de número é exibida, conforme mostrado na figura seguinte. Selecione a moeda na lista suspensa Tipo, selecione Inglês (Estados Unidos) na lista suspensa Localidade, e clique em OK.
-
Adicione um componente Mensagem à página. Pressione Ctrl-Shift no componente e arraste para o componente Campo de texto.
Observe que o IDE define a propriedade for do componente Mensagem como o id do componente Campo de texto.
- Adicione um componente Grupo de mensagens à página.
-
Transforme a página em inicial e execute a aplicação. Experimente clicar no botão sem preço indicado, com 1.5 indicado, com um valor não-numérico e com um preço maior que $10.00. Finalmente, digite $1.50 no campo de texto e clique no botão.
Observe como a aplicação rejeita todos os valores que não estão em conformidade com o formato de número e que não estão dentro do intervalo especificado. Observe as mensagens diferentes que são exibidas nos componentes Mensagem e Grupo de mensagens.
- Experimente definir a caixa de verificação
showGlobalOnly do componente Grupo de mensagens.
Para obter mais informações
Armazenando e passando dados
Use o bean de aplicação, o bean de sessão e o bean de solicitação para armazenar informações a serem usadas por outras páginas.
- Use o bean de aplicação para informações que se aplicam a todas as sessões do usuário, tal como uma lista de opções estática de um componente Suspenso.
- Use o bean de sessão para armazenar informações a serem usadas por outras páginas durante a sessão do usuário, tal como o nome de logon do usuário.
-
Se você precisar de informações a serem usadas apenas pela próxima página, use o bean de solicitação.
Qualquer valor que você armazene no bean de solicitação desaparece assim que a solicitação termina. Uma solicitação é uma transmissão única de uma solicitação HTTP do cliente para o servidor, além da resposta correspondente, que pode ser outra página. Em muitos casos, a solicitação começa com o clique em um botão ou link, e termina com a resposta de uma página HTML a ser exibida.
Observação: o bean de solicitação é instanciado somente se a página que inicia a solicitação armazenar valores nas propriedades do bean de solicitação, tal como quando um componente de entrada é vinculado a uma propriedade de bean de solicitação, como descrito abaixo.
Aviso: você não pode usar o bean de solicitação se tiver incluído o elemento <redirect> dentro do elemento <navigation-case> de uma regra de navegação. (Você vê essas regras quando clica no botão Código-fonte no editor de fluxo de página.) Quando a página é enviada, o elemento <redirect> redireciona a página e termina a solicitação antes que uma página subseqüente possa usar qualquer um dos valores armazenados no bean de solicitação.
Observação: Vinculação sob demanda dos recursos do NetBeans IDE 6.1. Onde os componentes requerem codificação de Java, agora você deve adicionar manualmente o atributo de vinculação aos componentes em uma aplicação Visual Web JSF. Para fazê-lo, clique com o botão direito do mouse em cada componente e escolha Adicionar atributo de vinculação. Para obter mais informações, consulte o On-demand Binding Attribute Wiki.
Para adicionar uma propriedade ao bean de sessão:
Clique duas vezes no nó SessionBean1 na janela Navegador.
Isso abre SessionBean1.java no editor Java.
- Adicione a propriedade
answer aos construtor public class SessionBean1 extends AbstractSessionBean.
- Corrija as importações, se necessário.
-
Clique com o botão direito do mouse no editor e escolha Refatorar > Encapsular campos. Na caixa de diálogo resultante, crie o método getter se a propriedade for Somente leitura e os métodos getter e setter se a propriedade for de Leitura/Gravação.
A propriedade aparece como um subnó sob SessionBean1 na janela Navegador, mas em geral não é imediatamente.
Use etapas semelhantes para adicionar uma propriedade ao bean de solicitação ou ao bean de aplicação. Para obter mais informações, consulte a pergunta freqüente How do I add properties to managed beans in NetBeans IDE ? (Como adiciono propriedades aos beans gerenciados no NetBeans IDE 6.0?
Observação: você também pode adicionar propriedades a um bean de página (o bean de apoio que o IDE cria para cada página). Para adicionar uma propriedade a um bean de página, abra o código java da página e adicione a declaração da propriedade ao construtor public class Page1 extends AbstractPageBean e encapsule os campos como acima. Os valores de propriedade do bean de página duram apenas enquanto o bean de página é instanciado. Por exemplo, quando o usuário clica em um componente Botão que renderiza novamente a página (ou seja, o método de ação retorna nulo), uma nova instância do bean de página é criada e os valores de propriedade do bean de página são reinicializados. Se quiser passar um valor para o postback, use os componentes Campo oculto.
Para associar um componente à propriedade de um bean, clique com o botão direito do mouse no componente e escolha Vincular aos dados. Na caixa de diálogo Vincular aos dados, selecione a aba Vincular ao objeto e escolha a propriedade do bean, conforme mostrado na figura seguinte.
Observação: para a maioria dos componentes, o menu pop-up fornece duas ações de vinculação - Vinculações de propriedade e Vincular aos dados. A caixa de diálogo Vinculações de propriedade permite que você vincule qualquer uma das propriedades do componente a uma propriedade de bean gerenciado ou a um campo de provedor de dados. A caixa de diálogo Vincular aos dados é um atalho para vincular a propriedade que retém o valor do componente a uma propriedade de bean gerenciado ou campo de provedor de dados. Use a aba Vincular aos dados para vincular qualquer provedor de dados que você tenha adicionado à página ou a um bean gerenciado. Use a aba Vincular a um objeto para vincular uma propriedade de página ou uma propriedade de bean gerenciado.
Experimente
-
Adicione uma propriedade a RequestBean1.java: chame-a de parm, torne-a String e permita aos usuários o acesso de leitura/gravação.
Observe que a propriedade recém-adicionada talvez não apareça na janela Navegador. Para exibir a propriedade, clique com o botão direito do mouse no Visual Designer e escolha Atualizar no menu pop-up. Você também pode abrir e salvar o arquivo de origem RequestBean1 para exibir a propriedade, como nas etapas seguintes.
- Feche e salve o arquivo.
- Crie uma página chamada Primeira com um componente Botão e um componente Campo de texto.
- Clique com o botão direito do mouse no componente Campo de texto e escolha Vincular aos dados no menu pop-up. Clique na aba Vincular a um objeto, selecione RequestBean1 > parm, e clique em OK.
- Crie uma página chamada Próxima. Adicione um componente Botão e adicione um componente Texto estático.
- Vincule o componente Texto estático na página Próxima ao RequestBean1 > parm usando as mesmas etapas que você usou para o componente Campo de texto na página Primeira.
- Clique com o botão direito do mouse no plano de fundo da página e escolha Navegação de página no menu pop-up.
- No editor de fluxo de página, crie um conector a partir do componente Botão na página Primeira para a página Próxima. Deixe apenas o componente Botão na página Próxima, pois você deseja que esse botão faça com que a página Próxima se renderize novamente de forma automática.
- Defina First.jsp como a página inicial e execute a aplicação. Insira um valor e clique no botão. Observe que a página Próxima exibe o valor que você inseriu na página Primeira. Em segundo plano, uma instância do RequestBean1 foi instanciada para armazenar o valor do componente Campo de texto na propriedade parm. O valor da propriedade parm foi subseqüentemente recuperado para a resposta (o HTML da página Próxima). Quando a resposta foi renderizada, a instância do RequestBean1 foi destruída.
- Clique no botão que está na página Próxima para que a mesma se renderize novamente. Observe como o componente Texto estático não mostra mais um valor. Isso acontece porque a instância do RequestBean1 que mantinha o valor apenas existiu enquanto a solicitação, que começou quando a página Primeira foi enviada e terminou quando o HTML da página Próxima foi enviado de volta para o cliente.
Para obter mais informações
Conectando a bancos de dados
A janela Serviços inclui um nó Bancos de dados, que mostra todos os bancos de dados que estão registrados no IDE, como mostrado na figura seguinte. O NetBeans IDE fornece uma amostra do banco de dados VIAGEM que você usa no restante deste tutorial.
Antes de acessar um banco de dados de um projeto, primeiro conecte o IDE ao banco de dados. Você deve fazer isso toda vez que iniciar o IDE e abrir um projeto que esteja conectado ao banco de dados.
Se o emblema de um banco de dados estiver quebrado
e você não puder expandir o nó do banco de dados, o IDE não está conectado ao banco de dados. Para conectar ao banco de dados VIAGEM, clique com o botão direito do mouse no nó do banco de dados na janela Serviços e escolha Conectar no menu pop-up. Se a caixa de diálogo Conectar for exibida, digite viagem como Senha e selecione Lembrar senha durante esta sessão.
Quando você abrir um projeto existente, o Visual Designer talvez mostre uma tela de erro. Geralmente, isso acontece porque o Visual Designer precisa obter informações do banco de dados, mas o IDE não está conectado ao banco de dados. Tente conectar ao servidor de banco de dados e clicar no botão Continuar na tela de erro para resolver o problema.
Você pode conectar uma página a uma tabela de banco de dados, arrastando a tabela das fontes de dados e soltando-a em um componente ou soltando-a na página. Quando você faz isso, o IDE adiciona um provedor de dados à página e um conjunto de linhas à classe SessionBean1, conforme mostrado na figura seguinte.
O objeto do conjunto de linhas faz a conexão ao banco de dados, executa as consultas e gerencia o conjunto de resultados. O objeto do provedor de dados fornece uma interface comum para acessar muitos tipos de dados compostos, de tabelas de banco de dados a objetos ArrayList e objetos Enterprise JavaBeans. Geralmente, a única vez que você trabalha com o objeto de conjunto de linhas é quando precisa definir parâmetros de consulta. Na maioria dos casos, você usa o objeto de provedor de dados para acessar e manipular os dados.
Quando tiver adicionado um provedor de dados a um projeto, poderá vincular um componente ao provedor de dados, clicando com o botão direito do mouse no componente e escolhendo Vincular aos dados. Na caixa de diálogo Vincular aos dados, clique na aba Vincular ao provedor de dados para trazê-lo para frente. A lista suspensa Escolha um provedor de dados mostra todos os provedores de dados do projeto do qual você pode selecionar o provedor de dados para vincular ao componente. Depois de selecionar o provedor de dados, escolha a coluna de dados apropriada a ser vinculada ao componente. Para alguns componentes, tal como o componente Lista suspensa, você deve escolher um campo Valor e um campo Exibir.
Para definir a consulta SQL a ser usada para recuperar os dados, use o Editor de consultas, conforme mostrado na figura a seguir. Esse editor pode ser acessado através de um objeto de conjunto de linhas.
Experimente
- Crie uma página, torne-a a página inicial e solte um componente Caixa de listagem na página.
- Na janela Serviços, expanda Bancos de dados, expanda o nó jdbc do banco de dados VIAGEM, e expanda o nó Tabelas.
-
Arraste o nó TRIPTYPE para a página.
Observação: se o emblema do banco de dados VIAGEM estiver quebrado e não puder expandir o nó do banco de dados, o IDE não é conectado ao banco de dados. Para conectar ao banco de dados VIAGEM, clique com o botão direito do mouse no nó de bancos de dados na janela Serviços e escolha Conectar no menu pop-up. Quando a caixa de diálogo Conectar aparecer, indique viagem para a Senha, selecione Lembrar senha durante esta sessão e clique em OK.
- Clique com o botão direito do mouse no componente Caixa de listagem e escolha Vincular aos dados no menu pop-up.
- Na caixa de diálogo Vincular aos dados, clique na aba Vincular ao provedor de dados, e verifique se tripTypeDataProvider está selecionado na lista suspensa Escolher um provedor de dados.
- Defina o campo Valor como TRIPTYPE.TRIPTYPEID (a seleção padrão) e defina o campo Exibir como TRIPTYPE.DESCRIPTION. Clique em OK.
- Execute a aplicação para ver como a caixa de listagem é preenchida com dados da tabela.
- Expanda SessionBean1 na janela Navegador e clique duas vezes no nó triptypeRowSet para abrir seu Editor de consultas. Na linha DESCRIÇÃO do painel de grade, clique no campo da coluna Tipo de classificação e escolha Crescente na lista suspensa.
- Clique no X na aba do editor de consultas, chamado jdbc:derby://localhost:1527/travel para fechar o editor de consultas e execute o programa novamente. Observe como os itens agora aparecem em ordem alfabética.
-
(Opcional) Observe o método _init no código-fonte Java para ver o código para associar o provedor de dados ao conjunto de linhas. Este método é dobrado por padrão. Para cancelar o dobramento de código, clique na caixa de dobramento de código que aparece ao lado da margem esquerda.
Clique duas vezes no nó Pacotes de origem > gettingstarted > SessionBean1 na janela Projetos para abrir o código-fonte Java do bean de sessão. Observe o método _init do bean de sessão para ver como o código do conjunto de linhas implementa a consulta.
Para obter mais informações
Depurando uma aplicação Web
O IDE possui um depurador incorporado para ajudá-lo a solucionar os problemas dos seus programas, conforme mostrado na figura seguinte. Você pode usá-lo para ver as interrupções e inspeções, para percorrer o código, e para executá-lo até que ele alcance a declaração de código em que está o cursor.
Defina um ponto de interrupção, clicando na margem esquerda do editor de Java. Defina uma inspeção, clicando com o botão direito do mouse em uma variável ou expressão, escolhendo Nova inspeção. Para executar o depurador, escolha Executar > Depurar projeto principal ou Executar > Executar até o cursor no menu principal.
Dica: aqui há alguns outros recursos que você pode usar para diagnosticar e resolver problemas:
- Use o Monitor de HTTP para monitorar a comunicação entre cliente-servidor e reproduzir solicitações de HTTP. A capacidade de reproduzir solicitações pode ser útil quando a sua página possui vários campos de entrada e você quer criar a solicitação de HTTP sem ter que preencher todos os campos.
- Adicione um componente Grupo de mensagens à página e use os métodos
error, warn, fatal e info para exibir mensagens de diagnóstico no componente.
- Use o método
log para enviar mensagens de diagnóstico para o registro do servidor.
Experimente
Observação: Vinculação sob demanda dos recursos do NetBeans IDE 6.1. Onde os componentes requerem codificação de Java, agora você deve adicionar manualmente o atributo de vinculação aos componentes em uma aplicação Visual Web JSF. Para fazê-lo, clique com o botão direito do mouse em cada componente e escolha Adicionar atributo de vinculação. Para obter mais informações, consulte o On-demand Binding Attribute Wiki.
- Crie, ou reutilize, uma página inicial. Adicione um componente Texto estático, defina sua propriedade
text como Hello, e defina sua propriedade id como helloText.
-
Adicione um componente Botão. Clique duas vezes no componente Botão para acessar seu método de ação (button1_action) e substitua o corpo do método pelo código a seguir.
| Amostra de código 1: método button1_action |
String oldString = (String) this.helloText.getText();
this.helloText.setText("Good Bye");
String newString = (String) this.helloText.getText();
return null;
|
Você pode pressionar Alt-Shift-F para reformatar o código que acabou de adicionar.
Clique com o botão direito do mouse em oldString, escolha Nova inspeção, e clique em OK. Faça o mesmo para newString.
Você vê uma janela da aba Inspeções aberta na parte inferior do IDE, e cada expressão a ser inspecionada é listada na janela.
Clique na margem esquerda para definir um ponto de interrupção para a primeira instrução no corpo do método.
Você vê uma caixa rosa aparecer onde clicou e a linha de código inteira fica com um plano de fundo rosa.
- Escolha Executar > Depurar projeto principal, no menu principal.
- Quando a página for exibida no Navegador da Web, clique no botão. Quando o depurador quebra no método
button1_action, clique na aba Inspeções na janela Depurador para ver o valor atual de newString e oldString.
- Escolha Executar > Passar sobre no menu principal ou clique no botão Passar sobre
na barra de ferramentas. Observe a aba Inspeções. Passe por cima do código duas vezes mais e observe a coluna Valor na aba Inspeções.
- Explore as abas Variáveis locais e Pilha de chamadas.
- Escolha Executar > Terminar sessão de depuração para fechar a sessão do depurador.
Para obter mais informações
- No menu principal, escolha Ajuda > Conteúdo da Ajuda para abrir o visualizador da Ajuda e, em seguida, no painel Conteúdo, expanda Aplicações Java > Depurando aplicações e leia os tópicos sobre depuração.
- No menu principal, escolha Ajuda > Conteúdo da Ajuda para abrir o visualizador da Ajuda e, em seguida, no painel Conteúdo, escolha Fundamentos do IDE > Servidores e Bancos de dados > Monitor de HTTP > Sobre o Monitor de HTTP.
- A seção Executando e monitorando a aplicação no Tutorial do NetBeans IDE para aplicações Web.
Resumo
- Você começa a construir uma aplicação Web, criando um projeto de aplicação JSF Visual Web.
- Você adiciona páginas, clicando com o botão direito do mouse no nó Páginas da Web na janela Propriedades e escolhendo Novo > Página JSF Visual Web.
- Para criar uma página, arraste os componentes da Paleta para a página no Visual Designer.
- Clique no botão Executar projeto principal
na barra de ferramentas principal para salvar, construir, implantar e executar a aplicação.
- Use o editor de fluxo de página para especificar a navegação de página. Você também pode adicionar componentes de vinculação a uma página e definir seus valores de propriedade
url.
- Solte os objetos Validador e Conversor em um componente para especificar as regras de formatação e de validação.
- Use os componentes Mensagem e o componente Grupo de mensagens para exibir as mensagens de erro de tempo de execução.
- Use as propriedades nas classes RequestBean1, SessionBean1 e ApplicationBean1 para armazenar e passar valores de página para página.
- Para criar um objeto de provedor de dados e seu conjunto de linhas associado para uma tabela de banco de dados, arraste uma tabela da seção Bancos de dados da janela Serviços para a página ou para um dos seus componentes.
- Use a ação de menu Vincular aos dados para vincular componentes a campos de provedor de dados e para vincular componentes às propriedades do bean.
- Abra o Editor de consultas em um conjunto de linhas para modificar a consulta SQL que é usada para preencher o objeto de conjunto de linhas.
- Use o depurador, o Monitor de HTTP, o registro do servidor e o componente Grupo de mensagens para diagnosticar problemas de tempo de execução.
Veja também
Esta página foi modificada pela última vez em 15 de abril de 2008