In JSP integrierter Objektbereich
Anwendung: gültig in allen Anwendungen, das heißt, solange die Website ausgeführt wird, ist dieser Bereich gültig, auf den sich dies bezieht der Programmablaufprozess.
Sitzung: gültig in der aktuellen Sitzung, also beginnend mit dem Zugriff des Browsers auf den Server, bezieht sich dies auf einen Zugriffsvorgang des Benutzers, also vom Anfang bis zum Ende dieser Sitzung
Anfrage: In der aktuellen Sitzung gültig in der Anfrage, verantwortlich für den Informationsaustausch zwischen mehreren Servlets, dh das Einfügen der Informationen in die Anfrage, ist während der gesamten Anfragephase gültig, das heißt, die Daten können abgerufen werden Diese Phase des Benutzerzugriffs
Seite: Gültig auf der aktuellen Seite, dh gültig auf einer JSP-Seite.
Zunächst muss erklärt werden, dass der sogenannte „Umfang“ der „Umfang des Informationsaustauschs“ ist, also der Umfang, innerhalb dessen eine Information wirksam sein kann.
Die grundlegendste Einheit der Webinteraktion ist die HTTP-Anfrage. Der Vorgang vom Betreten der Website bis zum Verlassen der Website wird als HTTP-Sitzung bezeichnet. Während des Betriebs eines Servers greifen mehrere Benutzer darauf zu, also mehrere HTTP-Sitzungen. Der Geltungsbereich wird im Folgenden erläutert.
Anwendung: Der Zeitraum vom Start des Servers bis zum Stopp.
Sitzung: Der Zeitraum vom Anfang bis zum Ende der HTTP-Sitzung.
Anfrage: Der Zeitraum vom Anfang bis zum Ende der HTTP-Anfrage.
Seite: Die Zeit vom Öffnen bis zum Schließen der aktuellen Seite.
1. Anwendungsbereich
Der Anwendungsbereich ist der gesamte Zeitraum vom Start bis zum Herunterfahren des Servers. Die in diesem Bereich festgelegten Informationen können von allen Anwendungen verwendet werden. Die Informationsübertragung im Anwendungsbereich wird durch ServletContext implementiert. Die wichtigsten Methoden sind wie folgt:
Object getAttribute (String name): Informationen aus der Anwendung abrufen.
void setAttribute(String name, Object value): Informationen zum Anwendungsbereich festlegen.
2. Sitzungsbereich
Derselbe Browser besucht den Server mehrmals und überträgt Informationen zwischen diesen mehreren Besuchen des Sitzungsumfangs. Die Sitzung wird über die HttpSession-Schnittstelle implementiert und bietet folgende Hauptmethoden.
Object HttpSession.getAttribute(String name): Informationen aus der Sitzung abrufen.
void HttpSession.setAttribute(String name, Object value): Informationen in der Sitzung speichern.
HttpSession HttpServletRequest.getSession(): Ruft das Sitzungsobjekt ab, in dem sich die aktuelle Anforderung befindet.
Der Startzeitpunkt der Sitzung lässt sich relativ einfach ermitteln. Die Sitzung startet, wenn der Browser die erste HTTP-Anfrage sendet. Es ist jedoch schwierig, die Endzeit zu beurteilen, da der Server beim Schließen des Browsers nicht benachrichtigt wird und daher nur mit der folgenden Methode beurteilt werden kann: Wenn der Client nicht innerhalb eines bestimmten Zeitraums antwortet, wird die Sitzung berücksichtigt vorbei sein. Der Standardwert von Tomcat beträgt 120 Minuten, dieser Wert kann jedoch auch über die Methode setMaxInactiveInterval(int interrupt) von HttpSession festgelegt werden. Wenn Sie die Sitzung aktiv beenden möchten, beispielsweise wenn der Benutzer auf die Schaltfläche „Abmelden“ klickt, können Sie HttpSessions verwenden invalidate() Methode zum erzwungenen Beenden der aktuellen Sitzung.
3. Anforderungsbereich
Die Verarbeitung einer HTTP-Anfrage erfordert möglicherweise die Zusammenarbeit mehrerer Servlets, und Informationen können auf irgendeine Weise zwischen diesen Servlets weitergegeben werden Die Informationen sind nach Abschluss der Anfrage ungültig.
Der Informationsaustausch zwischen Servlets wird durch zwei Methoden der HttpServletRequest-Schnittstelle erreicht.
void setAttribute(String name, Object value): Speichern Sie den Objektwert im Anforderungsbereich mit name als Namen.
Object getAttribute (String name): Ruft die Informationen des angegebenen Namens aus dem Anforderungsbereich ab.
Der erste Parameter der Methoden doGet() und doPost() in JSP ist das HttpServletRequest-Objekt. Verwenden Sie die Methode setAttribute() dieses Objekts, um Informationen zu übertragen.
Wie geben Sie die Informationen nach dem Festlegen der Informationen an andere Servlets weiter? Dazu ist die Verwendung der Methode „forward()“ der Schnittstelle „RequestDispatcher“ erforderlich, über die die Anfrage an andere Servlets weitergeleitet wird.
RequestDispatcher ServletContext.getRequestDispatcher(String path): Ruft den Dispatcher für die Weiterleitung ab. path ist das Ziel-Servlet für die Weiterleitung.
void RequestDispatcher.forward(ServletRequest-Anfrage, ServletResponse-Antwort): Anfrage und Antwort weiterleiten.
Daher müssen Sie nur die entsprechenden Attribute über die setAttribute()-Methode im aktuellen Servlet festlegen, dann die vorwärts()-Methode zum Springen verwenden und schließlich die getAttribute()-Methode im übersprungenen Servlet verwenden. Informationstransfer kann erreicht werden.
PHP-Programmierer verstehen diesen Absatz möglicherweise nicht sehr gut, da es in PHP kein Konzept für die Weiterleitung gibt. Eine Anfrage kann nur von einer PHP-Datei verarbeitet werden, daher gibt es in PHP kein Konzept für den Anfragebereich. Servlets sind unterschiedlich. Anforderungen können in der Anwendung beliebig weitergeleitet werden, sodass der Anforderungsbereich zum Übertragen von Informationen zwischen verschiedenen Servlets verwendet wird.
Beachten Sie zwei Punkte:
Weiterleitung ist keine Umleitung, die Weiterleitung erfolgt innerhalb der Webanwendung. PHP unterstützt Weiterleitungen, aber keine Weiterleitungen.
Die Weiterleitung ist für den Browser transparent, d. h. unabhängig davon, wie sie auf dem Server weitergeleitet wird, wird die Adresse des ursprünglichen Servlets weiterhin in der Adressleiste des Browsers angezeigt. Die umgeleitete Browseradresse ändert sich.
4. Seitenbereich
Der Bereich des Seitenobjekts ist auf die vom Benutzer angeforderte aktuelle Seite beschränkt. Der Verweis auf das Seitenobjekt wird nach dem zurückgegeben Die Antwort wird an den Client zurückgegeben oder freigegeben, nachdem die Anfrage an eine andere Stelle weitergeleitet wurde. Ein Verweis auf das Seitenobjekt wird normalerweise im pageContext-Objekt gespeichert.
Der Umfang der obigen Einführung wird immer kleiner. Die Lebenszyklen von Anfragen und Seiten sind kurzlebig. Der Unterschied zwischen ihnen besteht darin, dass eine Anfrage mehrere Seiten enthalten kann (einschließen, weiterleiten und filtern).
Das obige ist der detaillierte Inhalt vonWas sind die vier Hauptbereiche von JSP?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!