Spring MVC: Entendendo a comunicação view/controller via GET

Neste artigo veremos como criar uma primeira aplicação com o Spring MVC e o Spring Boot, utilizando o motor de templates, o Thymeleaf.

Fique por dentro
Spring MVC é um framework que faz parte do Spring Framework, com o qual criamos aplicações Java web utilizando o modelo arquitetural MVC. Quando combinamos Spring Boot e Spring MVC podemos iniciar o desenvolvimento sem perder tempo com configurações. Este artigo trata desse primeiro passo e de apresentar funcionalidades fundamentais do Spring MVC.

Os frameworks do ecossistema Spring estão entre os mais utilizados por programadores Java. Aqui você terá um introdução amigável a dois dentre os principais entre eles, que são o Spring Boot e o Spring MVC.

Este artigo é uma introdução prática ao Spring MVC, um dos frameworks mais utilizados na criação de aplicações Java web. Seguindo os seus passos você aprenderá como funciona a comunicação entre back-end e front-end.

Para isso usamos como cenário a criação de uma aplicação (Figuras 1 e 2) que recebe uma distância em quilômetros e, baseada nas velocidades média mínima e máxima nas quais um adulto pode andar, calcula o tempo mínimo e máximo de caminhada.

Figura 1. Página web para envio da distância a ser percorrida
Figura 2. Exibição do resultado do cálculo do tempo mínimo e máximo de caminhada

Ao ler esse artigo você aprenderá como criar com os componentes do modelo arquitetural MVC - model, view e controller - dentro do framework Spring MVC. Também faremos uma introdução ao motor de templates nativo do Spring MVC, o Thymeleaf, ensinando a criar um formulário e receber informações do back-end com ele.

Estrutura do projeto

As classes deste projeto estão organizadas em pacotes, de acordo com o papel de cada uma delas como componente do MVC. Classes de modelo estão no pacote Model, enquanto as classes de controle estão no pacote controller (Figura 3).

As views da aplicação estão contidas na pasta resources, que na IDE que utilizamos, o Intellij IDEA, corresponde a ./classpath.

" [...] continue lendo...

Artigos relacionados