O slideshow foi denunciado.
Frameworks para
Desenvolvimento web em
Java
Aula 02
André Luiz Forchesatto
Programação WEB???
Protocolo HTTP
Requisição Http - request
Resposta Http - response
Frameworks - web
● Surgiram para trazer produtividade no
desenvolvimento de software web
● Component Based
○ Simplicidade ...
Component Based
Action Based
● Framework MVC
● Baseado em ações;
● Executam actions no servidor;
● Não possui componentes visuais;
● Mais ...
Action Based
Spring Web
● Fornece integração com vários frameworks;
● Todas as funcionalidades do Core podem ser
usadas na web;
● Possu...
Spring MVC
● Foi projetado em torno de um
DispatcherServlet que despacha pedidos
para os controladores configuráveis
● Seu...
Spring MVC
Spring MVC
Criando um Controller
Classe java simples com a anotação
@Controller e @RequestMapping
RequestMapping
● Anotação responsável por registrar
uma URL em um Controller.
● Pode estar sobre um Método ou
Classe.
RequestMapping
● Atributos:
○ value
■ Nome da URL
○ consumes
■ MediaType (Json, text, html) de entrada na Action
○ produce...
Template URI
● Variáveis na URL
Exemplo de uso: www.meusistema.com.br/owners/10
Template URI
● URL concatenada
Exemplo de uso: www.meusistema.com.br/owners/10/pets/5
Método HTTP
● Pode ser utilizado o padrão RestFul
● Enum RequestMethod
○ GET, HEAD, POST, PUT, PATCH, DELETE, OPTIONS, TRA...
Redirecionamento e Foward
● Redirect
○ Acontece do lado do cliente, fará o browser acessar
uma nova URL;
● Foward
○ Aconte...
Redirecionamento e Foward
lista é um JSP disponível na pasta: WEB-INF/jsp/produto
Binding View e Modelo
● O name dos input devem ser iguais ao
nome dos atributos das classes.
Classe Model
● Disponibiliza um mapa de valores para a
View
Flash Attributes
● Mapa de parâmetros para redirecionamento
Spring-boot web
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
...
Spring-boot web
spring.mvc.view.prefix: /WEB-INF/jsp/
spring.mvc.view.suffix: .jsp
application.properties
Prática
● Criar páginas e controllers
Validação
● Suporta Bean Validation 1.0 (JSR-303) e
Bean Validation 1.1 (JSR-349);
● Possui uma interface própria para val...
Usar Validador Spring
● Implementar interface Validation
Usar Validador Spring
● Registra no @InitBinder
Prática
● Implementar validações
Spring Rest
● @RestController
○ Anotação especifica para serviços Rest
● Assume @ResponseBody por padrão
Spring Rest
● @ResponseBody
○ Transforma o conteúdo de retorno do response no
formato Json ou no MediaType indicado
● @Req...
Spring Data - Rest
● Disponibiliza os serviços RestFul a nível de
repositório
Spring Data - Rest
● Pode ser acessado por JavaScript ou
qualquer cliente Rest, retorna um Json para
RestFul com a sessão ...
Spring Data - Rest
Prática
Criar serviços Rest
Próximos SlideShares
Carregando em…5
×

Framework web 02 - 2016

562 visualizações

Publicada em

Aula 02 - Frameworks web, Spring

Publicada em: Educação
  • Seja o primeiro a comentar

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

×