English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
JSP-implizite Objekte sind Java-Objekte, die der JSP-Container für jede Seite bereitstellt und die Entwickler direkt verwenden können, ohne sie explizit zu deklarieren. JSP-implizite Objekte werden auch als vorgegebene Variablen bezeichnet.
Die neun impliziten Objekte, die JSP unterstützt:
Objekt | 描述 |
---|---|
request | HttpServletRequest Ein Beispiel für das Interface |
response | HttpServletResponse Ein Beispiel für das Interface |
out | JspWriterEin Beispiel für die Klasse, das verwendet wird, um Ergebnisse auf die Webseite auszugeben |
session | HttpSessionEin Beispiel für die Klasse |
application | ServletContextEin Beispiel für die Klasse, das mit dem Anwendungscontext verbunden ist |
config | ServletConfigEin Beispiel für die Klasse |
pageContext | PageContextEin Beispiel für die Klasse, die den Zugriff auf alle Objekte und Namensräume der JSP-Seite bietet |
page | Ähnlich wie der Schlüsselwort this in Java-Klassen |
Exception | ExceptionDas Objekt der Klasse, das die Exception repräsentiert, die in der JSP-Seite aufgetreten ist |
Das request-Objekt ist ein Beispiel für die Klasse javax.servlet.http.HttpServletRequest. Jedes Mal, wenn ein Client eine JSP-Seite anfordert, erzeugt der JSP-Engine ein neues request-Objekt, das diese Anfrage repräsentiert.
Das request-Objekt bietet eine Reihe von Methoden, um HTTP-Header-Informationen, Cookies, HTTP-Methoden usw. zu erhalten.
Das response-Objekt ist ein Beispiel für die Klasse javax.servlet.http.HttpServletResponse. Wenn der Server ein request-Objekt erstellt, wird gleichzeitig ein response-Objekt erstellt, das für die Antwort an diesen Client verwendet wird.
Das response-Objekt definiert auch Schnittstellen für die Verarbeitung von HTTP-Header-Modulen. Über dieses Objekt können Entwickler neue Cookies, Zeitstempel, HTTP-Statuscodes usw. hinzufügen.
Das out-Objekt ist ein Beispiel für die Klasse javax.servlet.jsp.JspWriter und wird verwendet, um Inhalte in das response-Objekt zu schreiben.
Das ursprüngliche Objekt der Klasse JspWriter wird basierend auf dem Vorhandensein oder Nichtvorhandensein eines Caches unterschiedlich instanziert. Es kann das Attribut buffered='false' in der page-Anweisung verwendet werden, um den Cache einfach zu deaktivieren.
Die Klasse JspWriter enthält die meisten Methoden der Klasse java.io.PrintWriter. Außerdem enthält JspWriter einige Methoden, die speziell für die Verarbeitung von Caches entwickelt wurden. Darüber hinaus wirft die Klasse JspWriter IOExceptions-Exceptions aus, während PrintWriter dies nicht tut.
下表列出了我们将用来输出boolean,char,int,double,String,object等类型数据的重要方法:
方法 | 描述 |
---|---|
out.print(dataType dt); | 输出Type类型的值 |
out.println(dataType dt); | 输出Type类型的值然后换行 |
out.flush(); | 刷新输出流 |
session对象是 javax.servlet.http.HttpSession 类的一个示例。与Java Servlets中的session对象具有相同的行为。
session对象用于跟踪各个客户端请求之间的会话。
application对象直接包装了servlet的ServletContext类的对象,是javax.servlet.ServletContext 类的一个示例。
此对象在整个JSP页面的生命周期中代表此JSP页面。此对象在JSP页面初始化时被创建,随着jspDestroy()方法的调用而被移除。
通过向application中添加属性,则所有组成您web应用的JSP文件都能访问到这些属性。
config对象是 javax.servlet.ServletConfig 类的一个示例,直接包装了servlet的ServletConfig类的对象。
此对象允许开发者访问Servlet或JSP引擎的初始化参数,例如文件路径等。
以下是config对象的使用方法,不是很重要,所以不常用:
config.getServletName();
它返回包含在<servlet-name>元素中的servlet名字,注意,<servlet-name>元素在 WEB-在INF/web.xml 文件中定义。
pageContext对象是javax.servlet.jsp.PageContext 类的一个示例,用于代表整个JSP页面。
此对象主要用于访问页面信息,同时过滤掉大部分实现细节。
Dieses Objekt speichert Referenzen auf die request- und response-Objekte. Die application-, config-, session-, und out-Objekte können durch den Zugriff auf die Attribute dieses Objekts exportiert werden.
Das pageContext-Objekt enthält auch die Anweisungsinformationen, die an die JSP-Seite übergeben wurden, einschließlich Cache-Informationen, ErrorPage-URL, Seite-Scope und so weiter.
Die PageContext-Klasse definiert einige Felder, einschließlich PAGE_SCOPE, REQUEST_SCOPE, SESSION_SCOPE, APPLICATION_SCOPE. Sie bietet auch4Es gibt 0 zusätzliche Methoden, die die Hälfte von javax.servlet.jsp.JspContext-Klasse geerbt haben.
Eine wichtige Methode ist removeAttribute() und sie kann einen oder zwei Parameter akzeptieren. Zum Beispiel, pageContext.removeAttribute("attrName") entfernt die Attribute in allen vier scopes, aber das folgende Verfahren entfernt nur die Attribute in einem bestimmten Scope:
pageContext.removeAttribute("attrName", PAGE_SCOPE);
Dieses Objekt ist eine Referenz auf die Beispiel-Seite. Es kann als Repräsentant der gesamten JSP-Seite betrachtet werden.
Das page-Objekt ist ein Synonym für das this-Objekt.
Das exception-Objekt verpackt die Ausnahmeinformationen, die von der vorherigen Seite ausgelöst wurden. Es wird normalerweise verwendet, um angemessene Antworten auf Fehlerbedingungen zu erzeugen.