Framework web 02 - 2016

487 visualizações

Publicada em

Aula 02 - Frameworks web, Spring

Publicada em: Educação
0 comentários
2 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
487
No SlideShare
0
A partir de incorporações
0
Número de incorporações
11
Ações
Compartilhamentos
0
Downloads
31
Comentários
0
Gostaram
2
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Framework web 02 - 2016

  1. 1. Frameworks para Desenvolvimento web em Java Aula 02 André Luiz Forchesatto
  2. 2. Programação WEB???
  3. 3. Protocolo HTTP
  4. 4. Requisição Http - request
  5. 5. Resposta Http - response
  6. 6. Frameworks - web ● Surgiram para trazer produtividade no desenvolvimento de software web ● Component Based ○ Simplicidade no desenvolvimento e aprendizado; ○ Conjunto de componentes visuais. Semelhante ao que acontece no desktop; ○ Diminui as preocupações com a parte visual; ○ Exige pouco conhecimento de html+css+javascript inicialmente
  7. 7. Component Based
  8. 8. Action Based ● Framework MVC ● Baseado em ações; ● Executam actions no servidor; ● Não possui componentes visuais; ● Mais flexibilidade no desenvolvimento; ● Exige mais conhecimento de html+css+javascript ● Mas fácil de testar
  9. 9. Action Based
  10. 10. Spring Web ● Fornece integração com vários frameworks; ● Todas as funcionalidades do Core podem ser usadas na web; ● Possui um módulo MVC ● Disponibiliza um EL de integração com os arquivos JSP ● Fácil integração com o JSF ● Suporte a WebSocket
  11. 11. Spring MVC ● Foi projetado em torno de um DispatcherServlet que despacha pedidos para os controladores configuráveis ● Seu uso esta baseado em duas anotações básicas: ○ @Controller ○ @RequestMapping ● Possui suporte a RestFull com anotações: ○ @RestController ○ @PathVariable
  12. 12. Spring MVC
  13. 13. Spring MVC
  14. 14. Criando um Controller Classe java simples com a anotação @Controller e @RequestMapping
  15. 15. RequestMapping ● Anotação responsável por registrar uma URL em um Controller. ● Pode estar sobre um Método ou Classe.
  16. 16. RequestMapping ● Atributos: ○ value ■ Nome da URL ○ consumes ■ MediaType (Json, text, html) de entrada na Action ○ produces ■ MediaType (Json, text, html) de resposta na Action ○ headers ■ Cabeçalho da requisição HTTP ○ method ■ Método HTTP (Post, Get, etc..) ○ params ■ Avalia se os parâmetros estão corretos
  17. 17. Template URI ● Variáveis na URL Exemplo de uso: www.meusistema.com.br/owners/10
  18. 18. Template URI ● URL concatenada Exemplo de uso: www.meusistema.com.br/owners/10/pets/5
  19. 19. Método HTTP ● Pode ser utilizado o padrão RestFul ● Enum RequestMethod ○ GET, HEAD, POST, PUT, PATCH, DELETE, OPTIONS, TRACE
  20. 20. 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
  21. 21. Redirecionamento e Foward lista é um JSP disponível na pasta: WEB-INF/jsp/produto
  22. 22. Binding View e Modelo ● O name dos input devem ser iguais ao nome dos atributos das classes.
  23. 23. Classe Model ● Disponibiliza um mapa de valores para a View
  24. 24. Flash Attributes ● Mapa de parâmetros para redirecionamento
  25. 25. Spring-boot web <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomcat</artifactId> <scope>provided</scope> </dependency> <dependency> <groupId>org.apache.tomcat.embed</groupId> <artifactId>tomcat-embed-jasper</artifactId> <scope>provided</scope> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>jstl</artifactId> </dependency>
  26. 26. Spring-boot web spring.mvc.view.prefix: /WEB-INF/jsp/ spring.mvc.view.suffix: .jsp application.properties
  27. 27. Prática ● Criar páginas e controllers
  28. 28. Validação ● Suporta Bean Validation 1.0 (JSR-303) e Bean Validation 1.1 (JSR-349); ● Possui uma interface própria para validação;
  29. 29. Usar Validador Spring ● Implementar interface Validation
  30. 30. Usar Validador Spring ● Registra no @InitBinder
  31. 31. Prática ● Implementar validações
  32. 32. Spring Rest ● @RestController ○ Anotação especifica para serviços Rest ● Assume @ResponseBody por padrão
  33. 33. Spring Rest ● @ResponseBody ○ Transforma o conteúdo de retorno do response no formato Json ou no MediaType indicado ● @RequestBody ○ Transforma o conteúdo do request em um objeto java no MediaType indicado
  34. 34. Spring Data - Rest ● Disponibiliza os serviços RestFul a nível de repositório
  35. 35. Spring Data - Rest ● Pode ser acessado por JavaScript ou qualquer cliente Rest, retorna um Json para RestFul com a sessão de Links
  36. 36. Spring Data - Rest
  37. 37. Prática Criar serviços Rest

×