Heim  >  Artikel  >  Java  >  Was bedeutet Servlet-API?

Was bedeutet Servlet-API?

(*-*)浩
(*-*)浩Original
2019-05-16 13:32:245807Durchsuche

Das Java Servlet Development Kit (JSDK) stellt mehrere Softwarepakete bereit, die beim Schreiben von Servlets benötigt werden. Dazu gehören zwei Basispakete für alle Servlets: javax.Servlet und javax.Servlet.http. Die Java-Servlet-Entwicklungstools können von der Sun-Website heruntergeladen werden.

Empfohlener Kurs: Java-Tutorial.

Was bedeutet Servlet-API?

Im Folgenden wird hauptsächlich die von javax.Servlet.http bereitgestellte HTTP-Servlet-Anwendungsprogrammierschnittstelle vorgestellt.
HTTP Servlet verwendet ein HTML-Formular zum Senden und Empfangen von Daten. Um ein HTTP-Servlet zu erstellen, erweitern Sie die HttpServlet-Klasse, eine Unterklasse von GenericServlet, um spezielle Methoden für die Verarbeitung von HTML-Tabellen. HTML-Formulare werden durch und-Tags definiert. Formulare enthalten normalerweise Eingabefelder (z. B. Texteingabefelder, Kontrollkästchen, Optionsfelder und Auswahllisten) und Schaltflächen zum Senden von Daten. Bei der Übermittlung von Informationen geben sie auch an, welches Servlet (oder anderes Programm) der Server ausführen soll. Die HttpServlet-Klasse umfasst init(), destroy(), service() und andere Methoden. Die Methoden init() und destroy() werden vererbt.

Gemeinsame Methoden der Servlet-API:

(1) Init()-Methode der Servlet-API
Im Lebenszyklus von Servlet wird die init()-Methode nur einmal ausgeführt. Es wird ausgeführt, wenn der Server das Servlet lädt. Sie können den Server so konfigurieren, dass er ein Servlet lädt, wenn der Server gestartet wird oder wenn ein Client zum ersten Mal auf das Servlet zugreift. Egal wie viele Clients auf das Servlet zugreifen, init() wird nie wiederholt ausgeführt.
Die standardmäßige init()-Methode ist normalerweise ausreichend, sie kann jedoch mit einer benutzerdefinierten init()-Methode überschrieben werden, typischerweise zur Verwaltung serverseitiger Ressourcen. Beispielsweise könnten Sie ein benutzerdefiniertes init() schreiben, um ein GIF-Bild nur einmal zu laden und so die Leistung eines Servlets zu verbessern, das ein GIF-Bild zurückgibt und mehrere Client-Anfragen enthält. Ein weiteres Beispiel ist die Initialisierung einer Datenbankverbindung. Die Standardmethode init() legt die Initialisierungsparameter des Servlets fest und verwendet seine ServletConfig-Objektparameter, um die Konfiguration zu starten. Daher sollten alle Servlets, die die Methode init() überschreiben, super.init() aufrufen, um sicherzustellen, dass diese Aufgaben weiterhin ausgeführt werden. Bevor Sie die Methode service() aufrufen, sollten Sie sicherstellen, dass die Methode init() abgeschlossen wurde.
(2) Service()-Methode der Servlet-API
Die service()-Methode ist der Kern von Servlet. Immer wenn ein Client ein HttpServlet-Objekt anfordert, wird die service()-Methode des Objekts aufgerufen und ein „request“-Objekt (ServletRequest) und ein „response“-Objekt (ServletResponse) als Parameter an diese Methode übergeben. Die service()-Methode existiert bereits in HttpServlet. Die Standarddienstfunktion besteht darin, die Do-Funktion aufzurufen, die der Methode der HTTP-Anforderung entspricht. Wenn die HTTP-Anforderungsmethode beispielsweise GET ist, wird standardmäßig doGet() aufgerufen. Servlets sollten die Do-Funktionalität für vom Servlet unterstützte HTTP-Methoden überschreiben. Da die Methode HttpServlet.service() prüft, ob die Anforderungsmethode den entsprechenden Handler aufruft, besteht keine Notwendigkeit, die Methode service() zu überschreiben. Überschreiben Sie einfach die entsprechende do-Methode und schon sind Sie fertig.
◆Wenn ein Client eine HTTP-POST-Anfrage über ein HTML-Formular stellt, wird die Methode doPost() aufgerufen. Mit der POST-Anfrage verknüpfte Parameter werden vom Browser als separate HTTP-Anfrage an den Server gesendet. Wenn Sie serverseitige Daten ändern müssen, sollten Sie die Methode doPost() verwenden.
◆Wenn ein Client eine HTTP-GET-Anfrage über ein HTML-Formular ausgibt oder direkt eine URL anfordert, wird die doGet()-Methode aufgerufen. Parameter im Zusammenhang mit der GET-Anfrage werden am Ende der URL hinzugefügt und mit dieser Anfrage gesendet. Die Methode doGet() sollte verwendet werden, wenn serverseitige Daten nicht geändert werden.
Die Antwort des Servlets kann von den folgenden Typen sein:
◆Ein Ausgabestream, den der Browser entsprechend seinem Inhaltstyp (z. B. Text/HTML) interpretiert.
◆Eine HTTP-Fehlerantwort, Weiterleitung zu einer anderen URL, Servlet, JSP.
(3) Die destroy()-Methode der Servlet-API
Die destroy()-Methode wird nur einmal ausgeführt, dh wenn der Server stoppt und das Servlet deinstalliert wird, wird diese Methode ausgeführt. Normalerweise wird das Servlet als Teil des Serverprozesses heruntergefahren. Die Standardmethode destroy() ist normalerweise ausreichend, kann aber überschrieben werden, typischerweise um serverseitige Ressourcen zu verwalten. Wenn Ihr Servlet beispielsweise während der Ausführung Statistiken sammelt, können Sie eine destroy()-Methode schreiben, die die Statistiken in einer Datei speichert, wenn das Servlet nicht geladen ist. Ein weiteres Beispiel ist das Schließen einer Datenbankverbindung.
Wenn der Server ein Servlet deinstalliert, wird die destroy()-Methode aufgerufen, nachdem alle service()-Methodenaufrufe abgeschlossen sind oder nachdem ein bestimmtes Zeitintervall verstrichen ist. Ein Servlet generiert möglicherweise andere Threads, wenn die Methode service() ausgeführt wird. Bitte bestätigen Sie daher, dass diese Threads beendet oder abgeschlossen wurden, wenn die Methode destroy() aufgerufen wird.
(4) GetServletConfig()-Methode der Servlet-API
GetServletConfig()-Methode gibt ein ServletConfig-Objekt zurück, das zur Rückgabe von Initialisierungsparametern und ServletContext verwendet wird. Die ServletContext-Schnittstelle stellt Umgebungsinformationen über das Servlet bereit.
(5) GetServletInfo()-Methode der Servlet-API
Die GetServletInfo()-Methode ist eine optionale Methode, die Informationen über das Servlet bereitstellt, wie z. B. Autor, Version und Urheberrecht.
Wenn der Server die drei Methoden Service(), doGet() und doPost() des Sevlets aufruft, sind die Objekte „request“ und „response“ als Parameter erforderlich. Das „Request“-Objekt stellt Informationen über die Anfrage bereit und das „Response“-Objekt stellt einen Kommunikationspfad für die Rückgabe von Antwortinformationen an den Browser bereit. Die relevanten Klassen im Paket javax.Servlet sind ServletResponse und ServletRequest, während die relevanten Klassen im Paket javax.Servlet.http HttpServletRequest und HttpServletResponse sind. Servlets kommunizieren über diese Objekte mit dem Server und letztendlich dem Client. Servlet kann die Client-Umgebung, Server-Umgebungsinformationen und alle vom Client bereitgestellten Informationen abrufen, indem es die Methode des „Request“-Objekts aufruft. Ein Servlet kann Methoden für das Response-Objekt aufrufen, um eine Antwort zu senden, die zum Zurücksenden an den Client bereit ist.

Das obige ist der detaillierte Inhalt vonWas bedeutet Servlet-API?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn