Introducao a Vraptor 4 Pos Java Utfpr

October 21, 2018 | Author: Leomir Andrade | Category: Representational State Transfer, Java Script, Java Server Pages, Ajax (Programming), Hypertext
Share Embed Donate


Short Description

Vraptor...

Description

Introdução a Vraptor 4  André Luiz Forchesatto Forchesatto

Apresentação ● Especi Especiali alista sta em Ciênci Ciência a da da Comp Computa utação ção pela pela UFSC UFSC;; ● Gradua Graduado do em Tecnol Tecnologi ogia a em em Info Informá rmátic tica a pela pela Unoesc Unoesc;; ● Atuação ○ Sócio ócio Camtw amtwo o Sis iste tema mas; s; ○ Dese Desenv nvol olve vedo dorr Jav Java a des desde de 2002 2002;; ○ Professor; ● Contato ○ http http:/ ://a /abo bout ut.m .me/ e/an andr dref efor orch ches esat atto to ○ andr andref efor orch ches esat atto to@g @gma mailil.c .com om ○ @forchesatto

Apresentação ● Especi Especiali alista sta em Ciênci Ciência a da da Comp Computa utação ção pela pela UFSC UFSC;; ● Gradua Graduado do em Tecnol Tecnologi ogia a em em Info Informá rmátic tica a pela pela Unoesc Unoesc;; ● Atuação ○ Sócio ócio Camtw amtwo o Sis iste tema mas; s; ○ Dese Desenv nvol olve vedo dorr Jav Java a des desde de 2002 2002;; ○ Professor; ● Contato ○ http http:/ ://a /abo bout ut.m .me/ e/an andr dref efor orch ches esat atto to ○ andr andref efor orch ches esat atto to@g @gma mailil.c .com om ○ @forchesatto

Objetivo ● Comp Compre reen ende derr o func funcio iona name ment nto o de um framework Action Based; ● Dese Desenv nvol olve verr uti utililiza zand ndo o Vra Vrapt ptor or como como framework MVC; ● Util tilizar RE REST e HTML 5; 5; ● Cria Criarr açõ ações es que que uti utililiza zam m Aja Ajax; x;

Agenda ● ● ● ● ●

Conceito Características Vanta ntagens gens e De Desv svan anta tag gens ens Por on onde co começar  Funcionamento ○ ○ ○ ○ ○ ○

Controller  Padrões View REST Validatores Ajax

● Indo Além

Conceito MVC

Conceito

O VRaptor 4 traz alta produtividade para um desenvolvimento Java Web rápido e fácil  com CDI. É um framework MVC opensource com grande comunidade de desenvolvedores e usuários!

VRaptor 4 ● Desenvolvido por Guilherme Silveira no IME-USP em 2003 ● Versão 2 em 2004 ● Versão 3 em 2009 ● Versão 4 em 2014 ● Mantido principalmente pela Empresa Caelum ● Documentação: http://www.vraptor.org ● Fontes: https://github.com/caelum/vraptor4/ ● Livro:http://www.casadocodigo.com.

br/products/livro-vraptor 

Características VRaptor 

Características VRaptor 

Características VRaptor 

Características VRaptor 

Vantagens ● Framework Brasileiro Open source ● Traz alta produtividade e facilidades de outros mundos (ex. Grails, Rails) ● Encapsula a lógica dos Servlets ● Baseado em Configuração por Convensão ● Utiliza Injeção de Dependência ● Construção de Ações usando Anotações

Por onde começar  ● http://www.vraptor.org ● http://www.vraptor.org/pt/docs/guia-de-1-minuto/ ● http://www.vraptor.org/pt/docs/guia-de-10-minutos/

● Projetos de exemplo: ○ https://bintray.com/caelum/VRaptor4/br.com.caelum. vraptor/

Funcionamento

Donwload   br.com.caelum   vraptor 4.0.0.Final

https://bintray.com/caelum/VRaptor4/br.com.caelum.vraptor/

Estrutura de um Projeto 1 - Controladores Java 2 - Páginas JSP para a VIEW Convenção:

Para cada controlador  temos uma pasta de mesmo nome e dentro as páginas representando os métodos.

Controlador  ● Utilizado como classe que recebe os dados da view e coordena as lógicas de negócio; ● Por convenção deverá ter o sufixo Controller; ● Nome utilizado para registrar o componente que será chamado no navegador; ●  A URL não deve conter o sufixo;

Controlador 

1 - Anotação indicado que a classe é um controlador. 2 - Injeção de dependência 3 - Método que pode ser acessado na URL

Padrões http://localhost:8080/meuProjeto/index/ola.

NomeDoResource = index Lógica = ola

/WEB-INF/jsp/{nomeDoResource}/{logica}.jsp

View ● Conversão automática de tipos; ● Classe Result ○ Disponibiliza valores para a view ○ Na view: ${nomeVariavel} ● Retorno de métodos também podem ser acessados na view ○ List todos(){} ■ view ${clienteList}

○ Cliente get(){}

■ view ${cliente}

Padrão View ● Segue Padrão JSP com HTML normal ● name dos componentes deverão ser os atributos das classes do modelo

Controller e View

@IncludeParameters

Redirecionamento e Foward ● Redirect ○ Acontece do lado do cliente, fará o browser acessar uma nova URL;

● Foward ○ Acontece do lado do servidor transparente para o cliente/browser 

Redirecionadores Vraptor 

Redirecionadores Vraptor 

Prática ● Criar projeto com o maven e configurar; ● Criar controlador e página básica;

REST ● REST é um conjunto de restrições que define um padrão arquitetural; ● Permitir o endereçamento dos recursos do seu sistema de uma forma padronizada; ● Protocolo HTTP não somente como uma maneira de transmitir dados;

REST ● Triangulo REST

○ Substantivos: Recursos ○ Verbos: Operações ■ ■ ■ ■ ■

GET POST PUT DELETE HEAD, OPTIONS e TRACE

○ Content Type: Representação

Melhorando a URI para REST ● @Path redefine o padrão Vraptor de acesso a lógica ● Pode ser utilizado template no @Path {id}

REST - Verbos ● @Post, @Get, @Delete, @Put ● GET /produtos => recupera a lista de todos os produtos. ○ Método lista. ● POST /produtos => adiciona um produto na lista de todos os produtos. ○ Método adiciona. ● GET /produtos/4 => mostra o produto de id 4. ○ Método edita.

REST - Verbos ● PUT /produtos/10 => atualiza o produto de id 10. ○ Método atualiza. ● DELETE /produtos/3 => remove o produto de id 3. ○ Método remove.

REST - Verbos

REST - VIEW Remover

Enviar

Prática ● Mudar lógicas dos controllers e das view para REST

Validadores ● ● ● ● ●

Classe Validator  deve ser injetada Estilo clássico Estilo fluente Bean Validation Redirecionamento: ○ ○ ○ ○

validator.onErrorForwardTo(this).form(); validator.onErrorRedirectTo(this).form(); validator.onErrorUsePageOf(this).form(); validator.onErrorSendBadRequest();

Validadores clássicos

Validadores Fluente

Validadores Bean Validation

Mostrar erros na página

Prática ● Fazer validação utilizando Bean Validation do Hibernate

 Ajax ● Asynchronous Javascript and XML ● Um conjunto de tecnologias: ○ ○ ○ ○ ○ ○ ○ ○

HTML DOM XHTML CSS XML XSLT XMLHttpRequest JavaScript

 Ajax ● Foi batizado em 2005 pela publicação do artigo “Ajax: A New Approach to Web  Application” Escrito por Jossé James Garret ● Ajax pode ser usado com Java, Php, Ruby, etc.. ● Ajax = Javascript rodando no browse e se comunicando com o servidor 

Como funciona o AJAX

Como funciona o AJAX

Por que usar AJAX ● Respostas mais rápidas; ● Economia na banda do servidor; ● Maior interatividade;

 Ajax - Vraptor  ● Só trabalha na parte servidora; ● Pode ser utilizado qualquer framework  javaScript para fazer a parte cliente; ● Auxilia bastante na hora de gerar o JSON para o retorno do Ajax;

 Ajax - Vraptor  ● Vraptor pode serializar os valores para JSON ou XML ● Por padrão apenas tipos primitivos (String, Números, Enums, Datas)

 Ajax - Formato

{"cliente": { "nome": "Joao" } }

Joao

 Ajax - View ● Baixar o Jquery ui ○ http://jqueryui.com/ ● Colocar na pasta webapp/static/js ● Declarar no final antes do o arquivo ● Pode ser utilizado para desenvolver várias funcionalidades como: ○ autocomplete ■ http://api.jqueryui.com/autocomplete/ ○ requisições ajax ■ http://api.jquery.com/category/ajax/

Prática ● Desenvolver componente autocomplete para cidade

Indo além ● ● ● ●

Interceptadores Eventos Conversores Download e Upload

Como Contribuir  ● Participando das listas de discussões (guj e google groups) ● Colaborando com a documentação ● Reportando bugs e sugerindo novas funcionalidades ● Montando o ambiente ● Colaborando com código (github)

View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF