u03 Tecnologias Web na Arquitetura JEE

75
UNID 3 - Tecnologias Web UNID 3 - Tecnologias Web UNAMA – Universidade da Amazônia PRÓ-REITORIA DE PESQUISA, PÓS-GRADUAÇÃO E EXTENSÃO PÓS-GRADUAÇÃO LATO SENSU Curso de Especialização em Desenvolvimento de Sistemas Baseado em Software Livre Desenvolvimento de Aplicações Multicamadas Prof. Cláudio Martins [email protected]

description

Uploaded from Google Docs

Transcript of u03 Tecnologias Web na Arquitetura JEE

Page 1: u03 Tecnologias Web na Arquitetura JEE

UNID 3 - Tecnologias Web UNID 3 - Tecnologias Web

UNAMA – Universidade da AmazôniaPRÓ-REITORIA DE PESQUISA, PÓS-GRADUAÇÃO E EXTENSÃOPÓS-GRADUAÇÃO LATO SENSUCurso de Especialização em Desenvolvimento de Sistemas Baseado em Software Livre

Desenvolvimento de Aplicações Multicamadas

Prof. Cláudio Martins [email protected]

Page 2: u03 Tecnologias Web na Arquitetura JEE

Desenvolvimento de Aplicações MulticamadasProf. Cláudio Martins

2

AssuntosAssuntos

Contêiner Web

Java Servlet

JavaServer Pages

Padrão de Arquitetura MVC

JSF (Java Server Faces)

Page 3: u03 Tecnologias Web na Arquitetura JEE

Desenvolvimento de Aplicações MulticamadasProf. Cláudio Martins

3

Contêiner Web

Page 4: u03 Tecnologias Web na Arquitetura JEE

Desenvolvimento de Aplicações MulticamadasProf. Cláudio Martins

4

O Contêiner Web do Servidor JEEO Contêiner Web do Servidor JEE

Um Contêiner Web (também chamado de servidor web) é onde as aplicações web devem ser implantadas para uso nos browsers ou em clientes (softwares) que falam o protocolo HTTP.

Page 5: u03 Tecnologias Web na Arquitetura JEE

Desenvolvimento de Aplicações MulticamadasProf. Cláudio Martins

5

Arquitetura de um Servidor WebArquitetura de um Servidor Web

Page 6: u03 Tecnologias Web na Arquitetura JEE

Desenvolvimento de Aplicações MulticamadasProf. Cláudio Martins

6

Servidor Web como Contêiner Web do JEEServidor Web como Contêiner Web do JEE

O Tomcat é o servidor web que serve de Container Web do

Glassfish

Nossa instação usa o Glassfish

3.1.1 como servidor JEE

O Tomcat é um servidor web Java, mais especificamente, um container web de servlets. É distribuído como software livre, sendo oficialmente apoiado pela Oracle/Sun como a implementação de referência para as tecnologias Java Servlet e JavaServer Pages (JSP). Ele cobre parte da especificação J2EE com tecnologias como servlet e JSP.

Page 7: u03 Tecnologias Web na Arquitetura JEE

Desenvolvimento de Aplicações MulticamadasProf. Cláudio Martins

7

Tipos de Aplicações WebTipos de Aplicações Web Em JEE há dois tipos de estratégia para desenvolver

essas aplicações:

– Baseado em Apresentação: é a forma mais comum, onde a aplicação web gera dinâmicamente o conteúdo em forma de páginas web, em formatos de linguagem de marcação (HTML, XML, etc) em resposta às solicitações que vem do cliente (browser).● Java EE utiliza as tecnologias Servlet e JSP para realizar essa

tarefa.

– Baseado em Serviços Web: uma aplicação web baseada em serviços implementa um mecanismo chamado “web service”. Neste caso, tanto aplicações web tradicionais (baseadas em apresentação) quanto aplicações em janelas (desktop) podem ser clientes de web services.

http://docs.oracle.com/javaee/5/tutorial/doc/bnadr.html

Page 8: u03 Tecnologias Web na Arquitetura JEE

Desenvolvimento de Aplicações MulticamadasProf. Cláudio Martins

8

Funcionamento de uma Aplicação Web com Funcionamento de uma Aplicação Web com um Contêiner Web – Componentes Webum Contêiner Web – Componentes Web

Em JavaEE os componentes web são construídos com: servlets, páginas JSP e web services.

A interação entre um cliente web (browser) e a aplicação web é vista na figura:

Page 9: u03 Tecnologias Web na Arquitetura JEE

Desenvolvimento de Aplicações MulticamadasProf. Cláudio Martins

9

Funcionamento de uma Aplicação Web com Funcionamento de uma Aplicação Web com um Contêiner Web (JEE)um Contêiner Web (JEE)

(1) O cliente (browser) envia uma solicitação (request) HTTP para o servidor web.

Um servidor web (contêiner web) que implementa as tecnologias Java Servlet e JavaServer Pages (JSP) converte a solicitação em um objeto HTTPServletRequest (2).

Este objeto é entregue como um componente web, que pode interagir com componentes JavaBeans (3) ou acessar um banco de dados (4) para gerar conteúdo dinâmico.

O componente web pode gerar um objeto HTTPServletResponse ou pode repassar o controle para outros componentes web.

(5) Eventualmente um componente web gera um reposta a partir do objeto HTTPServletResponse. (6) O servidor web converte este objeto para uma resposta HTTP e retorna para o cliente (como página html, imagem ou outro formato de conteúdo).

Page 10: u03 Tecnologias Web na Arquitetura JEE

Desenvolvimento de Aplicações MulticamadasProf. Cláudio Martins

10

Java Servlet

Page 11: u03 Tecnologias Web na Arquitetura JEE

Desenvolvimento de Aplicações MulticamadasProf. Cláudio Martins

11

O que são Servlets?O que são Servlets? Servlets são classes programadas em Java que

dinamicamente processam as solicitações (requests) e constróem a resposta (responses) para o cliente (browser).

Servlet é a tecnologia base para outras tecnologias que rodam em um contêiner web (como JSP, JSF, etc).

Page 12: u03 Tecnologias Web na Arquitetura JEE

Desenvolvimento de Aplicações MulticamadasProf. Cláudio Martins

12

Exemplo de código de uma classe Servlet gerada no Exemplo de código de uma classe Servlet gerada no NetBeans 7.1NetBeans 7.1

Page 13: u03 Tecnologias Web na Arquitetura JEE

Desenvolvimento de Aplicações MulticamadasProf. Cláudio Martins

13

JavaServer Pages

Page 14: u03 Tecnologias Web na Arquitetura JEE

14

Tecnologia JSP● Java Server Pages (JSP) é uma tecnologia de

web-scripting (linguagem de script de página) para desenvolvimento de aplicações Web.– Semelhante a várias linguagens de script em

um servidor web, como o Microsoft Active Server Pages (ASP) e PHP, por exemplo.

● As páginas JSP utilizam a tecnologia Java do

lado do servidor (chamadas de servlets) para a criação de conteúdo dinâmico aliado com as tags HTML para manter o conteúdo estático.

Page 15: u03 Tecnologias Web na Arquitetura JEE

15

Arquitetura de Aplicações web com JSP

● As páginas JSP são submetidas a um processo de tradução (uma única vez) e em uma fase de processamento de requisição.

● A tradução (compilação) acontece apenas uma vez, a não ser que a página JSP em questão sofra alterações. – Caso não ocorram erros de compilação, o resultado desta fase é uma

classe que implementa a inteface Servlet, como mostrado na figura:

Page 16: u03 Tecnologias Web na Arquitetura JEE

16

Resultado da compilação da página JSP em classe Servlet

Page 17: u03 Tecnologias Web na Arquitetura JEE

17

Arquitetura de Aplicações web com páginas JSP

• Quando uma página JSP é requisitada pelo cliente, através de um browser, a classe equivalente a esta página é executada pelo servidor.

• A partir daí será gerada uma página HTML que será enviada de volta ao browser do cliente.

Page 18: u03 Tecnologias Web na Arquitetura JEE

Desenvolvimento de Aplicações MulticamadasProf. Cláudio Martins

18

Exemplo de uma aplicação web com JSP e Servlet

Page 19: u03 Tecnologias Web na Arquitetura JEE

Desenvolvimento de Aplicações MulticamadasProf. Cláudio Martins

19

Criando um aplicação web com Servlet no Criando um aplicação web com Servlet no Netbeans 7.xNetbeans 7.x

Crie um novo projeto Java do tipo Java Web

Page 20: u03 Tecnologias Web na Arquitetura JEE

Desenvolvimento de Aplicações MulticamadasProf. Cláudio Martins

20

Definição do nome do ProjetoDefinição do nome do Projeto

Defina o nome do projeto web e o local

Page 21: u03 Tecnologias Web na Arquitetura JEE

Desenvolvimento de Aplicações MulticamadasProf. Cláudio Martins

21

Escolha do Contêiner Web (Servidor Web)Escolha do Contêiner Web (Servidor Web) Escolha o servidor Glassfish. Em seguida, clique em

Finalizar.

Page 22: u03 Tecnologias Web na Arquitetura JEE

Desenvolvimento de Aplicações MulticamadasProf. Cláudio Martins

22

Estrutura do projeto web e página index.jspEstrutura do projeto web e página index.jsp No final, o Netbeans cria a estutura do projeto web e

uma página inicial JSP de boas vindas (index.jsp).

Page 23: u03 Tecnologias Web na Arquitetura JEE

23

Executando (exibindo) a página index.jsp

● Por padrão é criado no projeto web a página index.jsp. Ao executar o arquivo index.jsp a página é exibida no browser que está definido como default do sistema.

Ou clique em RUN

Caso o projeto seja oPrincipal.

Page 24: u03 Tecnologias Web na Arquitetura JEE

24

Criando uma classe Servlet● Utilize os atalho e siga os passos:

Page 25: u03 Tecnologias Web na Arquitetura JEE

25

Nome e localização do Servlet● (1) O nome do Servlet é “Controlador”

● (2) Defina o pacote com nome de “controle”

Page 26: u03 Tecnologias Web na Arquitetura JEE

26

Finalizando o processo de criação do Servlet● A etapa 3 (Configurar implementação...) define como o

servlet será chamado na URL (em Padrão de URL).

● Clique em Finalizar.

Page 27: u03 Tecnologias Web na Arquitetura JEE

27

Exibindo o conteúdo do Servlet● O Netbeans gera um código de teste para exibir ao executar

o servlet. Execute o servlet e veja o resultado na página web.

Page 28: u03 Tecnologias Web na Arquitetura JEE

Desenvolvimento de Aplicações MulticamadasProf. Cláudio Martins

28

Padrão de Arquitetura MVCPadrão de Arquitetura MVC

Page 29: u03 Tecnologias Web na Arquitetura JEE

29

Padrão Arquitetural MVC● O padrão Model-View-Controller (MVC) é um

padrão de arquitetura no desenvolvimento de software, atualmente considerado uma "arquitetura padrão" (ou referência) na Engenharia de Software.

● O modelo isola a "lógica" (A lógica da aplicação) da interface do usuário (Inserir e exibir dados), permitindo desenvolver, editar e testar separadamente cada parte.

Page 30: u03 Tecnologias Web na Arquitetura JEE

30

Padrão Arquitetural MVC● O padrão Model-view-controller (MVC) é um

modelo de desenvolvimento de Software, atualmente considerado uma "arquitetura padrão" (ou referência) na Engenharia de Software.

● O modelo isola a "lógica" (A lógica da aplicação) da interface do usuário (Inserir e exibir dados), permitindo desenvolver, editar e testar separadamente cada parte.

Page 31: u03 Tecnologias Web na Arquitetura JEE

31

Padrão de Arquitetura MVC ● MVC – é um dos padrões arquiteturais mais

utilizados no desenvolvimento de aplicações web.

● O modelo de arquitetura MVC busca impor a divisão dos interesses, isto é, a separação em “camadas” para

– Dados e regras de negócio (MODELO),

– Visualização/Apresentação/interface (VISÃO) e

– Controle da aplicação (CONTROLADOR).

● Para aplicações web sofre mudanças no padrão e no nome (MVC2, MVP), mas a ideia é a mesma do MVC.

Page 32: u03 Tecnologias Web na Arquitetura JEE

32

MVC em Arquitetura Web (Java)● Na plataforma Web, usando JAVA, podemos

ver isso da seguinte forma:– A VISÃO é representada por páginas JSP

e HTML– O CONTROLADOR é delegado a classes

Servlet’s (ou JSP sem tags html)– O MODELO pode ser utilizado objetos

“beans” (em tempo de “request” ou de “sessão”).

Page 33: u03 Tecnologias Web na Arquitetura JEE

33

MVC em Arquitetura Web

Browser envia a solicitação (request)

Controlador interage com o modelo

Controlador chama a visão

Visão formata a resposta ao browser

Page 34: u03 Tecnologias Web na Arquitetura JEE

34

Estereótipos UML para MVCO uso de estereótipos em UML pemite representar objetos com semântica própria.

Um estereótipo é representado por um ícone ou um texto entre « e » Boundary (fronteira) – representam objetos que realizam a interfaceda fronteira entre o sistema com os atores de interação.São as páginas web contendo apenas controles de interação com o usuário.

Controller (controlador) – representam objetos que realizam o controledo sistema, instanciando os objetos de dados e a navegação entre os objetos de fronteira.Na arquitetura Java (web) são os servlets. Podem ser páginas JSP contendoapenas comandos de controle, não existindo marcas HTML de saída.

Entity (entidade de dados) – representam objetos que armazenam os dados processados no sistema.São os objetos java beans, contendo os dados manipulados na aplicação.

Page 35: u03 Tecnologias Web na Arquitetura JEE

35

MVC em Arquitetura Web (Java)

Page 36: u03 Tecnologias Web na Arquitetura JEE

36

MVC em Arquitetura Web (Java)● Para facilitar a construção de aplicações web

empregando MVC, há no mercado diversas tecnologias (frameworks) disponíveis seguindo essa técnica:– JSF (Java Server Faces) – modelo MVC de

referência do Java;

– Struts2

– Ruby Rails

– Webwork

– Spring MVC ●Entre outros

Page 37: u03 Tecnologias Web na Arquitetura JEE

37

Qual Java framework web MVC escolher ?

● Fonte: http://www.javalobby.org/java/forums/t101110.html

Page 38: u03 Tecnologias Web na Arquitetura JEE

38

MVC com Servlet e JSP● Apesar de existir ferramentas (frameworks)

MVC, pode-se perfeitamente desenvolver aplicações web somente com as tecnologias básicas do Java para Web (Servlets e JSP).

● Porém, o programador deve implementar todos os mecanismos presentes na arquitetura MVC, como controle de navegação, redirecionamento de páginas, chamada da lógica de negócio, exibição dos dados, etc.

Page 39: u03 Tecnologias Web na Arquitetura JEE

Desenvolvimento de Aplicações MulticamadasProf. Cláudio Martins

39

Exemplo de Aplicação Web (Servlet + JSP)Exemplo de Aplicação Web (Servlet + JSP)usando MVCusando MVC

Page 40: u03 Tecnologias Web na Arquitetura JEE

40

Processamento de formulário, para exibição de dados em todas as páginas

● Considere uma página de um formulário de login (identificação do usuário).

● Após a identificação do nome do usuário, todas as páginas seguintes devem exibir esse nome.

Homepage

pag1

pag2

Page 41: u03 Tecnologias Web na Arquitetura JEE

41

Mapa de Navegação

Page 42: u03 Tecnologias Web na Arquitetura JEE

42

Visão arquitetônica MVC p/ Web/Java

Controlador (servlet)

homepage.jsp USUARIO_NOME

<<cria bean>>

<< usa o bean >>

<< forward >>

1

2

34

5

<<submit>>

{nome}

Page 43: u03 Tecnologias Web na Arquitetura JEE

43

Códigos (formulário, Servlet e página homepage.jsp)

<form action="Controlador" method="post"> Informe seu nome: <input name="nome" size="30" type="text" > <br> <input type="submit" value="ENVIAR"></form>

protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String nomeUsuario = request.getParameter("nome"); request.getSession().setAttribute("USUARIO_NOME", nomeUsuario); request.getRequestDispatcher("homepage.jsp").forward(request, response); } // fim do método

<body> <h1>Hello World!</h1> Bem vindo ${USUARIO_NOME} <hr> <br><a href="pag1.jsp">Chama página 1</a> <br><a href="pag2.jsp">Chama página 2</a> </body>

Page 44: u03 Tecnologias Web na Arquitetura JEE

44

Passos para construção no NetBeans● Para realizar o código usando o IDE

Netbeans, foi utilizado as seguintes versões:– Netbeans: 7.1

– Tomcat: 7.x

– OBS: ao usar versões anteriores a essas, você terá que observar alguns detalhes de configuração.

Page 45: u03 Tecnologias Web na Arquitetura JEE

45

Passo 1: Escolher o tipo de projeto Web● Abra o Netbeans e escolha no menu: Arquivo – Novo Projeto

● Em seguida, escolha o tipo do projeto: Java Web – Aplicação Web

Page 46: u03 Tecnologias Web na Arquitetura JEE

46

Passo 2: Definir o local (pasta) onde ficará o projeto

● Defina o diretório (pasta) onde ficará o projeto.

Page 47: u03 Tecnologias Web na Arquitetura JEE

47

Passo 3: Definir o servidor web● Escolha o servidor web. Caso ele não esteja na lista, clique

em “Adicionar” (deve estar instalado na sua máquina). Neste exemplo usaremo o GlassFish.

Page 48: u03 Tecnologias Web na Arquitetura JEE

48

Passo 4: Definição de frameworks de apoio● Neste caso, não usaremos nenhum. Clique

em “Finalizar”

Page 49: u03 Tecnologias Web na Arquitetura JEE

49

Projeto gerado no NetBeans● Ao finalizar o projeto é construído (ver figura) e uma página inicial é

criada (index.jsp).

Page 50: u03 Tecnologias Web na Arquitetura JEE

50

Definição do formulário

<form action="Controlador" method="get"> Informe seu nome: <input name="nome" size="30" type="text" > <br> <input type="submit" value="ENVIAR"> </form>

● Crie um novo arquivo JSP com o nome formlogin.jsp ou aproveite o arquivo index.jsp e renomei para formlogin.jsp.

● Acrescente o código para representa um formulário como na figura a seguir.

Page 51: u03 Tecnologias Web na Arquitetura JEE

51

Criando a classe Servet (Controlador)

● Utilize os atalho e siga os passos:

Page 52: u03 Tecnologias Web na Arquitetura JEE

52

Nome e localização do Servlet● (1) O nome do Servlet é “Controlador”

● (2) Defina o pacote com nome de “controle”

Page 53: u03 Tecnologias Web na Arquitetura JEE

53

Finalizando o processo de criação do Servlet

● Verifique como o servlet será nomeado e chamado na URL. Clique em Finalizar.

Page 54: u03 Tecnologias Web na Arquitetura JEE

54

Exibindo o conteúdo do Servlet● O Netbeans gera um código de teste para exibir ao

executar o servlet.

Page 55: u03 Tecnologias Web na Arquitetura JEE

55

Ajustando o código do servlet● Para o nosso exemplo, delete o corpo do

código do método processRequest e insira o código (em azul):

protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String nomeUsuario = request.getParameter("nome"); request.getSession()

.setAttribute("USUARIO_NOME", nomeUsuario); request.getRequestDispatcher("homepage.jsp")

.forward(request, response); } // fim do método

Page 56: u03 Tecnologias Web na Arquitetura JEE

56

Código da página “homepage.jsp”● Crie uma nova página JSP com nome

homepage.jsp e acrescente o código:

Page 57: u03 Tecnologias Web na Arquitetura JEE

57

Código das páginas “pag1.jsp” e “pag2.jsp”

● Crie as páginas JSP “pag1.jsp” e “pag2.jsp”

Page 58: u03 Tecnologias Web na Arquitetura JEE

Desenvolvimento de Aplicações MulticamadasProf. Cláudio Martins

58

JSF (Java Server Faces)

Page 59: u03 Tecnologias Web na Arquitetura JEE

59

O que é JSF?O que é JSF?

Mais que um framework para desenvolver aplicações web de forma ágil, JSF foi incorporado ao especificação JEE (já esta definido na arquitetura a partir do Java 6).

Características do JSF:

– MVC para aplicações web

– Utiliza componentes extensíveis

– Código aberto

– É um padrão para trabalhar Java na Web

– Trabalha com o conceito de evento para os componentes (similar à programação dos componentes swing)

– Gerencia estados dos componentes (os java beans)

Page 60: u03 Tecnologias Web na Arquitetura JEE

60

Arquitetura JSF e outros componentesArquitetura JSF e outros componentesRelação entre as tecnologias de aplicação java web

Page 61: u03 Tecnologias Web na Arquitetura JEE

61

JSF – IntroduçãoJSF – Introdução (cont.)(cont.)

JSF contém:

– JavaBeans – Event Listener– Páginas JSP– Classes auxiliares do lado do servidor– Biblioteca de componentes UI– Biblioteca de event handlers, validators, e etc...– Managed (Backing) Beans (classes que gerenciam

dados)– Arquivo de configuração da aplicação

Page 62: u03 Tecnologias Web na Arquitetura JEE

62

Classe ManagedBeanClasse ManagedBean

São classes simples (estilo POJO, Java Bean).

Possuem os métodos de acesso (getters e setters) seguindo a convenção JavaBean

Possuem os métodos relacionados às ações para as regras de navegação

Podem conter métodos validadores dos dados (Validation methods: métodos de validação :)

Page 63: u03 Tecnologias Web na Arquitetura JEE

Desenvolvimento de Aplicações MulticamadasProf. Cláudio Martins

63

Criando um projeto JSF no Netbeans

Page 64: u03 Tecnologias Web na Arquitetura JEE

Desenvolvimento de Aplicações MulticamadasProf. Cláudio Martins

64

Definindo o nome do projeto e localDefinindo o nome do projeto e local

Page 65: u03 Tecnologias Web na Arquitetura JEE

Desenvolvimento de Aplicações MulticamadasProf. Cláudio Martins

65

Escolha do Servidor WebEscolha do Servidor Web

Page 66: u03 Tecnologias Web na Arquitetura JEE

Desenvolvimento de Aplicações MulticamadasProf. Cláudio Martins

66

Escolha do Framework JSF (JavaServer Faces)Escolha do Framework JSF (JavaServer Faces)

Page 67: u03 Tecnologias Web na Arquitetura JEE

Desenvolvimento de Aplicações MulticamadasProf. Cláudio Martins

67

Resultado (projeto e página index.xhtml)Resultado (projeto e página index.xhtml)

Page 68: u03 Tecnologias Web na Arquitetura JEE

Desenvolvimento de Aplicações MulticamadasProf. Cláudio Martins

68

Código da página “index”Código da página “index”

<h:body> Hello from Facelets <h:form> Nome: <h:inputText value="#{cadastro.nome}"/> <BR/> Sobrenome: <h:inputText value="#{cadastro.sobrenome}"/><BR/> ...

<h:commandButton value="Cadastrar Dados" action="#{cadastro.cadastrar}"/> </h:form>

</h:body>

Page 69: u03 Tecnologias Web na Arquitetura JEE

Desenvolvimento de Aplicações MulticamadasProf. Cláudio Martins

69

Criando a página “benvindo.xhtml”Criando a página “benvindo.xhtml”

Page 70: u03 Tecnologias Web na Arquitetura JEE

Desenvolvimento de Aplicações MulticamadasProf. Cláudio Martins

70

Criando a página “benvindo.xhtml” (2)Criando a página “benvindo.xhtml” (2)

Page 71: u03 Tecnologias Web na Arquitetura JEE

Desenvolvimento de Aplicações MulticamadasProf. Cláudio Martins

71

Código da página “benvindo”Código da página “benvindo”

<h:body> <f:view> USANDO JSP Cadastro do usuário ${cadastro.nome} / ${bean.sobrenome} aceito. Parabéns.

<br/> USANDO JSF: <br/> Benvindo, <h:outputText value="#{cadastro.nome}" /> / <h:outputText value="#{cadastro.sobrenome}" /> </f:view>

</h:body>

Page 72: u03 Tecnologias Web na Arquitetura JEE

Desenvolvimento de Aplicações MulticamadasProf. Cláudio Martins

72

Criando o componente bean gerenciável Criando o componente bean gerenciável (Managed Bean)(Managed Bean)

Page 73: u03 Tecnologias Web na Arquitetura JEE

Desenvolvimento de Aplicações MulticamadasProf. Cláudio Martins

73

Definindo o nome e o local do beanDefinindo o nome e o local do bean

Page 74: u03 Tecnologias Web na Arquitetura JEE

Desenvolvimento de Aplicações MulticamadasProf. Cláudio Martins

74

Código do BeanCódigo do Bean

@ManagedBean (name="cadastro")@RequestScopedpublic class CadastroBean {

private String nome; private String sobrenome;

public CadastroBean() { }

public String cadastrar() { if (nome.trim().equals("") || sobrenome.trim().equals("")) { return ("index"); } else { return ("benvindo"); } }

// gets e setts

Page 75: u03 Tecnologias Web na Arquitetura JEE

Desenvolvimento de Aplicações MulticamadasProf. Cláudio Martins

75

Referências bibliográficasReferências bibliográficas Geary, David; Horstmann Cay - Core JavaServer Faces, 2004

Bergsten, Hans; JavaServer Faces, O’Reilly, 2004

Site oficial do JEE: http://www.oracle.com/technetwork/java/javaee/overview/index.html