Einfachstes Spring MVC Framework Tutorial – Hello World Beispiel mit UI (JSP) Seite
Veröffentlicht: 2019-02-23
Die Model-View-Controller (MVC)-Architektur bietet die einfachste Möglichkeit, flexible und lose gekoppelte Webanwendungen zu entwickeln.
In diesem Tutorial erfahren Sie, wie Sie Ihre erste Spring MVC-Anwendung mit sehr detaillierten Schritten erstellen.
Haben Sie eine der folgenden Fragen?
- Grundlagen von Spring MVC 5.2.3
- Entwicklung einer Spring Framework MVC 5-Anwendung Schritt für Schritt..
- java – Spring MVC-Tutorial von Grund auf neu
- Spring MVC Schnelles Tutorial
- Spring MVC Framework-Lernprogramm
- Erstes Spring MVC-Anwendungstutorial
- Spring 5.x MVC-Tutorials, AJAX-Demo, jQuery-Demo, JavaScript-Demo, Tipps und Tricks Spring 5 MVC
Dann sind Sie hier genau richtig. Hier zeige ich ein einfaches Spring MVC framework
zum Erstellen von Webanwendungen.
Das Wichtigste zuerst – Lassen Sie uns die Umgebung einrichten
Tutorial zuletzt aktualisiert und verifiziert: September 2020 mit den folgenden Tool-Versionen.
Ich verwende die folgenden Tools, die Sie möglicherweise herunterladen müssen, wenn Sie sie noch nicht haben.
- Tomcat 9.0.38 – Laden Sie den neuesten Apache Tomcat von diesem Link herunter.
- Stellen Sie sicher, dass Sie Eclipse IDE for
Java EE
Developers (2020-09 R) herunterladen – Download-Link. (Diagramm unten) -
Spring 5.2.9.RELEASE
(Kein Download erforderlich) – Wir werden die Maven-Abhängigkeit verwenden. - JDK 15 – Download-Link.

Stellen Sie sicher, dass Sie das neueste Java EE
Developer Kit herunterladen:

Hauptziel
Hauptziel dieses Tutorials ist es, die Spring MVC-Anwendung auf einfachste Weise zu erstellen.
Bevor wir anfangen, sehen wir uns an, was wir am Ende dieses Tutorials sehen werden
So sieht unser application result
aus. Dies ist ein Endergebnis, sobald Sie alle folgenden Schritte abgeschlossen haben.
Hier ist ein Endergebnis: Willkommensseite ==> index.jsp

Ergebnisrückgaben von der Controller-Klasse

Beginnen wir nun mit dem Tutorial
Schritt 1
- Öffnen Sie Eclipse
-
New Eclipse Workspace
erstellen – Dies ist einmust
, um Probleme mit der Konfiguration des vorhandenen Arbeitsbereichs zu vermeiden.

Schritt 2
- Klicken Sie auf
File
- Klicken Sie auf
New
- Wählen Sie
Dynamic Web Project
- Ein Popup-Fenster, Geben Sie den Projektnamen an:
CrunchifySpringMVCTutorial
- Stellen Sie sicher, dass Sie
Target Runtime
alsApache Tomcat 9.0
verwenden- Wenn die Ziellaufzeit nicht angezeigt wird, befolgen Sie diese Schritte
- Wählen Sie Konfiguration als
Default Configuration

Schritt 3
Konvertieren Sie Project in Maven Project, um alle erforderlichen Spring MVC-Abhängigkeiten zum Projekt hinzuzufügen.
Schritte:
- Rechtsklick auf Projekt
- Konfigurieren
- In
Maven
Projekt konvertieren


Schritt 4
Öffnen Sie die Datei pom.xml
und fügen Sie dem Projekt die folgenden jar dependencies
hinzu.

NOTE:
Hier ist meinepom.xml
-Datei. Stellen Sie sicher, dass Sie die Java-Version auf13
aktualisieren, wenn Sie noch nicht zuJDK 13
sind. Wir werden dieses Tutorial weiterhin auf die neueste Spring MVC-Version aktualisieren.Die folgende pom.xml-Datei kann also eine andere (neueste) Version von Spring MVC-Abhängigkeiten haben als das obige Bild
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 |
< project xmlns = "http://maven.apache.org/POM/4.0.0" xmlns : xsi = "http://www.w3.org/2001/XMLSchema-instance" xsi : schemaLocation = "http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" > < modelVersion > 4.0.0 < / modelVersion > < groupId > CrunchifySpringMVCTutorial < / groupId > < artifactId > CrunchifySpringMVCTutorial < / artifactId > < version > 0.0.1 - SNAPSHOT < / version > < packaging > war < / packaging > < build > < sourceDirectory > src < / sourceDirectory > < plugins > < plugin > < artifactId > maven - compiler - plugin < / artifactId > < version > 3.8.0 < / version > < configuration > < release > 13 < / release > < / configuration > < / plugin > < plugin > < artifactId > maven - war - plugin < / artifactId > < version > 3.2.1 < / version > < configuration > < warSourceDirectory > WebContent < / warSourceDirectory > < / configuration > < / plugin > < / plugins > < / build > < dependencies > < dependency > < groupId > org . springframework < / groupId > < artifactId > spring - core < / artifactId > < version > 5.2.3.RELEASE < / version > < / dependency > < dependency > < groupId > org . springframework < / groupId > < artifactId > spring - context < / artifactId > < version > 5.2.3.RELEASE < / version > < / dependency > < dependency > < groupId > org . springframework < / groupId > < artifactId > spring - aop < / artifactId > < version > 5.2.3.RELEASE < / version > < / dependency > < dependency > < groupId > org . springframework < / groupId > < artifactId > spring - webmvc < / artifactId > < version > 5.2.3.RELEASE < / version > < / dependency > < dependency > < groupId > org . springframework < / groupId > < artifactId > spring - web < / artifactId > < version > 5.2.3.RELEASE < / version > < / dependency > < dependency > < groupId > javax . servlet < / groupId > < artifactId > jstl < / artifactId > < version > 1.2 < / version > < / dependency > < / dependencies > < / project > |
Schritt-5
Erstellen Sie eine neue Spring Configuration Bean
-Datei: /WebContent/WEB-INF/crunchify-servlet.xml

crunchify-servlet.xml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
<? xml version = "1.0" encoding = "UTF-8" ?> < beans xmlns = "http://www.springframework.org/schema/beans" xmlns : mvc = "http://www.springframework.org/schema/mvc" xmlns : context = "http://www.springframework.org/schema/context" xmlns : xsi = "http://www.w3.org/2001/XMLSchema-instance" xsi : schemaLocation = " http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd" > < mvc : annotation - driven / > < context : component - scan base - package = "com.crunchify.controller" / > < mvc : default - servlet - handler / > < bean id = "viewResolver" class = "org.springframework.web.servlet.view.UrlBasedViewResolver" > < property name = "viewClass" value = "org.springframework.web.servlet.view.JstlView" / > < property name = "prefix" value = "/WEB-INF/jsp/" / > < property name = "suffix" value = ".jsp" / > < / bean > < / beans > |
In der obigen crunchify-servlet.xml
Konfigurationsdatei haben wir ein Tag <context:component-scan>
definiert. Dadurch kann Spring alle Komponenten aus dem Paket com.crunchify.controller
und allen seinen untergeordneten Paketen laden.
Dadurch wird unsere CrunchifyHelloWorld.class
. Außerdem haben wir einen Bean viewResolver
definiert. Diese Bean löst die Ansicht auf und fügt der Ansicht in ModelAndView die Präfixzeichenfolge /WEB-INF/jsp/
und das Suffix .jsp
.
Beachten Sie, dass wir in unserer CrunchifyHelloWorld
-Klasse ein ModelAndView-Objekt mit dem Ansichtsnamen welcome zurückgeben.
Dies wird in den Pfad /WEB-INF/jsp/welcome.jsp
aufgelöst.
Schritt-6
Erstellen Sie eine neue Datei web.xml
, falls sie noch nicht vorhanden ist. Ordnen Sie Spring MVC in der Datei /WebContent/WEB-INF/web.xml
zu.
NOTE:
Wenn Sie die Datei web.xml in Ihrem „ dynamic web project
“ nicht sehen, befolgen Sie diese Schritte.
web.xml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
<? xml version = "1.0" encoding = "UTF-8" ?> < web - app xmlns : xsi = "http://www.w3.org/2001/XMLSchema-instance" xmlns = "http://xmlns.jcp.org/xml/ns/javaee" xsi : schemaLocation = "http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd" id = "WebApp_ID" version = "4.0" > < display - name > CrunchifySpringMVCTutorial < / display - name > < welcome - file - list > < welcome - file > index . html < / welcome - file > < welcome - file > index . htm < / welcome - file > < welcome - file > index . jsp < / welcome - file > < welcome - file > default . html < / welcome - file > < welcome - file > default . htm < / welcome - file > < welcome - file > default . jsp < / welcome - file > < / welcome - file - list > < servlet > < servlet - name > crunchify < / servlet - name > < servlet - class > org . springframework . web . servlet . DispatcherServlet < / servlet - class > < load - on - startup > 1 < / load - on - startup > < / servlet > < servlet - mapping > < servlet - name > crunchify < / servlet - name > < url - pattern > / welcome . jsp < / url - pattern > < url - pattern > / index . jsp < / url - pattern > < url - pattern > / welcome . html < / url - pattern > < url - pattern > * . html < / url - pattern > < / servlet - mapping > < / web - app > |
Der obige Code in web.xml
ordnet DispatcherServlet dem URL-Muster /welcome.jsp
. Beachten Sie auch, dass wir index.jsp
als Willkommensdatei definiert haben.
Eine Sache, die hier zu beachten ist, ist der Name des Servlets im Tag <servlet-name>
in web.xml
. Sobald das DispatcherServlet initialisiert ist, sucht es nach einem Dateinamen [servlet-name]-servlet.xml
im Ordner WEB-INF der Webanwendung. In diesem Beispiel sucht das Framework nach einer Datei namens crunchify-servlet.xml
.
Schritt-7
Controller-Klasse erstellen.
- Klicken Sie mit der rechten Maustaste auf
Java Resources
->src
- Klicken Sie auf
New
->Class
- Paket:
com.crunchify.controller
- Dateiname:
CrunchifyHelloWorld.java

CrunchifyHelloWorld.java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
package com . crunchify . controller ; import org . springframework . stereotype . Controller ; import org . springframework . web . bind . annotation . RequestMapping ; import org . springframework . web . servlet . ModelAndView ; /* * author: Crunchify.com * */ @Controller public class CrunchifyHelloWorld { @RequestMapping ( "/welcome" ) public ModelAndView helloWorld ( ) { String message = "<br><div>" + "<h3>********** Hello World, Spring MVC Tutorial</h3>This message is coming from CrunchifyHelloWorld.java **********</div><br><br>" ; return new ModelAndView ( "welcome" , "message" , message ) ; } } |
Beachten Sie, dass wir die Klasse CrunchifyHelloWorld
mit @Controller
und @RequestMapping("/welcome")
kommentiert haben. Wenn Spring unser Paket scannt, erkennt es diese Bean als Controller-Bean für die Verarbeitung von Anfragen. Die Annotation @RequestMapping
teilt Spring mit, dass dieser Controller alle Anfragen verarbeiten soll, die mit /welcome im URL-Pfad beginnen. Dazu gehören /welcome/*
und /welcome.html
.

Die helloWorld()-Methode gibt das ModelAndView
-Objekt zurück. Das ModelAndView-Objekt versucht, sich in eine Ansicht mit dem Namen „Welcome“ aufzulösen, und das Datenmodell wird an den Browser zurückgegeben, damit wir auf die Daten innerhalb der JSP zugreifen können. Der logische Ansichtsname wird in /WEB-INF/jsp/welcome.jsp
. Der logische Name „Welcome“, der im ModelAndView-Objekt zurückgegeben wird, wird dem Pfad /WEB-INF/jsp/welcome.jsp zugeordnet.
Das ModelAndView-Objekt enthält auch eine Nachricht mit dem Schlüssel „Nachricht“ und dem detaillierten Wert. Dies sind die Daten, die wir an unsere Ansicht weitergeben. Normalerweise ist dies ein Wertobjekt in Form einer Java-Bean, das die Daten enthält, die in unserer Ansicht angezeigt werden sollen. Hier übergeben wir einfach einen String.
Schritt-8
Die Ansicht – Neue Datei /WebContent/index.jsp
.
index.jsp
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
< html > < head > < title > Spring MVC Tutorial Series by Crunchify . com < / title > <style type ="text/css"> body { background-image : url ( 'https://cdn.crunchify.com/bg.png' ) ; } </style> < / head > < body > < br > < div style = "text-align: center" > < h2 > Hey You . . ! ! This is your 1st Spring MCV Tutorial . . < br > < br > < / h2 > < h3 > < a href = "welcome.html" > Click here to See Welcome Message . . . < / a > ( to check Spring MVC Controller . . . @ RequestMapping ( "/welcome" ) ) < / h3 > < / div > < / body > < / html > |
Erstellen Sie eine weitere Datei /WebContent/WEB-INF/jsp/welcome.jsp
.
NOTE:
Vergessen Sie nicht, den jsp
-Ordner zu erstellen und welcome.jsp
willkommen.jsp
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
< html > < head > < title > Spring MVC Tutorial by Crunchify - Hello World Spring MVC Example < / title > <style type ="text/css"> body { background-image : url ( 'https://cdn.crunchify.com/bg.png' ) ; } </style> < / head > < body > $ { message } < br > < br > < div style = "font-family: verdana; padding: 10px; border-radius: 10px; font-size: 12px; text-align: center;" > Spring MCV Tutorial by < a href = "https://crunchify.com" > Crunchify < / a > . Click < a href = "https://crunchify.com/category/java-tutorials/" target = "_blank" > here < / a > for all Java and < a href = 'https://crunchify.com/category/spring-mvc/' target = '_blank' > here < / a > for all Spring MVC , Web Development examples . < br > < / div > < / body > < / html > |
So sollte schließlich Ihr Arbeitsplatz aussehen.

Schritt-9
Rechtsklick auf Project -> Run As -> Maven Build...

Add Goals
: clean install
. Klicken Sie auf Apply
und Run
.

Sie sollten eine Build success message
sehen:

Wo sind alle meine .jar-Dateien?
Sie sehen alle .jar-Dateien im /target
Ordner. Bildschirmfoto.
Schritt-10
- Wenn Tomcat Server
don't see
auf der RegisterkarteServers
angezeigt wird, befolgen Sie die Schritte, um Apache Tomcat zu Eclipse hinzuzufügen. - Stellen Sie das Projekt auf
Apache Tomcat
- Rechtsklick
- Hinzufügen und Entfernen
- Projekt zum Server hinzufügen (rechte Seite).
- Klicken Sie auf Starten.

Stellen Sie sicher, dass Sie die folgenden Protokolle sehen. Das bedeutet, dass Ihre Anwendung erfolgreich auf dem Tomcat-Webserver bereitgestellt wurde.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
Aug 04 , 2018 9 : 08 : 10 PM org . apache . tomcat . util . digester . SetPropertiesRule begin WARNING : [ SetPropertiesRule ] { Server / Service / Engine / Host / Context } Setting property 'source' to 'org.eclipse.jst.jee.server:CrunchifySpringMVCTutorial' did not find a matching property . INFO : Server version : Apache Tomcat / 9.0.10 INFO : Server built : Jun 20 2018 17 : 32 : 21 UTC INFO : Server number : 9.0.10.0 INFO : OS Name : Mac OS X INFO : OS Version : 10.13.6 INFO : Architecture : x86_64 INFO : Java Home : / Library / Java / JavaVirtualMachines / jdk - 10.0.2.jdk / Contents / Home INFO : JVM Version : 10.0.2 + 13 INFO : JVM Vendor : "Oracle Corporation" INFO : CATALINA_BASE : / Users / appshah / Documents / jee - photon / workspace / c / . metadata / . plugins / org . eclipse . wst . server . core / tmp0 INFO : CATALINA_HOME : / Users / appshah / Documents / jee - photon / apache - tomcat - 9.0.10 INFO : Command line argument : - Dcatalina . base =/ Users / appshah / Documents / jee - photon / workspace / c / . metadata / . plugins / org . eclipse . wst . server . core / tmp0 INFO : Command line argument : - Dcatalina . home =/ Users / appshah / Documents / jee - photon / apache - tomcat - 9.0.10 INFO : Command line argument : - Dwtp . deploy =/ Users / appshah / Documents / jee - photon / workspace / c / . metadata / . plugins / org . eclipse . wst . server . core / tmp0 / wtpwebapps INFO : Command line argument : - Dfile . encoding = UTF - 8 INFO : The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java . library . path : [ / Users / appshah / Library / Java / Extensions : / Library / Java / Extensions : / Network / Library / Java / Extensions : / System / Library / Java / Extensions : / usr / lib / java : . ] INFO : Initializing ProtocolHandler [ "http-nio-8080" ] INFO : Using a shared selector for servlet write / read INFO : Initializing ProtocolHandler [ "ajp-nio-8009" ] INFO : Using a shared selector for servlet write / read INFO : Initialization processed in 841 ms INFO : Starting service [ Catalina ] INFO : Starting Servlet Engine : Apache Tomcat / 9.0.10 INFO : At least one JAR was scanned for TLDs yet contained no TLDs . Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them . Skipping unneeded JARs during scanning can improve startup time and JSP compilation time . INFO : At least one JAR was scanned for TLDs yet contained no TLDs . Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them . Skipping unneeded JARs during scanning can improve startup time and JSP compilation time . INFO : No Spring WebApplicationInitializer types detected on classpath INFO : Initializing Spring FrameworkServlet 'crunchify' INFO : FrameworkServlet 'crunchify' : initialization started INFO : Refreshing WebApplicationContext for namespace 'crunchify-servlet' : startup date [ Sat Aug 04 21 : 08 : 13 CDT 2018 ] ; root of context hierarchy INFO : Loading XML bean definitions from ServletContext resource [ / WEB - INF / crunchify - servlet . xml ] INFO : Mapped "{[/welcome]}" onto public org . springframework . web . servlet . ModelAndView com . crunchify . controller . CrunchifyHelloWorld . helloWorld ( ) INFO : Looking for @ ControllerAdvice : WebApplicationContext for namespace 'crunchify-servlet' : startup date [ Sat Aug 04 21 : 08 : 13 CDT 2018 ] ; root of context hierarchy INFO : Looking for @ ControllerAdvice : WebApplicationContext for namespace 'crunchify-servlet' : startup date [ Sat Aug 04 21 : 08 : 13 CDT 2018 ] ; root of context hierarchy INFO : Mapped URL path [ /** ] onto handler 'org.springframework.web.servlet.resource.DefaultServletHttpRequestHandler#0' INFO : FrameworkServlet 'crunchify' : initialization completed in 1607 ms INFO : Starting ProtocolHandler [ "http-nio-8080" ] INFO : Starting ProtocolHandler [ "ajp-nio-8009" ] INFO : Server startup in 3579 ms |
Schritt-11. Getan.
Besuchen Sie: http://localhost:8080/CrunchifySpringMVCTutorial/ und Sie sollten bereit sein.
Hurra .. Jetzt kennen Sie Hello World Spring MVC 5 Example
. Lassen Sie mich wissen, wenn Sie beim Ausführen auf eine Ausnahme stoßen. Es gibt viele weitere Beispiele, die Sie hier finden können.
Do you want to include JS, CSS and images into JSP file?
Befolgen Sie dieses Tutorial: Beste Methode zum Hinzufügen/Integrieren von JS, CSS und Bildern in JSP-Dateien mithilfe von „mvc:resources mapping“.
Probleme haben? Irgendein Problem?
Triaging Schritt-1 – HTTP-Status 404-Fehler?
Befolgen Sie auch das folgende Tutorial:
Triaging-Schritt 2 – URL funktioniert nicht? Tomcat-Fehler?
Stellen Sie sicher, dass Sie Apache Tomcat Server zu Targeted Runtime
hinzufügen. Welche Sie möglicherweise in Step-1
ausgewählt haben. Tomcat 7 oder 8 Any – Server sollte funktionieren.

Triaging Step-3 – Maven-Fehler?
Stellen Sie sicher, dass Sie alle Maven-Abhängigkeiten aktualisieren.

Fühlen Sie sich frei, unten eine E-Mail zu senden oder zu kommentieren, wenn Sie Probleme haben, das obige Tutorial auszuführen.