Spring MVC Domine o principal framework web Java.pdf

(1180 KB) Pobierz
Casa do Código
Agradecimentos
Esse é o primeiro livro que escrevo pela Casa do Código e a satisfação é
imensa. Ser um dos autores da editora que desburocratizou a criação de livros
no país é uma enorme honra. Por conta disso meu primeiro agradecimento
vai para Paulo e Adriano, por me darem espaço para escrever. E como já é de
praxe na minha vida, vou deixar aqui o agradecimento para Larissa, minha
esposa, por aguentar a ausência necessária para escrever um livro.
Por último quero agradecer a você, que tem sede de conhecimento e quer
estar sempre aprendendo. São de pessoas assim que o mundo precisa e eu es-
pero, sinceramente, que cada gota de suor direcionado para seu aprendizado
se transforme em um passo a mais dado na sua carreira.
i
Casa do Código
Sumário
Sumário
1
Introdução
1.1
1.2
1.3
1.4
1.5
1.6
2
Por que o Spring MVC
. . . . . . . . . . . . . . . . . . . . . .
A margem da especificação
. . . . . . . . . . . . . . . . . . . .
Comece a aventura
. . . . . . . . . . . . . . . . . . . . . . . . .
Público-alvo
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
Código-fonte
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
Pedindo ajuda
. . . . . . . . . . . . . . . . . . . . . . . . . . .
1
2
3
4
5
5
5
7
7
18
20
23
25
27
29
29
31
33
36
41
43
iii
Começando o projeto
2.1
2.2
2.3
2.4
2.5
2.6
Configuração básica e criação do projeto
. . . . . . . . . . . .
Acessando o primeiro endereço
. . . . . . . . . . . . . . . . .
Habilitando o Spring MVC
. . . . . . . . . . . . . . . . . . . .
Configurando a pasta com as páginas
. . . . . . . . . . . . . .
Um pouco por dentro do framework
. . . . . . . . . . . . . .
Conclusão
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3
Cadastro de produtos
3.1
3.2
3.3
3.4
3.5
3.6
Formulário de cadastro
. . . . . . . . . . . . . . . . . . . . . .
Lógica de cadastro
. . . . . . . . . . . . . . . . . . . . . . . . .
Gravando os dados no banco de dados
. . . . . . . . . . . . .
Configurando a JPA com o Hibernate
. . . . . . . . . . . . . .
Habilitando o controle transacional
. . . . . . . . . . . . . . .
Conclusão
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Sumário
Casa do Código
4 Melhorando o cadastro e a listagem
4.1
4.2
4.3
4.4
4.5
4.6
4.7
4.8
5
Recebendo uma lista de valores no formulário
. . . . . . . . .
Disponibilizando objetos na view
. . . . . . . . . . . . . . . .
Listando os produtos
. . . . . . . . . . . . . . . . . . . . . . .
Melhor uso dos verbos HTTP
. . . . . . . . . . . . . . . . . .
Modularização das URLs de acesso
. . . . . . . . . . . . . . .
Forward x Redirect
. . . . . . . . . . . . . . . . . . . . . . . .
Parâmetros extras nos redirects
. . . . . . . . . . . . . . . . .
Conclusão
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
45
45
48
50
52
54
55
57
59
61
61
69
73
78
80
82
86
87
87
91
92
94
103
105
105
111
116
119
Validação e conversão de dados
5.1
5.2
5.3
5.4
5.5
5.6
5.7
Validação básica
. . . . . . . . . . . . . . . . . . . . . . . . . .
Exibindo os erros
. . . . . . . . . . . . . . . . . . . . . . . . .
Exibindo as mensagens de erro de maneira amigável
. . . . .
Mantendo os valores no formulário
. . . . . . . . . . . . . . .
Integração com a Bean Validation
. . . . . . . . . . . . . . . .
Convertendo a data
. . . . . . . . . . . . . . . . . . . . . . . .
Conclusão
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6 Upload de arquivos
6.1
6.2
6.3
6.4
6.5
7
Recebendo o arquivo no Controller
. . . . . . . . . . . . . . .
Salvando o caminho do arquivo
. . . . . . . . . . . . . . . . .
Configurações necessárias
. . . . . . . . . . . . . . . . . . . .
Gravando os arquivos fora do servidor web
. . . . . . . . . .
Conclusão
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Carrinho de compras
7.1
7.2
7.3
7.4
URI templates
. . . . . . . . . . . . . . . . . . . . . . . . . . .
Carrinho de compras e o escopo de Sessão
. . . . . . . . . . .
Exibindo os itens do carrinho
. . . . . . . . . . . . . . . . . .
Conclusão
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
iv
Zgłoś jeśli naruszono regulamin