Implizite JSP-Objekte sind Java-Objekte, die vom JSP-Container für jede Seite bereitgestellt werden. Entwickler können sie direkt ohne explizite Deklaration verwenden. Implizite JSP-Objekte werden auch als vordefinierte Variablen bezeichnet.
Neun implizite Objekte, die von JSP unterstützt werden:
| Objekt | beschreiben |
|---|---|
| Anfrage | Instanz der HttpServletRequest- Klasse |
| Antwort | Instanz der HttpServletResponse -Klasse |
| aus | Eine Instanz der PrintWriter -Klasse, die zur Ausgabe von Ergebnissen auf einer Webseite verwendet wird |
| Sitzung | Instanz der HttpSession- Klasse |
| Anwendung | Eine Instanz der ServletContext -Klasse, die sich auf den Anwendungskontext bezieht |
| config | Instanz der ServletConfig- Klasse |
| pageContext | Eine Instanz der PageContext- Klasse, die Zugriff auf alle Objekte und Namespaces der JSP-Seite bietet |
| Seite | Ähnlich wie dieses Schlüsselwort in Java-Klassen |
| Ausnahme | Ein Objekt der Exception -Klasse stellt das entsprechende Ausnahmeobjekt auf der JSP-Seite dar, auf der der Fehler aufgetreten ist. |
Das Anforderungsobjekt ist eine Instanz der Klasse javax.servlet.http.HttpServletRequest. Immer wenn ein Client eine JSP-Seite anfordert, erstellt die JSP-Engine ein neues Anforderungsobjekt, um die Anforderung darzustellen.
Das Anforderungsobjekt bietet eine Reihe von Methoden zum Abrufen von HTTP-Header-Informationen, Cookies, HTTP-Methoden usw.
Das Antwortobjekt ist eine Instanz der Klasse javax.servlet.http.HttpServletResponse. Wenn der Server das Anforderungsobjekt erstellt, erstellt er auch ein Antwortobjekt, um dem Client zu antworten.
Das Antwortobjekt definiert auch die Schnittstelle zur Verarbeitung von HTTP-Header-Modulen. Über dieses Objekt können Entwickler neue Cookies, Zeitstempel, HTTP-Statuscodes usw. hinzufügen.
Das Out-Objekt ist eine Instanz der Klasse javax.servlet.jsp.JspWriter und wird zum Schreiben von Inhalten in das Antwortobjekt verwendet.
Das anfängliche JspWriter-Klassenobjekt führt unterschiedliche Instanziierungsvorgänge aus, je nachdem, ob die Seite zwischengespeichert ist. Das Caching kann einfach mit dem Attribut buffered='false' in der Seitenanweisung deaktiviert werden.
Die JspWriter-Klasse enthält die meisten Methoden der java.io.PrintWriter-Klasse. Allerdings hat JspWriter einige neue Methoden hinzugefügt, die speziell für die Verarbeitung des Cachings entwickelt wurden. Außerdem löst die JspWriter-Klasse IOExceptions aus, PrintWriter jedoch nicht.
Die folgende Tabelle listet die wichtigen Methoden auf, die wir zur Ausgabe von booleschen, char-, int-, double-, String-, Objekt- und anderen Datentypen verwenden werden:
| Verfahren | beschreiben |
|---|---|
| out.print(dataType dt) | Wert des Ausgabetyps |
| out.println(dataType dt) | Geben Sie den Wert des Typtyps aus und brechen Sie dann die Zeile um |
| out.flush() | Leeren Sie den Ausgabestream |
Das Sitzungsobjekt ist eine Instanz der Klasse javax.servlet.http.HttpSession. Hat das gleiche Verhalten wie das Sitzungsobjekt in Java-Servlets.
Das Sitzungsobjekt wird verwendet, um Sitzungen zwischen Clientanforderungen zu verfolgen.
Das Anwendungsobjekt umschließt direkt das Objekt der ServletContext-Klasse des Servlets und ist eine Instanz der javax.servlet.ServletContext-Klasse.
Dieses Objekt repräsentiert die JSP-Seite während ihres gesamten Lebenszyklus. Dieses Objekt wird erstellt, wenn die JSP-Seite initialisiert wird, und wird entfernt, wenn die Methode jspDestroy() aufgerufen wird.
Durch das Hinzufügen von Eigenschaften zu Ihrer Anwendung sind diese Eigenschaften für alle JSP-Dateien zugänglich, aus denen Ihre Webanwendung besteht.
Das Konfigurationsobjekt ist eine Instanz der Klasse javax.servlet.ServletConfig, die das Objekt der ServletConfig-Klasse des Servlets direkt umschließt.
Dieses Objekt ermöglicht Entwicklern den Zugriff auf die Initialisierungsparameter der Servlet- oder JSP-Engine, wie z. B. Dateipfade usw.
Im Folgenden erfahren Sie, wie Sie das Konfigurationsobjekt verwenden. Es ist nicht sehr wichtig und wird daher nicht häufig verwendet:
config.getServletName();Es gibt den im Element <servlet-name> enthaltenen Servlet-Namen zurück. Beachten Sie, dass das Element <servlet-name> in der Datei WEB-INFweb.xml definiert ist.
Das pageContext-Objekt ist eine Instanz der Klasse javax.servlet.jsp.PageContext und wird zur Darstellung der gesamten JSP-Seite verwendet.
Dieses Objekt wird hauptsächlich verwendet, um auf Seiteninformationen zuzugreifen und gleichzeitig die meisten Implementierungsdetails herauszufiltern.
Dieses Objekt speichert Verweise auf das Anforderungsobjekt und das Antwortobjekt. Das Anwendungsobjekt, das Konfigurationsobjekt, das Sitzungsobjekt und das Out-Objekt können exportiert werden, indem auf die Eigenschaften dieses Objekts zugegriffen wird.
Das pageContext-Objekt enthält auch die an die JSP-Seite übergebenen Anweisungsinformationen, einschließlich Cache-Informationen, ErrorPage-URL, Seitenbereich usw.
Die PageContext-Klasse definiert einige Felder, darunter PAGE_SCOPE, REQUEST_SCOPE, SESSION_SCOPE und APPLICATION_SCOPE. Es bietet außerdem mehr als 40 Methoden, von denen die Hälfte von der Klasse javax.servlet.jsp.JspContext erbt.
Eine der wichtigen Methoden ist removeArribute(), die einen oder zwei Parameter akzeptiert. Beispielsweise entfernt pageContext.removeArribute("attrName") verwandte Attribute in vier Bereichen, aber die folgende Methode entfernt nur verwandte Attribute in einem bestimmten Bereich:
pageContext.removeAttribute("attrName", PAGE_SCOPE);Dieses Objekt ist eine Referenz auf die Seiteninstanz. Es kann als Vertreter der gesamten JSP-Seite angesehen werden.
Das Seitenobjekt ist ein Synonym für dieses Objekt.
Das Ausnahmeobjekt umschließt Ausnahmeinformationen, die von der vorherigen Seite ausgelöst wurden. Es wird häufig verwendet, um entsprechende Reaktionen auf Fehlerbedingungen zu generieren.