Patternvariation MVC im Web
Versucht man nun das oben vorgestellte MVC-Modell innerhalb eines
J2EE-Webprojektes anzuwenden, ergeben sich Probleme aufgrund des im
Internet verwendeten Protokolls HTTP. Dieses ist statuslos und bietet
daher keine Möglichkeit einer Aktualisierung der anzuzeigenden Informationen
durch das Model an die im Browser angezeigte View. Aus diesem Grund wird das
MVC-Model für Internetanwendungen leicht abgewandelt und es erfolgt eine ausschließliche
Kommunikation über den Controller. Dieser wird in der Regel als Servlet
bereitgestellt und kontrolliert den Zugriff spezieller URL-Adressen innerhalb einer
J2EE-Anwendung. Abbildung 6 verdeutlicht die ausschließliche Kommunikation zwischen
Model und View über den Controller bei Web-Anwendungen:
Abbildung 6: MVC-Modell im Web
Quelle: Eigene Darstellung
View-Schicht im Model-View-Controller Pattern
Die View wird in diesem Fall in Form von HTML oder JSP bereitgestellt.
Wie beim klassischem MVC-Modell ist auch sie per Definition ohne Logik.
Sämtliche Aktionen, durch die eine Änderung von Daten innerhalb der View hervorgerufen wird,
werden durch eine eindeutige URL definiert und bei Aufruf vom Controller verarbeitet.
Wie das Mapping zwischen URL und Aktion durchgeführt werden kann, wird im
folgenden Kapitel anhand des Struts2-Frameworks beschrieben.
Struts2 Model-View-Controller implementierung
Wie in Kapitel 2.2.2 ist das in dieser Arbeit vorgestellte Struts2-Framework nur eine
mögliche Alternative neben einer Vielzahl von weiteren MVC-Web-Frameworks.
Derivate von Struts2 sind z. B. das Java-Server-Faces-, das Tapestry-, das
Struts1- und das Webwork-Framework, die ebenfalls durch Open-Source-Communities
vorangetrieben werden.