Raw Servlet vs. Spring MVC [geschlossen]

8

Aus welchen Gründen sollten Sie Ihre Webanwendung mit Java-Servlets oder mit Spring MVC (oder anderen Frameworks) erstellen?

Gibt es Ausnahmen, wenn Sie Spring MVC vermeiden sollten, was sind die Vorteile, wenn Sie es mit Raw Servlets machen?

    
Mahoni 27.05.2012, 16:30
quelle

5 Antworten

15

Wenn du eine wirklich schnelle und dreckige Demo erstellst, die du nicht später erweitern willst, kann der Frühling zu vielen zusätzlichen Konfigurationsproblemen führen (nicht wirklich, wenn du es vorher getan hast, aber ich kämpfe immer am Ende damit es in die eine oder andere Richtung geht), also könnte es an der Zeit sein, nur einfache alte Servlets zu verwenden. Im Allgemeinen wird alles, was nicht nur eine super schnelle und dreckige Demo ist, mit einer Form von MVC-Framework das Leben in der Zukunft viel einfacher machen und entspricht auch den Best Practices. Frühling macht die Dinge super einfach, muss nur etwas Zeit auf dem Frontend verbringen, alles zu konfigurieren.

Ich sollte beachten, dass Sie mit Java-Servlets nichts anfangen können, was Sie mit Spring nicht machen können. Der große Unterschied ist die Setup-Zeit.

Bearbeiten: Es ist erwähnenswert, dass ich, als ich diese Antwort gepostet habe, den Spring Boot nicht bemerkt habe, der eigentlich mit einem eingebetteten Webserver oder einem konventionelleren Webcontainer sehr einfach ausgeführt werden kann . Hier ist ein Link zu einem Schnellstart-Beispiel: Ссылка

    
Chris Thompson 27.05.2012, 16:34
quelle
6

Ich habe Projekte sowohl mit rohen Servlet- als auch mit Web-App-Framework entwickelt. Framework gibt dir alles, nur du musst das env einrichten und konfigurieren, das Programmieren ist viel einfacher. Das Ergebnis ist, dass Sie nichts über Web Dev wissen werden. Code mit roher API und Servlet gibt Ihnen jedoch die Chance, Erfahrungen zu sammeln und ein Programmierer zu sein.

    
upton 13.03.2014 05:21
quelle
4

Ich benutze Spring nicht viel. Aber ich sehe nicht, wie würde es großen Einfluss auf die Leistung haben. MVC's können helfen, aber sie können Chaos und zusätzliche Arbeit und Frustration verursachen. Der alte gute Weg ist gut genug für die meisten Projekte, die von einem Programmierer implementiert werden. MVCs könnten helfen, wenn es mehr als einen Entwickler gibt.

Ich würde für die meisten Projekte ein einfaches Servlet / jsp verwenden. Wenn ich wiederverwendbare Komponenten brauche, benutze ich Wicket. Servlets werden mit JSPs / freemarker / velocity oder anderen Template-Engines zur Präsentation ausgeliefert.

Wenn Sie einem Benennungsmuster für Ihre Servlets / JSP folgen, denke ich nicht, dass Sie Spring MVC brauchen.

    
Mansour 27.05.2012 20:55
quelle
4

Servlet-Technologie wird für die generische serverseitige Erweiterung für das Request-Response-Paradigma verwendet. Und Spring verwendet es nur für die Webanwendung über HTTP.

Und einige Zitate von hier: Ссылка

  

Servlets basieren auf einer Low-Level-API zur Bearbeitung von Anfragen und   Antworten. Web-Frameworks wie Spring MVC wurden entwickelt, um zu machen   Erstellen von Webanwendungen, die HTTP-Anfragen und -Antworten verarbeiten,   einfacher. Die meisten Java-Web-Frameworks, einschließlich Spring MVC, verwenden Servlets   hinter den Kulissen.

     

Sie können Servlets verwenden, um eine Webanwendung zu schreiben, aber Sie müssen   handle alle Details manuell. Sie werden sehr wenig Hilfe bekommen mit   typische Web-Inhalte wie Validierung, REST, Anfrage / Antwort Körper für   JSON, Formularbindung, etc. Sie werden am Ende viel Dienstprogrammcode schreiben   um Ihre Webanwendung zu unterstützen.

     

Web-Frameworks dagegen sind darauf ausgelegt, all dies zu leisten   Sachen einfach. Mit Spring MVC werden Sie nicht manuell belästigt   Bearbeitung der Anfrage und Antwort, obwohl Sie immer noch Zugriff haben   zu ihnen, wenn Sie müssen. Möchten Sie JSON im Spring MVC zurückgeben? Fügen Sie einfach ein ein   @ResponseBody Annotation und Spring wird es anhängen. Möchten Sie RESTful URLs?   Einfach. Eingabevalidierung? Stück Kuchen. Möchten Sie Formulardaten an einen binden   Objekt? Einfach. Mit Servlets müsstest du all diese Sachen machen   manuell.

     

Die Verwendung von rohen Servlets kann jedoch eine gute Lernerfahrung sein. Es ist wirklich    hilft Ihnen zu verdeutlichen, wie Web-Frameworks Ihnen das Leben erleichtern!

    
smwikipedia 07.01.2015 03:31
quelle
1

Ich finde, dass es mit Spring Version 3+ viel einfacher wird, eine Spring Web-Anwendung mit allen Grundlagen zu starten. Der Vorteil von Spring MVC besteht darin, dass es nach dem Start des Anwendungskontextes und der Datenbankverbindung unglaublich einfach ist, neue Controller zu erstellen, und es folgt einer viel logischeren Architektur, die neuere Entwickler möglicherweise leichter finden, wenn sie mit dem System vertrauter werden .

Tatsächlich waren wir an meinem vorherigen Arbeitsplatz dabei, eine Java-Servlet-Webanwendung zu erstellen, aber wir mussten feststellen, dass wir unsere eigene Architektur oder den Kern der Anwendung erstellen mussten, und das ist tatsächlich mehr Arbeit. Spring kann sich darum kümmern, was bedeutet, dass Entwickler mit der eigentlichen Anwendungslogik weitermachen können, anstatt sich zu sehr um die Architektur zu sorgen.

    
blackpanther 10.04.2014 10:44
quelle