Wie passen JavaBeans oder Expression Language ins MVC Konzept?

Status
Nicht offen für weitere Antworten.

fsteinke

Mitglied
Hallo,

habe mal eine grundlegende Frage zum MVC Pattern mittels JSP.

Man soll ja laut Lehrbuch immer schön im MVC Pattern entwickeln oder? Also JSP ist die View die letztendlich ein Servlet ansteuert oder besser das Servlet in das ja eine JSP Seite übersetzt wird.

Wie passt jetzt eine Javabean in das Konzept? Also ich kann ja auf JSP Ebene einer JavaBean z.B. eine ID eines Datensatzes meiner MySQL DatenbankTabelle übergeben und die Bean verbindet sich mit der DB und löscht halt den Datensatz. Ist ja kein Problem und funktioniert ja auch.

Bloß wie passt das ganze ins so von den Lehrbüchern hochgehaltene MVC Konzept?


Meine JSP ist die View die letztendlich die Anzeige/Eingabe übernimmt und setter und getter der Bean setzt oder eben anzeigt. Meine JavaBean (nicht EJB) ist ja eigentlich das Model da es ja die Geschäftslogik enthält oder? Der Controller sollte doch eigentlich das Servlet sein. Bloß ich habe keins zumindest keins was ich selbst geschrieben habe.

Ist der Controller in diesem Fall das Servlet das von der JSP generiert wurde? Wer kann mir das beantworten?

Wäre wirklich dankbar für eine Antwort die mir das erklärt da mich MVC mehr verwirrt als das es mir hilft. Ein klarer Beleg dafür das ich da was nicht verstehe oder?

Danke für jede Info


Gruß Frederick
 

HLX

Top Contributor
Eine Anwendung nach dem MVC-Prinzip (bzw. Model 2-Prinzip) sollte aus folgenden Elementen bestehen:

JSP-Seiten: Ausschließlich zuständig für die Darstellung (View)

Servlets: Zuständig für die Steuerung der Anwendung. Ein Servlet wird aufgrund einer Benutzerinteraktion von der JSP-Seite aus angesteuert. Es übernimmt von nun an die Steuerung, d.h. Kommunikation mit der Business-Logik und abschließend Verweis sie auf eine dem Ergebnis entsprechenden JSP-Seite (z.B. Folgeseite oder Fehlerseite). Servlets enthalten keine Darstellungs-Elemente.

Business-Logik: Kennt weder Servlets noch JSP-Seiten und ist somit unabhängig von der eingesetzten Java-Technologie (könnte z.B. auch in Swing wiederverwendet werden).

JavaBeans enthalten die Daten der grafischen Benutzeroberfläche und gehören somit zum Model. Die JSP-Seiten mappen die einzelnen GUI-Elemente auf Attribute der JavaBeans. Nach Benutzerinteraktion greifen Servlets die ggf. geänderten Daten der JavaBeans auf und übergeben Sie der Business Logik.
 

fsteinke

Mitglied
Hallo,

Danke für die schnelle Antwort.


>Ein Servlet wird aufgrund einer Benutzerinteraktion von der JSP-Seite aus angesteuert.
>Es übernimmt von nun an die Steuerung, d.h. Kommunikation mit der Business-Logik und >abschließend Verweis sie auf >eine dem >Ergebnis entsprechenden JSP-Seite (z.B. Folgeseite oder Fehlerseite).


Ist damit auch das Servlet gemeint das automatisch vom Container (für die JSP Seite) erstellte gemeint ?

Also müsste ja eigentlich kein eigenes Servlet schreiben oder? Wenn ich im JSP einer JavaBean einen Parameter übergebe und auch abfrage wird das ja im Servlet sozusagen beahndelt und an die Bean weitergeleitet oder? Ist das so zu sehen?

Besten Dank

Gruß Frederick
 
Zuletzt bearbeitet:

HLX

Top Contributor
Nein, damit ist nicht das automatisch erstellte Servlet gemeint. Wenn du nach MVC entwickeln möchtest, solltest du für die Steuerung eigene Servlets erstellen und somit die JSP-Seiten konsequent von Steuerungslogik frei halten.

Damit werden die ohnehin meist völlig überladenen JSP-Seiten übersichtlicher. Zusätzlicher Effekt: du hast es später leichter bei der Fehlersuche, da Servlets als reine Java-Klassen deutlich einfacher zu debuggen sind.

Ein Beispiel für dieses Vorgehen findest du mit Apache Struts.
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen


Oben