Integrierte JSP-Objekte: Verwendung von pageContext-Bereichsobjekten
Was sind die integrierten Objekte von JSP? Welche Funktionen haben sie? In diesem Artikel werden die neun integrierten Objekte von JSP erwähnt, einschließlich einer detaillierten Einführung in das pageContext-Objekt. Es stellt die laufende Umgebung der JSP-Seite dar Es kapselt nicht nur die Referenzen auf die anderen acht impliziten Objekte, sondern ist auch selbst ein Domänenobjekt (Container), das zum Speichern von Daten verwendet werden kann. Andere Objekte können auch über pageContext abgerufen werden. Die spezifische Verwendung wird unten erläutert.
1. JSP-Funktionsprinzip
Wenn auf jede JSP-Seite zum ersten Mal zugegriffen wird, übergibt der WEB-Container die Anfrage an die JSP Engine (d. h. ein Java-Programm) zur Verarbeitung. Die JSP-Engine übersetzt die JSP zunächst in ein _jspServlet (im Wesentlichen ein Servlet) und ruft es dann entsprechend der Servlet-Aufrufmethode auf.
Da JSP beim ersten Zugriff in ein Servlet übersetzt wird, ist der erste Zugriff normalerweise langsamer. Wenn die JSP-Engine beim zweiten Zugriff jedoch feststellt, dass sich die JSP nicht geändert hat, übersetzt sie sie nicht mehr. Rufen Sie es jedoch direkt auf, sodass die Ausführungseffizienz des Programms nicht beeinträchtigt wird.
Wenn die JSP-Engine das der JSP entsprechende _jspServlet aufruft, übergibt oder erstellt sie 9 Objekte im Zusammenhang mit der Webentwicklung, die _jspServlet verwenden kann. Um Entwicklern das Erhalten von Verweisen auf diese Webobjekte beim Schreiben von JSP-Seiten zu erleichtern, haben die Designer der JSP-Technologie speziell 9 entsprechende Variablen definiert. Entwickler können über diese Variablen schnell Verweise auf diese 9 Objekte in JSP-Seiten erhalten.
2. Lernen Sie die neun integrierten Objekte kennen
NEIN. | Eingebautes Objekt | Typ | ||||||||||||||||||||||||||||||
1 |
|
javax.servlet.jsp.PageContext | tr>||||||||||||||||||||||||||||||
2 | request | javax.servlet.http.HttpServletRequest | ||||||||||||||||||||||||||||||
3 | Antwort | javax.servlet.http.HttpServletResponse td> | ||||||||||||||||||||||||||||||
4 | Sitzung | javax.servlet.http.HttpSession | 5 | Anwendung | javax.servlet.ServletContext | tr>|||||||||||||||||||||||||||
config | javax.servlet.ServletConfig | 7 | out | javax.servlet.jsp.JspWriter | ||||||||||||||||||||||||||||
8 | Seite | java.lang.Object|||||||||||||||||||||||||||||||
9 | Ausnahme | java.lang.Throwable td> |
Objekte wie Anfrage, Antwort, Sitzung, Anwendung und Konfiguration wurden bereits ausführlich vorgestellt. Hier konzentrieren wir uns auf die verbleibenden pageContext-Objekte, Out-Objekte und Seitenobjekte.
3. Anweisungen zur Verwendung integrierter Objekte
3.1. Seitenobjekt
Seitenobjekt stellt das aktuelle JSP Seite kann als Objekt selbst verstanden werden, das heißt: Behandeln Sie eine JSP als Objekt. Das Seitenobjekt wird in der Entwicklung selten verwendet. Verstehen Sie es einfach
3.2, Out-Objekt Das Out-Objekt wird zum Senden von Textdaten an den Client verwendet. Das Out-Objekt wird durch Aufrufen der getOut-Methode des pageContext-Objekts zurückgegeben. Seine Funktion und Verwendung sind dem von der ServletResponse.getWriter-Methode zurückgegebenen PrintWriter-Objekt sehr ähnlich.
Der Typ des Out-Objekts in der JSP-Seite ist JspWriter und entspricht einem PrintWriter mit Caching-Funktion. Durch Festlegen des Pufferattributs der Seitenanweisung der JSP-Seite kann der Cache angepasst oder sogar geschlossen werden.
Nur wenn Inhalt in das Out-Objekt geschrieben wird und eine der folgenden Bedingungen erfüllt ist, ruft das Out-Objekt die Methode ServletResponse.getWriter auf und der Inhalt im Puffer des Out-Objekts wird tatsächlich über das PrintWriter-Objekt geschrieben von dieser Methode zurückgegeben. Geben Sie den von der Servlet-Engine bereitgestellten Puffer ein:
- Legen Sie das Pufferattribut der Seitenanweisung fest, um die Caching-Funktion des Out-Objekts zu deaktivieren
- Out-Objekt Der Puffer ist voll
- Die gesamte JSP-Seite endet
- getException-Methode gibt implizites Ausnahmeobjekt zurück
- getPage-Methode gibt implizites Seitenobjekt zurück
- getRequest-Methode gibt implizites Anforderungsobjekt zurück
- getResponse-Methode gibt implizites Antwortobjekt zurück
- getServletConfig-Methode gibt zurück config implizites Objekt
- getServletContext-Methode gibt implizites Anwendungsobjekt zurück
- getSession-Methode gibt implizites Sitzungsobjekt zurück
- Die getOut-Methode gibt das implizite Out-Objekt zurück
java.lang.Object findAttribute(java.lang.String name)
Sucht nach dem benannten Attribut in Seite, Anfrage, Sitzung (falls gültig) und Anwendungsbereich(en) der Reihe nach und gibt den zugehörigen Wert oder null zurück.
当要查找某个属性时,findAttribute方法按照查找顺序"page→request→session→application"在这四个对象中去查找,只要找到了就返回属性值,如果四个对象都没有找到要查找的属性,则返回一个null。
范例:使用pageContext的findAttribute方法查找属性值
pageContext的findAttribute方法查找属性值 pageContext.findAttribute方法查找到的属性值: pageContext对象的name1属性: request对象的name2属性: session对象的name3属性: application对象的name4属性: 查找不存在的name5属性: 使用EL表达式进行输出: pageContext对象的name1属性:${name1} request对象的name2属性:${name2} session对象的name3属性:${name3} application对象的name4属性:${name4} 不存在的name5属性:${name5}
运行结果:
EL表达式语句在执行时,会调用pageContext.findAttribute方法,用标识符为关键字,分别从page、request、 session、application四个域中查找相应的对象,找到则返回相应对象,找不到则返回”” (注意,不是null,而是空字符串)。
pageContext对象中封装了访问其它域的方法
java.lang.Object getAttribute(java.lang.String name, setAttribute(java.lang.String name, java.lang.Object value, removeAttribute(java.lang.String name, scope)
代表各个域的常量
PageContext.PAGE_SCOPE
范例:pageContext访问其它域
pageContext访问其它域 取出存放在session对象中的属性值: 第一种做法:使用pageContext.getAttribute("attributeName",PageContext.SESSION_SCOPE);去取出session对象中值 姓名: 第二种做法:使用session.getAttribute("attributeName");去取出session对象中值 姓名:
3.7、PageContext引入和跳转到其他资源
PageContext类中定义了一个forward方法(用来跳转页面)和两个include方法(用来引入页面)来分别简化和替代RequestDispatcher.forward方法和include方法。
方法接收的资源如果以“/”开头, “/”代表当前web应用。
范例:使用pageContext的forward方法跳转到其他页面
使用pageContext的forward方法跳转页面
运行结果如下:
1 pageContext.forward("/pageContextDemo05.jsp");
这种写法是用来简化和替代pageContext.getRequest().getRequestDispatcher("/pageContextDemo05.jsp").forward(request, response);这种写法的。在实际开发中,使用pageContext.forward(relativeUrlPath)方法跳转页面用得不多,主要是因为要在Jsp页面中嵌套java代码,所以这种做法简单了解一下即可,在开发中,要想从一个Jsp页面采用服务器端跳转的方式跳转到另一个Jsp页面,那么一般会使用
范例:使用pageContext的include方法引入资源
使用pageContext的include方法引入资源
运行结果:
在实际开发中,使用pageContext的include方法引入页面这种做法也很少用,一般都使用jsp:include标签引入资源,因此这种做法了解一下即可。
相关推荐:
Das obige ist der detaillierte Inhalt vonIntegrierte JSP-Objekte: Verwendung von pageContext-Bereichsobjekten. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Leitfaden zur Smith-Zahl in Java. Hier besprechen wir die Definition: Wie überprüft man die Smith-Nummer in Java? Beispiel mit Code-Implementierung.

In diesem Artikel haben wir die am häufigsten gestellten Fragen zu Java Spring-Interviews mit ihren detaillierten Antworten zusammengestellt. Damit Sie das Interview knacken können.

Java 8 führt die Stream -API ein und bietet eine leistungsstarke und ausdrucksstarke Möglichkeit, Datensammlungen zu verarbeiten. Eine häufige Frage bei der Verwendung von Stream lautet jedoch: Wie kann man von einem Foreach -Betrieb brechen oder zurückkehren? Herkömmliche Schleifen ermöglichen eine frühzeitige Unterbrechung oder Rückkehr, aber die Stream's foreach -Methode unterstützt diese Methode nicht direkt. In diesem Artikel werden die Gründe erläutert und alternative Methoden zur Implementierung vorzeitiger Beendigung in Strahlverarbeitungssystemen erforscht. Weitere Lektüre: Java Stream API -Verbesserungen Stream foreach verstehen Die Foreach -Methode ist ein Terminalbetrieb, der einen Vorgang für jedes Element im Stream ausführt. Seine Designabsicht ist

Anleitung zum TimeStamp to Date in Java. Hier diskutieren wir auch die Einführung und wie man Zeitstempel in Java in ein Datum konvertiert, zusammen mit Beispielen.

Kapseln sind dreidimensionale geometrische Figuren, die aus einem Zylinder und einer Hemisphäre an beiden Enden bestehen. Das Volumen der Kapsel kann berechnet werden, indem das Volumen des Zylinders und das Volumen der Hemisphäre an beiden Enden hinzugefügt werden. In diesem Tutorial wird erörtert, wie das Volumen einer bestimmten Kapsel in Java mit verschiedenen Methoden berechnet wird. Kapselvolumenformel Die Formel für das Kapselvolumen lautet wie folgt: Kapselvolumen = zylindrisches Volumenvolumen Zwei Hemisphäre Volumen In, R: Der Radius der Hemisphäre. H: Die Höhe des Zylinders (ohne die Hemisphäre). Beispiel 1 eingeben Radius = 5 Einheiten Höhe = 10 Einheiten Ausgabe Volumen = 1570,8 Kubikeinheiten erklären Berechnen Sie das Volumen mithilfe der Formel: Volumen = π × R2 × H (4

PHP und Python haben jeweils ihre eigenen Vorteile, und die Wahl sollte auf Projektanforderungen beruhen. 1.PHP eignet sich für die Webentwicklung mit einfacher Syntax und hoher Ausführungseffizienz. 2. Python eignet sich für Datenwissenschaft und maschinelles Lernen mit präziser Syntax und reichhaltigen Bibliotheken.

PHP ist eine Skriptsprache, die auf der Serverseite weit verbreitet ist und insbesondere für die Webentwicklung geeignet ist. 1.PHP kann HTML einbetten, HTTP -Anforderungen und Antworten verarbeiten und eine Vielzahl von Datenbanken unterstützt. 2.PHP wird verwendet, um dynamische Webinhalte, Prozessformdaten, Zugriffsdatenbanken usw. mit starker Community -Unterstützung und Open -Source -Ressourcen zu generieren. 3. PHP ist eine interpretierte Sprache, und der Ausführungsprozess umfasst lexikalische Analyse, grammatikalische Analyse, Zusammenstellung und Ausführung. 4.PHP kann mit MySQL für erweiterte Anwendungen wie Benutzerregistrierungssysteme kombiniert werden. 5. Beim Debuggen von PHP können Sie Funktionen wie error_reporting () und var_dump () verwenden. 6. Optimieren Sie den PHP-Code, um Caching-Mechanismen zu verwenden, Datenbankabfragen zu optimieren und integrierte Funktionen zu verwenden. 7

Java ist eine beliebte Programmiersprache, die sowohl von Anfängern als auch von erfahrenen Entwicklern erlernt werden kann. Dieses Tutorial beginnt mit grundlegenden Konzepten und geht dann weiter zu fortgeschrittenen Themen. Nach der Installation des Java Development Kit können Sie das Programmieren üben, indem Sie ein einfaches „Hello, World!“-Programm erstellen. Nachdem Sie den Code verstanden haben, verwenden Sie die Eingabeaufforderung, um das Programm zu kompilieren und auszuführen. Auf der Konsole wird „Hello, World!“ ausgegeben. Mit dem Erlernen von Java beginnt Ihre Programmierreise, und wenn Sie Ihre Kenntnisse vertiefen, können Sie komplexere Anwendungen erstellen.
