1Wie kann die Qualität sichergestellt werden?
1) Single Responsibility Principle
Jede Klasse nur für etwas zuständig, Klassen klein halten
2) Open/Closed-Principle
Strategy Pattern, offen für Erweiterung, geschlossen für Änderungen
2Spring
Framework
- Komponenten
- Dependency Injection
3Spring Web MVC
baut auf Spring auf, beinhaltet Front&Pagecontroller
4Springboot
embedded Tomcat -> kein eigenhändiges deployen mehr, start der App via Main-Methode
5@RequestParam
liest Parameter aus der Request URL
6Was sind die drei Grundzuständigkeiten des Page Controllers?
1) decodiert URL und holt Daten dem Servlet Kontext
2) model instanzieren
2) view auswählen und instanzieren, model setzen
7FrontController UML Diagramm
FC hat doGet/doPost Methoden und sucht in einer Map aus Commands (PageControllern) nach der richtigen HandlerMethode für die gefragte URL.

8Welche zwei Annotationen braucht jeder Controller?
@Controller
@RequestMapping(" / baseurl")
9RequestMapping für eine URL mit id parameter
@RequestMapping(value="/{id}")
10Annotation für FrontController
@SpringBootApplication in der Main Methode -> DispatcherServlet wird automatisch initialisiert, per Default auf Root gemappt
11Was geschieht durch RequestMapping Annotationen?
Es wird eine Map von Commands erstellt
12MVC Pattern
Model hält Daten, View zeigt Daten, Controller nimmt Userinput an und datet Model up
13Aufrufe auf der Root URL abfangen
IndexController mit einer HandlerMethode auf /, die weiterleitet auf die richtige URL (zb /questionnaires)
14Algorithmus mit dem Urls auf konkrete Commands im Frontcontroller abbildet
1) alle RequestMappings suchen und in einer Map speichern
2) Pagecontroller, der richtiges Requestmapping auf die gesuchte Url hat, in der Map finden
3) Methode im Page Controller finden, die korrekte Http-Methode und passende Parameter hat
4) Anfrage an korrekte Methode dispatchen
15Wie spielen Frontcontroller und Pagecontroller zusammen?
Frontcontroller ist Einstiegspunkt für alle Requests. Er leitet an richtigen Pagecontroller weiter und interagiert mit der View.
16Was gibt der PageController zurück?
Model und logischer View Name
17Wofür ist der Frontcontroller zuständig?
Richtigen Pagecontroller auswählen anhand der Map und Request weiterleiten, mit dem Model und dem logischen View Namen die Vie zusammensetzen
18Umsetzung Web MVC in Spring