Die JavaEE-Architektur besteht von oben nach unten aus vier Schichten: Anwendungsschicht, Webschicht, Geschäftsschicht und Persistenzschicht. Struts und SpringMVC sind die Frameworks der Webschicht, Spring ist das Framework der Business-Schicht und Hibernate und MyBatis sind die Frameworks der Persistenzschicht.
Warum SpringMVC verwenden?
Das Problem bei vielen Anwendungen besteht darin, dass eine enge Kopplung zwischen den Objekten besteht, die Geschäftsdaten verarbeiten, und den Ansichten, die die Geschäftsdaten anzeigen. Typischerweise werden Befehle zum Aktualisieren von Geschäftsobjekten von der Ansicht selbst aus initiiert , wodurch die Ansicht geändert wird. Alle Geschäftsobjektänderungen sind äußerst empfindlich. Darüber hinaus besteht keine Flexibilität, wenn mehrere Ansichten von demselben Geschäftsobjekt abhängen.
SpringMVC ist ein leichtes Web-Framework auf Java-Basis, das das Web-MVC-Entwurfsmuster implementiert und anforderungsgesteuert ist. Es nutzt die Idee des MVC-Architekturmusters, um die Verantwortlichkeiten der Webschicht zu entkoppeln. Anfragegesteuert bedeutet die Verwendung des Anfrage-Antwort-Modells. Der Zweck des Frameworks besteht darin, uns bei der Vereinfachung der Entwicklung zu helfen. SpringMVC zielt auch darauf ab, unsere tägliche Webentwicklung zu vereinfachen.
MVC-Entwurfsmuster
Die Aufgabe des MVC-Entwurfsmusters besteht darin, das Modul, das Geschäftsdaten enthält, von der Ansicht zu entkoppeln, die die anzeigt Modul. Wie ist das passiert? Durch die Einführung einer Umleitungsschicht zwischen Modell und Ansicht kann das Problem gelöst werden. Diese Umleitungsschicht ist der Controller, der die Anfrage empfängt, die Aktion zur Aktualisierung des Modells ausführt und dann die Ansicht über die Modelländerung benachrichtigt.
Spezifischer Prozess:
(1) Zuerst sendet der Benutzer eine Anfrage——>DispatcherServlet Nach Erhalt der Anfrage wird der Front-End-Controller nicht verarbeitet es, aber delegiert es an andere Parser, die die Verarbeitung als einheitlichen Zugriffspunkt für die globale Prozesssteuerung durchführen
(2) DispatcherServlet——>HandlerMapping, der Prozessor-Mapper ordnet die Anforderung einem HandlerExecutionChain-Objekt zu (das einen Handler enthält). Prozessorobjekt, mehrere HandlerInterceptor-Interceptor-Objekte;
(3) DispatcherServlet——>HandlerAdapter, der Prozessoradapter verpackt den Prozessor als Adapter, um mehrere Prozessortypen zu unterstützen, d. h. die Anwendung des Adapterentwurfsmusters erleichtert die Unterstützung vieler Prozessortypen;
(4) HandlerAdapter——> Rufen Sie die entsprechende Funktionsverarbeitungsmethode des Prozessors auf und geben Sie ein ModelAndView-Objekt zurück (enthält Modelldaten, logischen Ansichtsnamen);
(5) ModelAndView-Objekt (der Modellteil sind die vom Geschäftsobjekt zurückgegebenen Modelldaten, der Ansichtsteil ist der logische Ansichtsname) -> ViewResolver, der Ansichtsresolver analysiert den logischen Ansichtsnamen in eine bestimmte Ansicht(6) Ansicht -> Rendern, Ansicht wird gemäß den eingehenden Modelldaten gerendert. Das Modell ist hier tatsächlich eine Kartendatenstruktur.
(7) Gibt die Kontrolle an DispatcherServlet zurück gibt eine Antwort an den Benutzer zurück. Dies ist das Ende des Prozesses.
Das obige ist der detaillierte Inhalt vonWelches Framework ist springmvc?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!