struts2,Model-View-Controller Pattern für Webanwendungen

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.