Ich habe viele Artikel gelesen, um das Java-Servlet zu verstehen, aber es ist mir nicht gelungen.
Können Sie bitte eine kurze Einführung in Java-Servlets (in einfacher Sprache) geben? Wie ist Servlet? Was sind die Vorteile? Und all das.
Ich kann den Unterschied zwischen serverseitigen Programmiersprachen (PHP, ASP) und Servlets nicht verstehen.
java
jakarta-ee
servlets
Hardik
quelle
quelle
servlets
Mauszeiger unter Ihre Frage, bis eine Blackbox angezeigt wird. Klicken Sie darin auf den Info- Link.Antworten:
Ein Servlet ist einfach eine Klasse, die auf eine bestimmte Art von Netzwerkanforderung reagiert - am häufigsten auf eine HTTP-Anforderung. Grundsätzlich werden Servlets normalerweise zum Implementieren von Webanwendungen verwendet. Es gibt jedoch auch verschiedene Frameworks, die über Servlets (z. B. Struts) arbeiten, um eine übergeordnete Abstraktion zu erzielen, als die Servlets "Hier ist eine HTTP-Anforderung, in diese HTTP-Antwort schreiben" zur Verfügung stellen.
Servlets werden in einem Servlet-Container ausgeführt, der die Netzwerkseite verwaltet (z. B. Parsen einer HTTP-Anforderung, Verbindungsbehandlung usw.). Einer der bekanntesten Open Source-Servlet-Container ist Tomcat .
quelle
Ein Servlet im Kern ist eine Java-Klasse. die HTTP-Anfragen verarbeiten kann. In der Regel kümmern sich Container wie Tomcat um das interne Problem beim Lesen einer HTTP-Anforderung und -Antwort über das Kabel. Dies geschieht, damit Sie sich als serverseitiger Entwickler darauf konzentrieren können, was mit den HTTP-Anforderungen und -Antworten zu tun ist, und sich nicht um Code kümmern müssen, der sich mit Netzwerken usw. befasst. Der Container kümmert sich um Dinge wie das Einwickeln des Ganzen in a HTTP-Antwortobjekt und senden Sie es an den Client (z. B. einen Browser).
Die nächste logische Frage ist nun, wer entscheidet, was ein Container tun soll. Und die Antwort ist; Zumindest in der Java-Welt wird es von Spezifikationen geleitet (beachten Sie, dass ich das Wort gesteuert nicht verwendet habe). Zum Beispiel bestimmen die Servlet-Spezifikationen (siehe Ressource 2), was ein Servlet tun muss. Wenn Sie also eine Implementierung für die Spezifikation schreiben können, herzlichen Glückwunsch, Sie haben gerade einen Container erstellt (Technisch gesehen implementieren Container wie Tomcat auch andere Spezifikationen und erledigen knifflige Dinge wie benutzerdefinierte Klassenlader usw., aber Sie haben die Idee).
Angenommen, Sie haben einen Container, sind Ihre Servlets jetzt Java-Klassen, deren Lebenszyklus vom Container verwaltet wird, deren Reaktion auf eingehende HTTP-Anforderungen jedoch von Ihnen entschieden wird. Sie tun dies, indem Sie in die vordefinierten Methoden wie init (), doGet (), doPost () usw. schreiben, was Sie tun möchten. Schauen Sie sich Ressource 3 an.
Hier ist eine lustige Übung für Sie. Erstellen Sie ein einfaches Servlet wie in Ressource 3 und schreiben Sie einige System.out.println () -Anweisungen in die Konstruktormethode (Ja, Sie können einen Konstruktor eines Servlets haben), init (), doGet (), doPost () und führen Sie sie aus das Servlet in Tomcat. Siehe die Konsolen- und Tomcat-Protokolle.
Hoffe das hilft, viel Spaß beim Lernen.
Ressourcen
Schauen Sie, wie die HTTP - Servlet sieht hier (Tomcat Beispiel).
Servlet- Spezifikation .
Einfaches Servlet- Beispiel .
Beginnen Sie mit dem Lesen des Buches online / PDF. Außerdem können Sie das gesamte Buch herunterladen. Vielleicht hilft das. Wenn Sie gerade erst Servlets starten, ist es möglicherweise eine gute Idee, das Material zusammen mit der Servlet-API zu lesen. Es ist ein langsamerer Lernprozess, aber viel hilfreicher, um die Grundlagen klar zu machen.
quelle
Zusätzlich zu den oben genannten und nur um auf die offensichtliche Blutung hinzuweisen ...
Für viele ist dies sehr offensichtlich, aber für jemanden, der es gewohnt ist, Apps zu schreiben, die nur ausgeführt werden und dann enden: Ein Servlet verbringt die meiste Zeit damit, nichts zu tun ... darauf zu warten, etwas gesendet zu werden, eine Anfrage zu stellen und dann darauf zu antworten . Aus diesem Grund hat ein Servlet ein Leben lang: Es wird initialisiert und wartet dann herum, reagiert auf alles, was darauf geworfen wird, und wird dann zerstört. Dies bedeutet, dass es von etwas anderem (einem Framework) erstellt (und später zerstört) werden muss, dass es in einem eigenen Thread oder Prozess ausgeführt wird und dass es nichts tut, wenn es nicht dazu aufgefordert wird. Und auch, dass auf die eine oder andere Weise ein Mechanismus implementiert werden muss, durch den diese "Entität" auf Anfragen "warten" kann.
Ich schlage vor, dass das Lesen über Threads, Prozesse und Sockets etwas Licht ins Dunkel bringt: Es unterscheidet sich erheblich von der Funktionsweise einer einfachen "Hallo Welt" -App.
Es könnte argumentiert werden, dass der Begriff "Server" oder "Servlet" ein bisschen übertrieben ist. Ein rationaler und einfacherer Name könnte "Responder" sein. Der Grund für die Wahl des Begriffs "Server" ist historisch: Die ersten derartigen Anordnungen waren "Dateiserver", bei denen mehrere Benutzer- / Client-Terminals eine bestimmte Datei von einem zentralen Computer anfordern und diese Datei dann "bereitgestellt" wird "wie ein Buch oder ein Teller mit Fish and Chips.
quelle
Was ist ein Servlet?
Servlets werden in einem Servlet-Container ausgeführt, der die Netzwerkseite verwaltet (z. B. Parsen einer HTTP-Anforderung, Verbindungsbehandlung usw.). Einer der bekanntesten Open Source-Servlet-Container ist Tomcat.
In einem Anforderungs- / Antwortparadigma kann ein Webserver dem Client nur statische Seiten bereitstellen
Ablauf der Anfrage
Woher weiß der Container, welchen Servlet-Client angefordert hat?
Sie haben Informationen über Servlet in dieser Datei-
Jedes Servlet in der Web-App sollte einen Eintrag in diese Datei haben
Wie "installiert" man Servlets? * Nun, die Servlet-Objekte werden von der Bibliothek javax.servlet geerbt. *. Tomcat und Spring können verwendet werden, um diese Objekte für den Anwendungsfall zu verwenden.
Ref- Sehen Sie sich dies auf 1.5x- https://www.youtube.com/watch?v=tkFRGdUgCsE an . Dies hat eine großartige Erklärung.
quelle
Servlet ist eine serverseitige Technologie, mit der dynamische Webseiten in Webanwendungen erstellt werden. Eigentlich ist Servlet eine API, die aus einer Gruppe von Klassen und Schnittstellen besteht und einige Funktionen hat. Wenn wir die Servlet-API verwenden, können wir vordefinierte Funktionen von Servlet-Klassen und -Schnittstellen verwenden.
Lebenszyklus von Servlet:
Der Webcontainer verwaltet den Lebenszyklus der Servlet-Instanz.
1. Servlet-Klasse geladen
2. Servlet-Instanz erstellt
3 . Die Methode init () wird aufgerufen
4. aufgerufene service () -Methode
5. Die Methode destroy () wird aufgerufen
Wenn eine Anforderung vom Client (Browser) ausgelöst wird, prüft der Webcontainer, ob das Servlet ausgeführt wird oder nicht. Wenn ja, ruft er die service () -Methode auf und gibt die Antwort an den Browser.
Wenn das Servlet nicht ausgeführt wird, führen Sie die folgenden Schritte aus.
1. classloader lädt die Servlet-Klasse
2. Instanziiert das Servlet
3. Initialisiert das Servlet
4. Rufen Sie die service () -Methode auf
Nachdem der Anforderungs-Webcontainer bedient wurde, warten Sie eine bestimmte Zeit. Wenn in dieser Zeit eine Anforderung eingeht, ruft er nur die service () -Methode auf, andernfalls ruft er die destroy () -Methode auf.
quelle
Wenn Sie Anfänger sind, kann dieses Tutorial eine grundlegende Vorstellung davon geben, was Servlet ist ...
Einige wertvolle Punkte finden Sie weiter unten unter dem angegebenen Link.
Die Servlet-Technologie wird verwendet, um eine Webanwendung zu erstellen, die sich auf der Serverseite befindet und eine dynamische Webseite generiert.
Servlet kann je nach Kontext auf viele Arten beschrieben werden.
quelle
Java-Servlets sind serverseitige Java-Programmmodule, die Kundenanforderungen verarbeiten und beantworten und die Servlet-Schnittstelle aktualisieren. Es hilft bei der Verbesserung der Nützlichkeit von Webservern mit vernachlässigbarem Overhead, Wartung und Support.
Ein Servlet fungiert als Vermittler zwischen dem Kunden und dem Server. Da Servlet-Module weiterhin auf dem Server ausgeführt werden, können sie Anforderungen des Kunden abrufen und darauf reagieren. Bedarfs- und Reaktionsobjekte des Servlets bieten eine hilfreiche Methode, um mit HTTP-Anfragen umzugehen und Inhaltsinformationen an den Kunden zurückzusenden.
Da ein Servlet mit dem Java-Dialekt koordiniert ist, verfügt es zusätzlich über alle Java-Highlights, z. B. hohe Beweglichkeit, Bühnenautonomie, Sicherheit und Verfügbarkeit von Java-Datenbanken.
quelle
Servlet ist eine Java-Klasse, die auf eine HTTP-Anfrage antwortet und eine HTTP-Antwort erzeugt. Wenn wir eine Seite mit HTML erstellen, handelt es sich um eine statische Seite. Um sie dynamisch zu gestalten, verwenden wir SERVLET {in einfachen Worten man kann verstehen} Um Servlet zu nutzen, wird es von JSP überwunden, es verwendet den Code und das HTML-Tag beide an sich.
quelle
Servlets sind Java-Klassen, die bestimmte Funktionen ausführen, wenn ein Website-Benutzer eine URL von einem Server anfordert. Diese Funktionen können Aufgaben wie das Speichern von Daten in einer Datenbank, das Ausführen von Logik und das Zurückgeben von Informationen (wie JSON-Daten) ausführen, die zum Laden einer Seite erforderlich sind.
Die meisten Java-Programme verwenden eine
main()
Methode, die Code ausführt, wenn das Programm ausgeführt wird. Java-Servlets enthaltendoGet()
unddoPost()
Methoden, die genau wie diemain()
Methode funktionieren. Diese Funktionen werden ausgeführt, wenn der Benutzer eineGET
oder einePOST
Anfrage an die diesem Servlet zugeordnete URL stellt. So kann der Benutzer eine Seite für eineGET
Anfrage laden oder Daten aus einerPOST
Anfrage speichern .Wenn der Benutzer eine
GET
oder einePOST
Anforderung sendet , liest der Server@WebServlet
oben in jeder Servlet-Klasse in Ihrem Verzeichnis, um zu entscheiden, welche Servlet-Klasse aufgerufen werden soll. Angenommen, Sie haben eine ChatBox-Klasse und diese befindet sich oben:Wenn ein Benutzer die
/chat
URL anfordert , wird IhreChatBox
Klasse ausgeführt.quelle
Wie in diesem Artikel beschrieben, ist ein Servlet eine standardisierte Methode zum Erweitern eines Java-Servers und zum Zugreifen auf seine Funktionen.
Jedes Servlet kann als winziger Server (daher der Name) angesehen werden, der zusammen mit anderen Kontextdaten wie der Sitzung Zugriff auf die in Java-Code modellierte Anforderung und Antwort erhält.
Mit diesen Informationen kann der Java-Code des Servlets mit allem verbunden werden, was zum Rendern einer Antwort erforderlich ist, einschließlich der Übergabe an eine JSP-Seite zum Generieren einer HTML-Ansicht.
quelle
Ich denke, Servlet ist im Grunde eine Java-Klasse, die als Mittelweg zwischen HTTP-Anforderung und HTTP-Antwort fungiert. Servlet wird auch verwendet, um Ihre Webseite dynamisch zu gestalten. Angenommen, Sie möchten auf eine andere Webseite auf dem Server umleiten, dann müssen Sie Servlets verwenden. Eine weitere wichtige Sache ist, dass das Servlet sowohl auf localhost als auch auf einem Webbrowser ausgeführt werden kann.
quelle
Sie haben gerade die Antwort für ein normales Servlet erhalten. Ich möchte Ihnen jedoch etwas über Servlet 3.0 mitteilen
Ich habe es im Java Servlet Tutorial gefunden
quelle