logo

Tutorial Spring MVC

Um Spring MVC é uma estrutura Java usada para construir aplicativos da web. Ele segue o padrão de design Model-View-Controller. Ele implementa todos os recursos básicos de uma estrutura central de primavera, como inversão de controle e injeção de dependência.

janela.open javascript

Um Spring MVC fornece uma solução elegante para usar MVC no framework Spring com a ajuda de DispatcherServlet . Aqui, DispatcherServlet é uma classe que recebe a solicitação recebida e a mapeia para o recurso correto, como controladores, modelos e visualizações.

Spring Web Model-View-Controller

Tutorial Spring MVC
    Modelo- Um modelo contém os dados da aplicação. Um dado pode ser um único objeto ou uma coleção de objetos.Controlador- Um controlador contém a lógica de negócios de uma aplicação. Aqui, a anotação @Controller é usada para marcar a classe como controlador.Visualizar- Uma visualização representa as informações fornecidas em um formato específico. Geralmente, JSP+JSTL é usado para criar uma página de visualização. Embora o Spring também suporte outras tecnologias de visualização, como Apache Velocity, Thymeleaf e FreeMarker.Controlador frontal- No Spring Web MVC, a classe DispatcherServlet funciona como front controller. É responsável por gerenciar o fluxo da aplicação Spring MVC.

Compreendendo o fluxo do Spring Web MVC

Tutorial Spring MVC
  • Conforme exibido na figura, todas as solicitações recebidas são interceptadas pelo DispatcherServlet que funciona como front controller.
  • O DispatcherServlet obtém uma entrada de mapeamento do manipulador do arquivo XML e encaminha a solicitação ao controlador.
  • O controlador retorna um objeto de ModelAndView.
  • O DispatcherServlet verifica a entrada do resolvedor de visualização no arquivo XML e invoca o componente de visualização especificado.

Vantagens do framework Spring MVC

Vamos ver algumas das vantagens do Spring MVC Framework: –

    Funções separadas- O Spring MVC separa cada função, onde o objeto modelo, controlador, objeto de comando, resolvedor de visualização, DispatcherServlet, validador, etc.Leve- Ele usa contêiner de servlet leve para desenvolver e implantar seu aplicativo.Configuração poderosa- Ele fornece uma configuração robusta para classes de estrutura e de aplicativo que inclui fácil referência entre contextos, como de controladores da Web a objetos de negócios e validadores.Desenvolvimento rápido- O Spring MVC facilita o desenvolvimento rápido e paralelo.Código comercial reutilizável- Em vez de criar novos objetos, permite-nos utilizar os objetos de negócio existentes.Fácil de testar- No Spring, geralmente criamos classes JavaBeans que permitem injetar dados de teste usando os métodos setter.Mapeamento flexível- Fornece anotações específicas que redirecionam facilmente a página.

Exemplo de estrutura Spring Web MVC

Vamos ver o exemplo simples de um framework Spring Web MVC. As etapas são as seguintes:

  • Carregue os arquivos jar do Spring ou adicione dependências no caso do Maven
  • Crie a classe do controlador
  • Forneça a entrada do controlador no arquivo web.xml
  • Defina o bean no arquivo XML separado
  • Exibir a mensagem na página JSP
  • Inicie o servidor e implante o projeto

Estrutura de diretórios do Spring MVC

Tutorial Spring MVC

Estrutura de diretórios do Spring MVC usando Maven

Tutorial Spring MVC

Arquivos Jar necessários ou dependência do Maven

Para executar este exemplo, você precisa carregar:

  • Arquivos jar do Spring Core
  • Arquivos jar do Spring Web
  • Arquivos jar JSP + JSTL (se você estiver usando qualquer outra tecnologia de visualização, carregue os arquivos jar correspondentes).

Link para Download: Baixe todos os arquivos jar do Spring, incluindo JSP e JSTL.

Se você estiver usando o Maven, não será necessário adicionar arquivos jar. Agora, você precisa adicionar a dependência maven ao arquivo pom.xml.

1. Forneça informações e configuração do projeto no arquivo pom.xml.

pom.xml

 4.0.0 com.javatpoint SpringMVC war 0.0.1-SNAPSHOT SpringMVC Maven Webapp http://maven.apache.org junit junit 3.8.1 test org.springframework spring-webmvc 5.1.1.RELEASE javax.servlet servlet-api 3.0-alpha-1 SpringMVC 

2. Crie a classe do controlador

Para criar a classe do controlador, estamos usando duas anotações @Controller e @RequestMapping.

A anotação @Controller marca esta classe como Controller.

A anotação @Requestmapping é usada para mapear a classe com o nome de URL especificado.

OláController.java

 package com.javatpoint; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; @Controller public class HelloController { @RequestMapping('/') public String display() { return 'index'; } } 

3. Forneça a entrada do controlador no arquivo web.xml

Neste arquivo xml, estamos especificando a classe servlet DispatcherServlet que atua como front controller no Spring Web MVC. Todas as solicitações recebidas para o arquivo html serão encaminhadas para o DispatcherServlet.

web.xml

 SpringMVC spring org.springframework.web.servlet.DispatcherServlet 1 spring / 

4. Defina o bean no arquivo xml

Este é o importante arquivo de configuração onde precisamos especificar os componentes do View.

O elemento context:component-scan define o pacote base onde o DispatcherServlet pesquisará a classe do controlador.

inicialização da lista python

Este arquivo xml deve estar localizado dentro do diretório WEB-INF.

spring-servlet.xml

 

5. Exiba a mensagem na página JSP

Esta é a página JSP simples, exibindo a mensagem retornada pelo Controlador.

index.jsp

Bem-vindo ao tutorial Spring MVC

Saída:

Tutorial Spring MVC
Baixe este exemplo (desenvolvido usando Eclipse)


diagrama do modelo e-r

Índice Spring MVC


Primavera MVC

Formulário Spring MVC

  • Biblioteca de tags de formulário
  • Campo de texto do formulário
  • Botão de opção do formulário
  • Caixa de seleção do formulário
  • Lista suspensa de formulários

Aplicativos Spring MVC

  • Exemplo de CRUD MVC
  • Exemplo de paginação MVC
  • Exemplo de upload de arquivo

Validação Spring MVC

  • Validação Spring MVC
  • Validação de Expressão Regular
  • Validação de Número
  • Validação Personalizada

Blocos Spring MVC

  • Blocos Spring MVC