878 Stimmen

Was ist der Unterschied zwischen JSF, Servlet und JSP?

Ich habe einige Fragen. Diese sind:

  1. Wie sind JSP und Servlet miteinander verwandt?
  2. Ist JSP eine Art von Servlet?
  3. In welchem Verhältnis stehen JSP und JSF zueinander?
  4. Ist JSF eine Art von Vorgefertigtes UI auf Basis von JSP wie ASP.NET-MVC?

3 Stimmen

In JSF 2.0+ ist xml nicht erforderlich.

89voto

S.Lott Punkte 371691

Ver http://www.oracle.com/technetwork/java/faq-137059.html

Die JSP-Technologie ist Teil der Java Technologie-Familie. JSP-Seiten werden in Servlets kompiliert und können JavaBeans-Komponenten (Beans) oder Enterprise JavaBeans-Komponenten (Enterprise Beans) aufrufen, um die Verarbeitung auf dem Server durchzuführen. Als solche ist die JSP Technologie eine Schlüsselkomponente in einer hoch skalierbaren Architektur für webbasierte Anwendungen.

Ver https://jcp.org/en/introduction/faq

A: Die JavaServer Faces-Technologie ist ein Framework zur Erstellung von Benutzeroberflächen für Webanwendungen. JavaServer Faces Technologie umfasst:

Eine Reihe von APIs für: die Darstellung von UI Komponenten und die Verwaltung ihres Zustands, Behandlung von Ereignissen und Eingabevalidierung, Definition der Seitennavigation und Unterstützung von Internationalisierung und Barrierefreiheit.

Eine benutzerdefinierte JavaServer Pages (JSP)-Tag Bibliothek für den Ausdruck einer JavaServer Faces-Schnittstelle innerhalb einer JSP-Seite.

JSP ist eine spezielle Art von Servlet.

JSF ist ein Satz von Tags, die Sie mit JSP verwenden können.

10 Stimmen

"JSP ist eine spezielle Art von Servlet. JSF ist ein Satz von Tags, die Sie mit JSP verwenden können." Diese Aussage beschreibt die Beziehung zwischen den drei am besten!

35voto

Vh24 Punkte 639

Aus Sicht des Browsers/Clients

JSP und JSF sieht beide gleich, wie pro Anwendung Anforderungen geht, ist JSP mehr für Anfrage geeignet - Antwort basierte Anwendungen.

JSF ist für umfangreichere ereignisbasierte Webanwendungen gedacht. Ich betrachte Ereignisse als viel granularer als Anfrage/Antwort.

Aus der Serverperspektive

Die JSP-Seite wird in ein Servlet umgewandelt, das nur ein minimales Verhalten aufweist.

Die JSF-Seite wird in einen Komponentenbaum umgewandelt (durch ein spezialisiertes FacesServlet) und folgt dem in der Spezifikation definierten Lebenszyklus der Komponenten.

25voto

Kishor Prakash Punkte 7698

Servlets :

Die Java Servlet API ermöglicht es Java-Entwicklern, serverseitigen Code zu schreiben für die Bereitstellung dynamischer Webinhalte zu schreiben. Wie andere proprietäre Webserver APIs bot die Java Servlet API eine bessere Leistung als CGI; Sie hat jedoch einige zusätzliche Vorteile. Da Servlets in Java programmiert wurden, bieten sie einen objektorientierten (OO) Designansatz und, was noch wichtiger ist, sie können auf jeder Plattform ausgeführt werden. Somit ist derselbe Code auf jeden Host übertragen werden, der Java unterstützt. Servlets haben einen großen zur Popularität von Java beigetragen, da sie zu einer weit verbreiteten Technologie für die serverseitige Entwicklung von Webanwendungen wurde.

JSP :

JSP baut auf Servlets auf und bietet eine einfachere, seitenbasierte Lösung zur Generierung großer Mengen dynamischer HTML-Inhalte für Web Benutzeroberflächen. JavaServer Pages ermöglicht es Webentwicklern und -designern einfach HTML-Seiten mit speziellen Tags für die dynamischen Java-Anteile zu bearbeiten. Teile. JavaServer Pages funktioniert über ein spezielles Servlet, das als JSP-Container, der auf einem Webserver installiert wird und alle JSP-Seitenanfragen bearbeitet. Der JSP-Container übersetzt eine angeforderte JSP in Servlet-Code, der dann kompiliert und sofort ausgeführt wird. Nachfolgende Anfragen an dieselbe Seite rufen einfach das Laufzeit-Servlet für die Seite auf. Wenn eine Änderung an der JSP auf dem Server vorgenommen wird, löst eine Anfrage eine weitere Übersetzung, Kompilierung und einen Neustart des Runtime-Servlets aus, um es anzuzeigen. des Runtime-Servlets aus.

JSF :

JavaServer Faces ist ein Standard-Java-Framework zur Erstellung von Benutzer Benutzeroberflächen für Webanwendungen. Vor allem aber vereinfacht es die Entwicklung der Benutzeroberfläche, die oft einer der schwierigsten und und langwierigen Teil der Entwicklung von Webanwendungen ist.
Obwohl es möglich ist, Benutzeroberflächen mit Hilfe von grundlegenden Java-Webtechnologien (wie Java-Servlets und JavaServer Pages) ohne ein umfassendes Framework, das für Unternehmens-Web Entwicklung von Unternehmens-Webanwendungen konzipiert wurde, können diese Kerntechnologien oft zu einer Vielzahl von Entwicklungs- und Wartungsproblemen führen. Noch wichtiger ist, dass wenn die Entwickler eine produktionsreife Lösung erreichen, die die gleichen Probleme, die mit JSF gelöst wurden, auf eine andere Weise gelöst werden nicht standardisierten Weise gelöst. JavaServer Faces wurde zur Vereinfachung der Entwicklung von Benutzeroberflächen für Java-Webanwendungen in den folgende Weise:
- Es bietet eine komponentenzentrierte, Client-unabhängigen Entwicklungsansatz zur Erstellung von Web-Benutzeroberflächen Benutzeroberflächen und verbessert so die Produktivität und Benutzerfreundlichkeit der Entwickler.
- Es vereinfacht den Zugang und die Verwaltung von Anwendungsdaten aus dem Web-Benutzeroberfläche.
- Es verwaltet automatisch die Benutzeroberfläche zwischen mehreren Anfragen und mehreren Clients auf einfache und unaufdringlichen Weise.
- Sie liefert einen Entwicklungsrahmen, der für eine Vielzahl von Entwicklern mit unterschiedlichen Fähigkeiten geeignet ist.
- Es beschreibt eine Reihe von Standard-Architekturmustern für ein Web Anwendung.

[ Quelle: Vollständige Referenz: JSF ]

4 Stimmen

Ich war es nicht, aber ich kann mir vorstellen, dass es daran liegt, dass Sie im Grunde nur eine Antwort aus einem Buch kopiert und eingefügt haben.

8 Stimmen

@Oberon: Danke für die Antwort. Es hat eine Weile gedauert, bis ich die genauen Worte gefunden habe, also habe ich mich für ein Buch entschieden. Wenn es nicht angemessen ist, dann können Sie oder jemand anderes mir vorschlagen, die Antwort zu notieren. Ich werde es gerne tun.

18voto

Karthi Punkte 1123

Es gibt auch Situationen, in denen Sie JSP gegenüber JSF bevorzugen können. Die Art der Anwendung sollte der entscheidende Faktor für die Wahl der Technologie sein.

Wenn Sie eine reichhaltige GUI-Interaktion und viel Java-Scripting benötigen, dann bevorzugen Sie JSF. Grundsätzlich, wenn Ihre GUI-App-Architektur ist wie komponentenorientiert und sogar angetrieben wie Swing dann JSF ist die beste.

Wenn es sich bei der Anwendung nur um ein einfaches Formular handelt, bei dem nicht viel GUI-Interaktion erforderlich ist, dann könnte JSP gut geeignet sein, wenn das Erlernen einer neuen Technologie einen Mehraufwand darstellt und auch ein komplexes Framework unnötig ist.

14voto

cackle Punkte 700

Servlet - ist eine serverseitige Java-Schicht.

  • JSP - das ist Servlet mit html
  • JSF - seine Komponenten basieren auf Tag-Libs
  • JSP - es wird einmal in Servlet umgewandelt, wenn der Server eine Anfrage erhält.

2 Stimmen

JSP wird einmal in ein Servlet umgewandelt, wenn der Server eine Anfrage erhält.

0 Stimmen

... wenn der Server die ERSTE Anfrage erhält. Beachten Sie das Caching.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X