Ich entwickle eine JSP / Servlet Web App (keine Frameworks). Ich möchte das MVC -Muster verwenden. Ich werde mein Projekt so gestalten:
Das Problem: Index.jsp
ist der Ausgangspunkt (Standardseite) meiner Website. Also wird Index.jsp
zum Controller, um die Anfrage zu analysieren. Zum Beispiel die folgende Anfrage:
wird in index.jsp wie folgt analysiert:
%Vor% Hier kann ich das Servlet nicht dazu zwingen, ein Controller zu sein, weil index.jsp
hier der Controller ist, da es der Startpunkt ist.
Gibt es eine Lösung, um die Anfrage von index.jsp
an das Servlet weiterzuleiten und dann zu index.jsp
zurückzukehren? Oder irgendeine Lösung, die das MVC Ziel erreicht - das Servlet sollte der Controller sein?
Ich denke daran, ein FrontPageController-Servlet als Standardseite anstelle von index.jsp zu erstellen, aber ich weiß nicht, ob es eine perfekte Idee ist.
> Befreien Sie sich von index.jsp
und lassen Sie das Controller-Servlet nur auf eine bestimmte url-pattern
von Interesse warten. Der Controller selbst sollte die Anfrage mit RequestDispatcher
an die gewünschte JSP-Seite weiterleiten.
Alternativ können Sie index.jsp
an eine URL weiterleiten oder umleiten, die vom Controller-Servlet abgedeckt wird, die ihrerseits die "Standard" -Seite anzeigt (die frontpage.jsp
zu sein scheint).
Bei einem korrekten MVC-Ansatz sollten Sie keine Scriptlets in JSP-Dateien haben. Wann immer Sie rohen Java-Code in eine JSP-Datei schreiben müssen, die nicht sinnvoll durch taglibs ersetzt werden kann ( JSTL und so weiter) oder EL, dann gehört der bestimmte Java-Code irgendwie in eine echte Java-Klasse, wie ein Servlet, Filter, Javabean, und so weiter.
In Bezug auf den selbst entwickelten MVC-Ansatz finden Sie diese Antwort und < a href="http://www.javaranch.com/journal/200603/frontman.html"> Dieser Artikel ist ebenfalls hilfreich.
Tags und Links model-view-controller jsp servlets