Einführung in Spring MVC
Spring MVC ist ein leichtes Web -Framework, das auf dem MVC -Architekturmodell basiert. Ziel ist es, die Webentwicklung zu modularisieren und die Gesamtarchitektur zu entkoppeln.
Spring MVC hat die folgenden Vorteile:
Im Rahmen des Frühlingsrahmens hat es die Vorteile des Frühlings (IOC, AOP usw.)
Unterstützt eine flexible URL-to-Page-Controller-Mapping
Stellen Sie eine flexible Datenüberprüfung, Formatierung und Datenbindungsmechanismen an
Unterstützen Sie einen erholsamen Stil
Frühlings -MVC -Anfrageprozess
Der Gesamtanforderungsprozess des Spring MVC -Frameworks lautet wie folgt:
Die obige Abbildung umfasst mehrere funktionelle Komponenten von Feder MVC:
Front-End-Controller (DispatcherServlet): Benutzeranforderung empfangen und das Anforderungsergebnis zurückgeben. Seine Funktion entspricht einem Spediteur oder zentralen Prozessor, der den gesamten Ausführungsprozess steuert, verschiedene Komponenten plant und die Kopplung zwischen Komponenten reduziert.
Prozessorzuordnung: Suchen Sie den entsprechenden Prozessorhandler basierend auf der vom Benutzer angeforderten URL über Annotation oder XML -Konfiguration.
Prozessoradapter: Vervollständigen Sie den Aufruf zur Methode im Prozessor basierend auf dem vom Mapper gefundenen Handler
Handler: Die spezifische Logik der Anforderungsverarbeitung, Rückgabe von Daten und Ansichtsinformationen
Resolver anzeigen: analysiert die spezifische Ansicht und analysiert den Namen der logischen Ansicht in eine reale Ansicht durch die Ansichtsinformationen im ModelAndView -Objekt.
Detaillierte Erläuterung der spezifischen Schritte des Anfrageprozesses:
1: Der Benutzer initiiert eine Anfrage, und die Anfrage wird vom Front-End-Controller (DispatcherServlet) abgefangen.
2: Front-End-Controller (DispatcherServlet) Request Processor Mapper (HandleMapping), um Handler zu finden
3: Der Prozessor-Mapper (Handlermaping) findet den entsprechenden Handler gemäß der Konfiguration (kann annotierter oder XML-Konfiguration mehr angegeben werden), die möglicherweise mehrere Interceptor-Interceptors enthalten und an den Front-End-Controller zurückgeben.
4: Der Front-End-Controller (DispatcherServlet) fordert den Prozessoradapter (Handleradapter) an, den entsprechenden Handler auszuführen
5: Der Adapter wird dem entsprechenden Handlerprozessor übergeben, um auszuführen
6: Nachdem der Handlerprozessor ausgeführt wurde
7: Der Prozessoradapter akzeptiert das Rückgabeergebnis des Handlerprozessors und gibt das Ergebnis an den Front-End-Controller (DispatcherServlet) zurück.
8: Der Front-End-Controller (DispatcherServlet) empfängt die vom Prozessoradapter zurückgegebenen Daten und Ansichtsinformationen, fordert den Ansichtsparser an und analysiert die entsprechende Ansicht
9: Der Ansichtsparser kehrt basierend auf dem entsprechenden Ansichtsergebnis zum Front-End-Controller zurück, das den Ansichtsinformationen entspricht.
10: Der Front-End-Controller empfängt die spezifische Ansicht, macht die Ansicht, füllt die Modelldaten in die Ansichtsansicht und generiert die endgültige Ansicht
11: Der Front-End-Controller gibt das Ergebnis dem Benutzer zurück
Bauen Sie Demos von Grund auf neu auf
Ein Projekt erstellen:
Erstellen Sie ein neues dynamisches Webprojekt unter Eclipse
Projekt Standardverzeichnisstruktur:
Fügen Sie JAR -Paketabhängigkeiten hinzu
Importieren Sie das entsprechende JAR-Paket unter WebContent> Web-Inf> lib-Ordner, in dem das Kern-JAR-Paket Spring-Webmvc-5.0.0.Release.jar ist, und die anderen sind hauptsächlich Frühling für die Verwaltung von Kontext- und Beande-Paketen, JSTL-Tag-Bibliothek und einem Log-Paket für Print-Logs:
Konfigurieren des Front-End-Controllers in web.xml
Der Front-End-Controller entspricht dem proprietären Servlet von Spring MVC, mit dem alle qualifizierten Anfragen abgefangen und sie für die nachfolgende Verarbeitung an das Rahmen übergeben werden.
<? XSI: Schemalocation = "http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee http id = "webapp_id" Version = "3.1"> <!-Konfigurieren Sie Front-End-Controller-DispatchServlet-> <servlet> <Servlet-Name> SpringMvcNext </servlet-name> <Servlet-Class> org.springFramework.Web.Servlet.Dispatcherservlet </ServletClass </ServletClass> <! Wenn contextConfigLocation nicht konfiguriert ist, ist die Konfigurationsdatei von SpringMVC standardmäßig auf: Web-inf/Servlet-Name+"-Servlet.xml"-> <init-param> <param-name> contextConfigLocation </param-name> </init-param> </initlactcings> </initalue> </param-valuse> </init-value> </</init-value> </param-valuse> <servlet-name> SpringMvcNext </Servlet-name> <URL-Muster>/</url-pattern> <!-Intercept-Anfragen, die von Benutzern gemäß den von URL-Muster festgelegten Regeln gesendet wurden. Alle Anfragen werden hier abgefangen, einschließlich statischer Ressourcen-> </Servlet-Mapping> </web-App>
Die im <Servlet-Mapping> -Tag definierte URL-Matching-Regel ist in einer Form, die an *.Action entspricht. Das entsprechende Servlet heißt SpringMVCNext, und der von <servlet konfigurierte Controller ist org.springframework.web.Servlet.DispatchServlet. Das <init-param> -Tag ist der Parameter, von dem der Stromregler abhängt. Die beiden Parameter repräsentieren die Kontextparameter bzw. den Parameterlastpfad.
Über ClassPath: Repräsentiert den Ausgangsweg nach Kompilierung des Webprojekts
Konfigurieren Sie die Feder -MVC -Konfiguration
Fügen Sie applicationContext.xml -Datei im Java -Quellcode -Verzeichnis hinzu
Spezifischer Inhalt:
<? xmlns: p = "http://www.springframework.org/schema/p" xmlns: context = "http://www.springframework.org/schema/mvc" xsi: schemalocation = "http://www.spingframework.org/schema http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/security http://www.springframework.org/schema/Security/Security/Security/Security/Security/Security/Security/Security/Security/Security/Scurity/Scurity/Security.Security.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd http://www.spingframework.org/sschema/contextex http://www.springframework.org/schema/context/spring-context.xsd "> <! -> <context: component-scan base-package = "com.sl.controller" /> <!-Annotationstreiber-> <mvc: Annotationssteuer /> <!-Ansicht Resolver-> <bean id = "internerResourceViewResolver"> <Eigentumsname "SAFFIX". </bean> </beans>
Controller hinzufügen und Ansicht anzeigen
Fügen Sie das Paket com.sl.controller in das SRC -Verzeichnis hinzu und fügen Sie den Controller -Code wie folgt hinzu:
Paket com.sl.controller; import org.springframework.stereotype.controller; import org.springframework.web.bind.annotation // Alle Anforderungen im URL -Pfad abwickeln, beginnend mit /index: einschließlich /index /* und /Idex.html public modelAndView helloWorld () {String message = "Hallo Spring MVC"; Neue ModelAndView zurückgeben ("Index", "Nachricht", Nachricht); }}Fügen Sie den Ansicht Datei index.jsp in web-inf/Ansicht hinzu
<html> <kopf> <titels> Spring MVC </title> </head> <body> $ {message} </body> </html>Auslaufergebnisse:
Zusammenfassen
Das obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, dass der Inhalt dieses Artikels einen gewissen Referenzwert für das Studium oder die Arbeit eines jeden hat. Wenn Sie Fragen haben, können Sie eine Nachricht zur Kommunikation überlassen. Vielen Dank für Ihre Unterstützung bei Wulin.com.