Frage

    

Diese Frage bereits eine Antwort hier:

         

Ich habe eine Anwendung, die den Kunden auf eine andere Website, die Zahlungen zu behandeln sendet. Die andere Seite, außerhalb des Kunden, ruft eine Seite auf unserem Server, uns wissen zu lassen, was der Status der Zahlung. Die gerufene Seite überprüft die Parameter, die von der Zahlungsanwendung gegeben werden und überprüft, um zu sehen, ob die Transaktion zu uns bekannt ist. Es aktualisiert dann die Datenbank den Status zu reflektieren. Dies alles geschieht ohne Interaktion mit dem Kunden.

Ich habe persönlich entschieden, diese Funktionalität zu implementieren als ein JSP, da es einfacher ist, nur eine Datei im Dateisystem fallen, als die Datei zu kompilieren und zu verpacken und dann einen Eintrag in eine Konfigurationsdatei hinzuzufügen.

, um die Funktionalität der Seite Unter Berücksichtigung würde ich davon ausgehen, dass ein Servlet die bevorzugte Option sein würde. Die Frage (n) sind:   

  • Ist meine Vermutung richtig?
  •   
  • Sie haben einen echten Grund, ein Servlet über eine JSP zu verwenden?
  •   
  • Was sind die Gründe dafür?
  • War es hilfreich?

    Lösung

    Eine JSP ist das erste Mal zu einem Servlet kompiliert es ausgeführt wird. Das bedeutet, dass es keine wirkliche Laufzeit Unterschied zwischen ihnen.

    Die meisten haben eine Tradition zu Servlets für Controller und JSPs für Ansichten zu verwenden. Da Controller nur Java-Klassen sind, können Sie die vollen Werkzeugträger (Code-Vervollständigung etc.) aus allen IDEs erhalten. Das gibt eine bessere Qualität und schnellere Entwicklungszeiten im Vergleich zu JSPs. Einige erweiterte IDE (IntelliJ IDEA in den Sinn) haben große Unterstützung von JSP, wodurch dieses Argument hinfällig.

    Wenn Sie Ihren eigenen Rahmen machen oder einfach nur mit einfachen JSPs machen, dann sollten Sie frei weiter fühlen JSPs zu verwenden. Es gibt keinen Unterschied in der Leistung und wenn Sie JSPs fühlen, ist einfacher zu schreiben, dann mit allen Mitteln fortzusetzen.

    Andere Tipps

    JSPs: Um Daten für den Benutzer darstellen. Kein Business-Logik sollte hier sein, und schon gar kein Zugriff auf die Datenbank.

    Servlets: Zur Eingabe von einem Formular oder bestimmten URL zu behandeln. Normalerweise werden die Menschen eine Bibliothek wie Struts / Frühjahr auf der Servlets verwenden, um die Programmierung zu klären. Unabhängig sollte das Servlet nur die Daten überprüfen, die in gekommen sind, und sie dann auf eine Back-End-Business-Schicht Implementierung übergeben (die Sie Testfälle gegen codieren können). Es sollte dann die resultierenden Werte über den Antrag stellen oder Sitzung und ruft eine JSP, um sie anzuzeigen.

    Modell: Ein Datenmodell, das Ihre strukturierten Daten enthält, die die Website behandelt. Das Servlet kann die Argumente nehmen, sie in das Modell setzen und dann die Business-Schicht nennen. Das Modell kann dann eine Schnittstelle mit Back-End-DAOs (oder Ruhezustand) auf die Datenbank zuzugreifen.

    Jedes nicht-triviales Projekt sollte eine MVC-Struktur implementieren. Es ist natürlich übertrieben für triviale Funktionalität. In Ihrem Fall würde ich ein Servlet implementieren, die eine DAO genannt den Status zu aktualisieren, usw., oder was auch immer erforderlich ist.

    JSPs sollte in der Präsentationsschicht, Servlets für Business-Logik und Back-End (in der Regel Datenbank-Layer) Code verwendet werden.

    Ich kenne keinen Grund, warum Sie nicht eine JSP verwenden können, wie Sie beschreiben (es trotzdem zu einem Servlet vom containter kompiliert wird), aber du hast recht, die bevorzugte Methode ist es ein Servlet zu machen in der erste Platz.

    JSPs ist eine Abkürzung ein Servlet zu schreiben. In der Tat werden sie übersetzt Java-Code vor der Kompilierung Servlet. (Sie können es unter einem Kater überprüfen Subdir wich ich mich nicht erinnern, den Namen).

    So wählen Sie zwischen Servlet eine JSP Ich benutze eine einfache Regel: Wenn die Seite mehr HTML-Code als Java-Code enthält, gehen Sie für JSP, sonst nur ein Servlet schreiben. Im Allgemeinen, die in etwa übersetzt. Für den Inhalt Präsentation und Servlets für die Kontrolle, Validierung, etc

    verwenden JSPs

    Auch Sein leichter zu Ihrem Code in einem Servlet zu organisieren und zu strukturieren, da es die Ebene Java-Klasse-Syntax verwendet. JSPs neigt dazu, mehr monolithisch zu sein, obwohl seine möglichen Methoden innerhalb dann erstellen.

    Es gibt 2 ziemlich einfache Regeln:

    1. Wenn Sie Java-Code (Business-Logik) schreiben wollen, tun Sie es in einer Java-Klasse (so, Servlets).
    2. Wenn Sie HTML / CSS / JS-Code (Ansicht / template-Logik) schreiben wollen, tun Sie es in einer JSP.

    Verwandte Frage:

    JSP ist Markup im Wesentlichen, dass automatisch auf ein Servlet durch den Servlet-Container erstellt wird, so dass die Kompilierung in beiden Fällen passieren wird. Aus diesem Grunde ist ein Servlet-Container, der JSP unterstützt, zur Verfügung die vollen JDK haben muss, im Gegensatz zu nur die JRE benötigen.

    So ist der Hauptgrund für die JSP ist die Menge an Code zu reduzieren erforderlich, um eine Seite zu machen. Wenn Sie nicht über eine Seite machen müssen, ein Servlet ist besser.

    Ich weiß, dass dies heute nicht die populäre Antwort, aber: Wenn ich eine App von Grund auf neu bin der Gestaltung, verwende ich immer JSPs. Wenn die Logik nicht-trivial ist, erstelle ich gewöhnliche Java-Klassen die Routinearbeit zu tun, die ich von der JSP nennen. Ich habe nie verstanden, das Argument, dass man Servlets, denn als reine Java-Klassen verwenden, sollte sie besser verwaltbar sind. Eine JSP kann leicht eine reine Java-Klasse aufrufen, und natürlich eine gewöhnliche Java-Klasse ist ebenso wartbar wie jedes Servlet. Es ist einfacher, eine Seite in einem JSP zu formatieren, weil Sie alle Markup-in-line setzen können, anstatt eine Reihe von println des schreiben. Aber der größte Vorteil von JSPs ist, dass man sie nur in einem Verzeichnis ablegen kann, und sie sind direkt zugänglich: Sie brauchen nicht zu verwirren mit Beziehungen zwischen der URL der Einrichtung und der Klassendatei. Sicherheit leicht jeder JSP beginnen, indem er mit einer Sicherheitskontrolle behandelt wird, die eine einzelne Aufruf Anweisung generiert werden kann, so gibt es keine Notwendigkeit, die Sicherheit in eine Depesche Schicht zu setzen.

    Der einzige Grund, warum ich sehen kann ein Servlet zu verwenden, wenn Sie eine komplexe Zuordnung zwischen URLs und der daraus resultierenden Ausführungsklasse benötigen. Wie, wenn Sie die URL untersuchen möchten und dann eine von vielen Klassen aufrufen je nach Sitzungszustand oder so. Persönlich wollte ich noch nie, dies zu tun, und apps, die ich gesehen habe, dass es tun neigen, weil zu schwer zu halten, bevor Sie sogar eine Änderung vornehmen können beginnen zu müssen, um herauszufinden, was wirklich Code ausgeführt wird.

    Die meisten Java-Anwendungen sind heutzutage auf dem MVC-Muster bauen ... In der Steuerungsseite (Servlet) Sie Business-Logik implementieren. Die Servlet-Controller weiterleiten in der Regel die Anforderung an einen jsp, dass die tatsächliche HTML-Antwort (die Ansicht in MVC) generiert. Ziel ist es, getrennte Bedenken ... Tausende Bücher wurden zu diesem Thema geschrieben.

    In einer MVC-Architektur werden Servlets als Controller und JSPs als Ansicht verwendet. Aber beide sind technisch gleich. JSP wird in Servlet, entweder in der Kompilierung übersetzt werden (wie in JDeveloper) oder, wenn zum ersten Mal (wie in Tomcat) abgerufen. So ist der wirkliche Unterschied ist in der Benutzerfreundlichkeit. Ich bin mir ziemlich sicher, dass Sie eine harte Zeit, die Darstellung von HTML-Seite mit Servlet haben werden; aber gegenüber dem gesunden Menschenverstand, werden Sie tatsächlich finden es ziemlich einfach, sogar eine ziemlich komplexe Logik aller in JSP zu codieren (mit der Hilfe von einigen vorbereiteten Hilfsklassen vielleicht). PHP Jungs tun das die ganze Zeit. Und so fallen sie in die Falle von Spaghetti-Codes zu schaffen. Also meine Lösung für Ihr Problem: Wenn Sie finden es einfacher, in JSP codieren, und es wäre nicht zu viele Codes beinhaltet, fühlen Sie sich frei in JSP zu codieren. Andernfalls Servlet verwenden.

    Vereinbarte mit allen Punkten über die Unterschiede zwischen JSPs und Servlets, aber hier sind ein paar zusätzliche Überlegungen. Sie schreiben:

      

    Ich habe eine Anwendung, die die Sends   Kunde an einem anderen Standort zu handhaben die   Zahlungen. Die andere Seite, außerhalb   Der Kunde ruft eine Seite auf unserer   Server lassen Sie uns wissen, was der Status   ist die Zahlung. Die gerufene Seite   überprüft die Parameter, die gegeben sind   von der Zahlungsanwendung und Schecks   um zu sehen, ob die Transaktion   uns bekannt. Es aktualisiert dann die   Datenbank den Status zu reflektieren. Diese   alle ohne jede Interaktion getan   mit dem Kunden.

    Ihre Anwendung verbraucht den Zahlungsdienst einer anderen Anwendung. Ihre Lösung ist zerbrechlich, weil, wenn der Zahlungsdienst in den anderen Anwendungsänderungen, die Ihre JSP-Seite bricht. Oder wenn Sie möchten, dass Ihre Anwendung der Zahlungsrichtlinien ändern, dann wird Ihre Seite zu ändern. Die kurze Antwort ist, dass Ihre Anwendung sollte die Anwendung des Zahlungsservice über einen Web-Service konsumieren. Weder ein Servlet noch eine JSP-Seite ist geeignete Stelle Ihres Verbrauch Logik zu setzen.

    Zweitens entlang dieser Linien, die meisten Verwendungen von Servlets / JSP-Seiten in den letzten Jahren haben in Zusammenhang mit einem Rahmen wie Spring oder Struts setzen. Ich würde Frühling empfehlen, da es Ihnen den vollen Stapel bietet, was Sie brauchen von den Server-Seiten auf dem Web-Service-Gateway-Logik zu DAOs. Wenn Sie die Schrauben und Muttern der Feder verstehen wollen, würde ich empfehlen Frühling in Aktion . Wenn Sie brauchen, um besser zu verstehen, wie eine Unternehmensarchitektur zu Tiere in einer Sprache wie Java geschrieben (oder C #), würde ich empfehlen Fowler Patterns of Enterprise Application Architecture .

    Ja, sollte dies ein Servlet sein. Eine JSP kann einfacher sein, zu entwickeln, aber ein Servlet wird leichter zu pflegen sein. Man stelle sich vor, die einige zufällige Fehler in 6 Monaten zu beheben und zu versuchen, sich daran zu erinnern, wie es funktioniert.

    In Java-Servlet der HTML-Tags werden in Java-Codierung eingebettet.   In JSP werden die Java-Kodierungen in HTML-Tags eingebettet.

    Für große Anwendung für großes Problem der Servlet-Komplex ist zu lesen, zu verstehen, zu debuggen, etc wegen Unlesbarkeit von mehr HTML-Tags innerhalb der Java-embeding coding..So verwenden wir jsp.In jsp es ist leicht zu verstehen, zu debuggen, etc.

    Danke & Grüße, Sivakumar.j

    Ich denke, seine bis zu Ihnen? da JSP ist Java innerhalb von HTML und Servlet ist ein Java, die die HTML innerhalb

    tun können

    hmmm ... Servlet mehr sercure als jsp ist, denn wenn man einreichen dort auf eine andere JSP Servlets und weiterzuleiten ist keine Dateierweiterung erscheinen und auch kann nicht Sie sehen, welche Seite es ist ..

    aber der Vorteil von JSP ist, dass Sie es leicht codieren können.

    Lizenziert unter: CC-BY-SA mit Zuschreibung
    Nicht verbunden mit StackOverflow
    scroll top