Você está na página 1de 29

Desenvolvendo Sistemas Web com JSF

Prof. Andrey Masiero

26 de agosto de 2016
Agenda

1 Desenvolvimento Web

2 Componentes Java Web

3 JavaServer Faces

4 Model View Control

5 Codificando

6 Próxima Aula
Desenvolvimento Web

Recapitulando . . .
Existem vantagens e desvantagens no desenvolvimento web, são elas:
Necessidade de conhecer html, css, js e bibliotecas; ↓
Orienado ao modelo request-response; ↓
Não mantém o estado da página (http, stateless); ↓
Facilita a manutenção e gerenciamento da aplicação. ↑

Prof. Andrey Masiero Aula 04 26 de agosto de 2016 1 / 27


Componentes Java Web

Muitos componentes foram criados para minimizar as desvantagens do


desenvolvimento web:
JSF - http://goo.gl/Bk0tlo;
Vaadin - https://vaadin.com/home;
Apache Wicket - http://wicket.apache.org/
Tapestry 5 - http://tapestry.apache.org/
Google GWT - http://www.gwtproject.org/

Prof. Andrey Masiero Aula 04 26 de agosto de 2016 2 / 27


JavaServer Faces (JSF)

JSF é uma especificação/padrão do Java EE, feita para o


desenvolvimento web baseado em componentes;
É mantido através do Java Community Process (JCP);
Através do site do JCP (https://jcp.org/), pode-se verificar a
descrição completa da especificação.
A especificação do JSF é a JSR-314.

Prof. Andrey Masiero Aula 04 26 de agosto de 2016 3 / 27


JavaServer Faces (JSF)

Prof. Andrey Masiero Aula 04 26 de agosto de 2016 4 / 27


JavaServer Faces (JSF)

Sendo uma especificação, podem existir várias implementações de seus


componentes. As mais famosas são:
Mojarra - https://javaserverfaces.java.net/;
Apache MyFaces - https://myfaces.apache.org/.

Prof. Andrey Masiero Aula 04 26 de agosto de 2016 5 / 27


Mojarra

É uma especificação básica dos componentes do JSF;


Quando existe a necessidade de componentes mais complexos, é
necessário utilizar outras bibliotecas ou frameworks de JSF.

Prof. Andrey Masiero Aula 04 26 de agosto de 2016 6 / 27


Frameworks

Os mais populares são:


Primefaces - http://primefaces.org/;
Richfaces - http://www.icesoft.org/;
Icefaces - http://richfaces.jboss.org/.

Prof. Andrey Masiero Aula 04 26 de agosto de 2016 7 / 27


Frameworks

Os mais populares são:


Primefaces - http://primefaces.org/;
Richfaces - http://www.icesoft.org/;
Icefaces - http://richfaces.jboss.org/.

Prof. Andrey Masiero Aula 04 26 de agosto de 2016 8 / 27


Model View Control (MVC)

Prof. Andrey Masiero Aula 04 26 de agosto de 2016 9 / 27


Codificando com JSF
Para o projeto com JSF, vamos precisar incluir a especificação do Mojarra.

Prof. Andrey Masiero Aula 04 26 de agosto de 2016 10 / 27


Codificando com JSF
Selecione a opção JavaServer Faces, no passo Frameworks da criação do
projeto.

Prof. Andrey Masiero Aula 04 26 de agosto de 2016 11 / 27


Codificando com JSF
Depois na opção Configuration, altere o campo JSF Servlet URL Pattern
para *.xhtml

Prof. Andrey Masiero Aula 04 26 de agosto de 2016 12 / 27


Codificando com JSF

Olhando no arquivo web.xml . . .

Prof. Andrey Masiero Aula 04 26 de agosto de 2016 13 / 27


Codificando com JSF

Percebemos que o JSF chama uma Servlet para renderizar as imagens


como o JSP.

Prof. Andrey Masiero Aula 04 26 de agosto de 2016 14 / 27


Codificando com JSF

- Indo para o arquivo index.xhtml, vemos que o JSF também trabalha com
taglibs.
- Para trabalhar com o Mojarra, o endereço da taglib deve ser direcionado
para http://java.sun.com/jsf/html

Prof. Andrey Masiero Aula 04 26 de agosto de 2016 15 / 27


Codificando com JSF

Que tal fazermos o cadastro de empresa da última aula?

Resultado:

Prof. Andrey Masiero Aula 04 26 de agosto de 2016 16 / 27


Codificando com JSF

Melhorando . . .

Resultado:

Prof. Andrey Masiero Aula 04 26 de agosto de 2016 17 / 27


Codificando com JSF

Melhorando . . .

Resultado:

Prof. Andrey Masiero Aula 04 26 de agosto de 2016 18 / 27


Codificando com JSF

Melhorando . . .

Resultado:

Prof. Andrey Masiero Aula 04 26 de agosto de 2016 19 / 27


Codificando com JSF

Mas e ai!!! Como faço a parte do servidor?

Prof. Andrey Masiero Aula 04 26 de agosto de 2016 20 / 27


Codificando com JSF

Criar classe EmpresaBean . . .

Prof. Andrey Masiero Aula 04 26 de agosto de 2016 21 / 27


Codificando com JSF

Adicionar a anotação ManagedBean . . .

Prof. Andrey Masiero Aula 04 26 de agosto de 2016 22 / 27


Codificando com JSF
Model:

View:

Resultado:

Prof. Andrey Masiero Aula 04 26 de agosto de 2016 23 / 27


Codificando com JSF
Model:

View:

Prof. Andrey Masiero Aula 04 26 de agosto de 2016 24 / 27


Codificando com JSF

Request Response

Console:

Prof. Andrey Masiero Aula 04 26 de agosto de 2016 25 / 27


Codificando com JSF

Model:

Resultado:

Prof. Andrey Masiero Aula 04 26 de agosto de 2016 26 / 27


Próxima Aula

Continuando com JSF

Na próxima aula. . .

Prof. Andrey Masiero Aula 04 26 de agosto de 2016 27 / 27

Você também pode gostar