2016-07-20 19 views
0

Ich arbeite an einer Java EE-Anwendung und versuche, sie nach dem MVC-Muster zu implementieren. Ich verwende keine Frameworks (z. B. Spring), um die MVC-Struktur zu implementieren. Ich schreibe einfach meine eigenen Modelle, Ansichten und Controller.MVC-Muster, ein oder mehrere Controller/Servlets?

Ich begann mit der Implementierung meiner Anwendung mit verschiedenen Servlets für jede Funktionalität (z. B. LoginServlet, RegisterServlet), aber ich bemerkte, dass viele Leute sagen, dass ein Controller (Servlet) genug ist, um alle Funktionen der Anwendung zu behandeln. Ich verstehe jedoch nicht, wie das passieren könnte, ohne einen unordentlichen Code zu bekommen. Ich denke, es ist ein Servlet/Controller mit mehreren if/else-Anweisungen, um zu überprüfen, woher die Anfrage kommt. Das Ergebnis wäre eine riesige doPost- oder doGet-Methode mit vielen if/else-Anweisungen, die nach einer schlechten Idee klingt.

Zusammenfassend, ist es eine gute oder schlechte Idee, ein anderes Servlet für jede Funktionalität der Anwendung zu haben, und wenn es schlecht ist, wie kann ich dasselbe mit einem Servlet erreichen und ohne riesige Methoden zu erstellen?

+0

zu behandeln Warum Sie das Rad neu erfinden wollen? Gibt es einen guten Grund, kein Framework zu verwenden? –

+2

@ Sundararaj Weil vielleicht will er lernen, wie man die Dinge richtig macht? Wenn er immer auf einen Rahmen angewiesen ist, um Hist-Sachen zu machen, wird er nie wirklich richtig lernen. –

+0

@Alexander, das kann ein guter Grund sein –

Antwort

-1

Gute und schlechte subjektiv sind.

Normalerweise gibt es ein DispatcherServlet (auch Front Controller Servlet genannt), das HTTP-Anfragen akzeptiert und den Code an einen geeigneten Handler weiterleitet, der die URL erhält.

Ich denke, REST und Micro-Services gehen noch einen Schritt weiter und offenbaren Funktionalität als mehrere HTTP-Endpunkte.

Dies ist ein weiterer Fall von Java EE, oder Ihre Interpretation davon, hinter der Zeit zu sein.

Ich würde dies mit Spring mit mehreren REST-Endpunkten tun.

+0

Er nutzt kein Framework und mit einem aufgeblasen Servlet wird ihm jede Hilfe –

+0

Ich verstehe das. Ich habe auf Beispiele hingewiesen, wie es vorher von anderen gemacht wurde. Sie können REST und Microservices ohne Framework ausführen. Wenn Sie dies abgelehnt haben, würde ich gerne sehen, dass Sie es rückgängig machen oder etwas außer einem Kommentar posten, so dass wir sehen können, welchen Grad an Fachwissen Sie auf die Party bringen wollen. "Aufgeblähtes Servlet"? Bitte erkläre. – duffymo

+0

@duffymo ist korrekt für die Micro-Services-Teil, obwohl ich nicht sicher bin, ob er ernst oder scherzhaft war, wenn er den Rest von Hand erwähnt :) Aber ja, kann REST Hand codiert werden, sowie solange Sie die grundlegenden RESTful Prinzipien folgen. –

-1

Nein, Sie sollten Ihre servets logisch aufteilen. Eigentlich sollten Sie Ihre Verpackung in große logische Unterteilungen aufteilen. Für die Servlets zum Beispiel AuthenticationServet alle Authentifizierungsablauf, RegistrationServlet, EShopServlet etc

Pakete

com.myapp.servlets.* 
com.myapp.models.jpa* 
com.myapp.models.(something)* 
com.myapp.services.* 
+0

Die Frage bezieht sich auf keine Servlets, keine Pakete. –

+0

@SundararajGovindasamy Sie sollten meine Antwort noch einmal lesen, bevor Sie abstimmen. Meine Antwort ist ihm zu sagen, wie man die Servlets nennt und organisiert, und ich stimme auch mit den Paketen überein. –

+0

Ich habe Ihre Antwort kommentiert, aber nach unten gehen? es ist nicht ich. –