JSF, Inicio Rápido – Introdução
Autor: Reinaldo Elias | Publicado: 2011-02-19T12:29:00-08:00

Java Server Faces, ou JSF para os mais íntimos é basicamente um framework que trabalha com modelos de interfaces gáficas sobre eventos, é um framework baseado no conceito MVC para desenvolvimento web.


MVC é o conceito Model-View-Controler, que consiste em separar seu código em camadas de visualização, controle e negócios, mas a princípio esta sigla é inútil. Mais para frente retomarei o assunto.


Em JSF todo o controle é feito por um Servlet (FacesServlet) por um conjunto de manipuladores de ações e eventos e alguns arquivos de configuração. Não vou entrar muito no detalhe de cada bit que compõe a arquitetura senão daria uma biblia.


O que importa é que JSF é um framework “simples”, fácil de configurar e utilizar, ágil e quebra muito o galho.


A principal diferença entre Struts e JSF é:
O Struts sempre chama Actions primeiro(Classes, o famoso *.do) e JSPs depois, isso é configurado no Struts-config.xml.
O JSF chama JSPs primeiro (*.JSF) e dentro destas páginas você decide o que quer fazer.
Mas o retorno configurado é basicamente o mesmo, você configura um arquivinho XML, informa um parâmetro e dentro diz uma string de retorno e seu destino, ou várias strings de retorno e vários destinos.


Fácil né?
Se você é iniciante em JSF ou em Struts não se desespere essa é só uma comparação, a parte legal vai começar em algumas linhas.


O Objetivo deste post (e dos próximos) é apresentar a quem interessar um tutorial fácil de JSF, literalmente uma “Receita de bolo”. Como não da pra explicar tudo em um único post, separei por partes e irei postando aqui todos os links. também existe no menu um link próprio para JSF contendo todas os posts da categoria.


Então vamos ao que interessa:


Parte 1.
- Pra que lado eu atiro?
Primeiro você precisa ter um ambiente configurado, se ainda não configurou o seu, clique neste link e veja como configurar, tem também este link que mostra como configurar o plugin Sysdeo do Tomcat no Eclipse.
Se você ja configurou o ambiente e já está com o Eclipse ou outra IDE preparada, podemos começar.


Vou mostrar como funciona a organização e fornecer todos os arquivos separadamente, mas irei fornecer o projeto final completo para download no final.


Crie um novo projeto com um nome qualquer e defina a seguinte estrutura de pastas:




É com esta estrutura de pastas que iremos trabalhar.


Na pasta ant armazenaremos os arquivos de build.
Na pasta JavaSource armazenaremos todos os pacotes e classes.
Na pasta WebContent colocaremos todos os JSPs.
A pasta WEB-INF deve obrigatóriamente estar dentro da pasta WebContents, é nela que colocaremos os arquivos de configuração do JSF. Crie também dentro da pasta WEB-INF mais duas pastas, uma com o nome classes e outra com o nome lib.
A pasta works não serve para nada, ao menos para nós, ela será usada pelo servidor, para ir guardando os arquivos “temporários”, compilando as classes, etç, etç.


Agora que criamos a estrutura de classes, vamos criar os arquivos.
Dentro da pasta WEB-INF, crie um arquivo chamado faces-config.xml.
Ainda na pasta WEB-INF, crie outro arquivo chamado web.xml.


No arquivo faces-config.xml escreveremos todas as configurações do JSF, como managed-beans e regras de navegação.
No arquivo web.xml, escreveremos as configurações do projeto, como por exemplo: “Ô Tomcat, esse troço aqui é JSF!” ou “Tomcat, quando eu escrever algumacoisa.JSF, faz o favor de entender!”, entre outros.


Agora é necessário baixar as bibliotecas JSF, afinal é um framework.
Clique aqui para baixar as bibliotecas, descompacte o conteúdo deste arquivo em qualquer lugar e copie tudo que for JAR para a pasta lib.


Então até agora já criamos a estrutura de pastas, criamos os arquivos de configuração e baixamos as bibliotecas, então o projeto deve estar como a figura abaixo:






Esse é o fim de primeira parte, o proximo passo será a criação dos JSPs e Java necessários para nossa aplicação.


PRÓXIMO PASSO (PARTE 2).