logo

Tutorial de Spring MVC

Un Spring MVC és un marc de Java que s'utilitza per crear aplicacions web. Segueix el patró de disseny Model-View-Controller. Implementa totes les característiques bàsiques d'un marc de molla bàsic com la inversió de control, la injecció de dependència.

Un Spring MVC proporciona una solució elegant per utilitzar MVC en el marc de primavera amb l'ajuda de DispatcherServlet . Aquí, DispatcherServlet és una classe que rep la sol·licitud entrant i l'assigna al recurs adequat, com ara controladors, models i vistes.

Spring Web Model-View-Controller

Tutorial de Spring MVC
    Model- Un model conté les dades de l'aplicació. Una dada pot ser un únic objecte o una col·lecció d'objectes.Controlador- Un controlador conté la lògica de negoci d'una aplicació. Aquí, l'anotació @Controller s'utilitza per marcar la classe com a controlador.Veure- Una vista representa la informació proporcionada en un format determinat. Generalment, JSP+JSTL s'utilitza per crear una pàgina de visualització. Tot i que Spring també admet altres tecnologies de visualització com Apache Velocity, Thymeleaf i FreeMarker.Controlador frontal- A Spring Web MVC, la classe DispatcherServlet funciona com a controlador frontal. És responsable de gestionar el flux de l'aplicació Spring MVC.

Comprendre el flux de Spring Web MVC

Tutorial de Spring MVC
  • Tal com es mostra a la figura, tota la sol·licitud entrant és interceptada pel DispatcherServlet que funciona com a controlador frontal.
  • El DispatcherServlet obté una entrada de mapatge del controlador del fitxer XML i reenvia la sol·licitud al controlador.
  • El controlador retorna un objecte de ModelAndView.
  • El DispatcherServlet comprova l'entrada del resolutor de visualització al fitxer XML i invoca el component de vista especificat.

Avantatges de Spring MVC Framework

Vegem alguns dels avantatges de Spring MVC Framework:

    Rols separats- El Spring MVC separa cada rol, on l'objecte model, el controlador, l'objecte d'ordres, la resolució de vista, el DispatcherServlet, el validador, etc. poden ser realitzats per un objecte especialitzat.Pes lleuger- Utilitza un contenidor de servlet lleuger per desenvolupar i desplegar la vostra aplicació.Configuració potent- Proporciona una configuració sòlida tant per a les classes de marc com d'aplicacions que inclou una referència fàcil entre contextos, com ara des de controladors web fins a objectes de negoci i validadors.Desenvolupament ràpid- El Spring MVC facilita un desenvolupament ràpid i paral·lel.Codi comercial reutilitzable- En lloc de crear nous objectes, ens permet utilitzar els objectes de negoci existents.Fàcil de provar- A la primavera, generalment creem classes JavaBeans que us permeten injectar dades de prova mitjançant els mètodes de configuració.Cartografia flexible- Proporciona les anotacions específiques que redirigen fàcilment la pàgina.

Exemple de marc de Spring Web MVC

Vegem un exemple senzill d'un marc Spring Web MVC. Els passos són els següents:

  • Carregueu els fitxers Spring Jar o afegiu dependències en el cas de Maven
  • Creeu la classe de controlador
  • Proporcioneu l'entrada del controlador al fitxer web.xml
  • Definiu el bean al fitxer XML separat
  • Mostra el missatge a la pàgina JSP
  • Inicieu el servidor i implementeu el projecte

Estructura de directoris de Spring MVC

Tutorial de Spring MVC

Estructura de directoris de Spring MVC utilitzant Maven

Tutorial de Spring MVC

Fitxers Jar necessaris o dependència de Maven

Per executar aquest exemple, heu de carregar:

pandes loc
  • Fitxers jar Spring Core
  • Arxius jar de Spring Web
  • Fitxers jar JSP + JSTL (si utilitzeu una altra tecnologia de visualització, carregueu els fitxers jar corresponents).

Enllaç de descàrrega: Baixeu tots els fitxers jar per a la primavera, inclosos JSP i JSTL.

Si utilitzeu Maven, no cal que afegiu fitxers jar. Ara, heu d'afegir la dependència de Maven al fitxer pom.xml.

1. Proporcioneu informació i configuració del projecte al fitxer 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. Creeu la classe de controlador

Per crear la classe de controlador, estem utilitzant dues anotacions @Controller i @RequestMapping.

L'anotació @Controller marca aquesta classe com a Controlador.

L'anotació @Requestmapping s'utilitza per assignar la classe amb el nom d'URL especificat.

Java estàtic

HelloController.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. Proporcioneu l'entrada del controlador al fitxer web.xml

En aquest fitxer xml, estem especificant la classe de servlet DispatcherServlet que actua com a controlador frontal a Spring Web MVC. Tota la sol·licitud entrant per al fitxer html s'enviarà al DispatcherServlet.

web.xml

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

4. Definiu el bean al fitxer xml

Aquest és el fitxer de configuració important on hem d'especificar els components View.

L'element context:component-scan defineix el paquet base on DispatcherServlet cercarà la classe del controlador.

Aquest fitxer xml s'ha d'ubicar dins del directori WEB-INF.

spring-servlet.xml

 

5. Mostra el missatge a la pàgina JSP

Aquesta és la pàgina JSP senzilla, que mostra el missatge retornat pel controlador.

index.jsp

Benvingut al tutorial de Spring MVC

Sortida:

Tutorial de Spring MVC
Baixeu aquest exemple (desenvolupat amb Eclipse)


Spring MVC Index


Primavera MVC

Forma MVC de primavera

  • Biblioteca d'etiquetes de formularis
  • Camp de text del formulari
  • Botó de ràdio de formulari
  • Casilla de verificació del formulari
  • Llista desplegable de formularis

Aplicacions Spring MVC

  • Exemple MVC CRUD
  • Exemple de paginació MVC
  • Exemple de càrrega de fitxers

Validació Spring MVC

preg_match
  • Validació Spring MVC
  • Validació d'expressions regulars
  • Validació de números
  • Validació personalitzada

Rajoles de primavera MVC

  • Rajoles de primavera MVC