En Spring MVC är ett Java-ramverk som används för att bygga webbapplikationer. Den följer Model-View-Controller designmönster. Den implementerar alla de grundläggande funktionerna i en kärnfjäderram som Inversion of Control, Dependency Injection.
En Spring MVC ger en elegant lösning att använda MVC i fjäderram med hjälp av DispatcherServlet . Här, DispatcherServlet är en klass som tar emot den inkommande begäran och mappar den till rätt resurs som kontroller, modeller och vyer.
Spring Web Model-View-Controller
Förstå flödet av Spring Web MVC
- Som visas i figuren fångas alla inkommande förfrågningar upp av DispatcherServlet som fungerar som frontkontroller.
- DispatcherServlet får en post av hanterarmappning från XML-filen och vidarebefordrar förfrågan till styrenheten.
- Styrenheten returnerar ett objekt av ModelAndView.
- DispatcherServlet kontrollerar inmatningen av vyupplösaren i XML-filen och anropar den angivna vykomponenten.
Fördelar med Spring MVC Framework
Låt oss se några av fördelarna med Spring MVC Framework:-
Spring Web MVC Framework Exempel
Låt oss se det enkla exemplet på ett Spring Web MVC-ramverk. Stegen är som följer:
- Ladda spring jar-filerna eller lägg till beroenden när det gäller Maven
- Skapa controllerklassen
- Ange posten för kontrollenheten i web.xml-filen
- Definiera bönan i den separata XML-filen
- Visa meddelandet på JSP-sidan
- Starta servern och distribuera projektet
Katalogstruktur för Spring MVC
Katalogstruktur för Spring MVC med Maven
Nödvändiga Jar-filer eller Maven Dependency
För att köra det här exemplet måste du ladda:
- Spring Core burkfiler
- Spring Web jar-filer
- JSP + JSTL jar-filer (Om du använder någon annan visningsteknik laddar du motsvarande jar-filer).
Nedladdningslänk: Ladda ner alla jar-filer för våren inklusive JSP och JSTL.
Om du använder Maven behöver du inte lägga till jar-filer. Nu måste du lägga till maven-beroende i filen pom.xml.
strängjämförelse java
1. Ange projektinformation och konfiguration i filen 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. Skapa controllerklassen
För att skapa kontrollerklassen använder vi två anteckningar @Controller och @RequestMapping.
@Controller-kommentaren markerar denna klass som Controller.
@Requestmapping-kommentaren används för att mappa klassen med det angivna URL-namnet.
HejController.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. Ange posten för kontrollenheten i web.xml-filen
I den här xml-filen specificerar vi servletklassen DispatcherServlet som fungerar som den främre styrenheten i Spring Web MVC. Alla inkommande förfrågningar om html-filen kommer att vidarebefordras till DispatcherServlet.
web.xml
SpringMVC spring org.springframework.web.servlet.DispatcherServlet 1 spring /
4. Definiera bönan i xml-filen
Detta är den viktiga konfigurationsfilen där vi behöver specificera View-komponenterna.
Context:component-scan-elementet definierar baspaketet där DispatcherServlet söker efter kontrollklassen.
Denna xml-fil bör finnas i WEB-INF-katalogen.
spring-servlet.xml
5. Visa meddelandet på JSP-sidan
Detta är den enkla JSP-sidan som visar meddelandet som returneras av styrenheten.
index.jsp
Välkommen till vårens MVC Tutorial
Produktion:
Ladda ner det här exemplet (utvecklat med Eclipse)
Vårens MVC-index
Fjäder MVC
något snabbt sortering
- MVC Introduktion
- Flera vyer
- Flera kontroller
- Modellgränssnitt
- RequestParam-anteckning
Spring MVC Form
- Formulärtaggbibliotek
- Formulärtextfält
- Form radioknapp
- Kryssruta för formulär
- Formulär rullgardinslista
Spring MVC-applikationer
- Exempel på MVC CRUD
- Exempel på MVC-paginering
- Exempel på filuppladdning
Vår MVC-validering
- Vår MVC-validering
- Validering av reguljära uttryck
- Nummervalidering
- Anpassad validering
Fjädrande MVC-plattor
- Fjädrande MVC-plattor