Objekte auf einer JSP-Seite, einschließlich vom Benutzer erstellter Objekte (z. B. JavaBean-Objekte) und impliziter JSP-Objekte, verfügen über ein Bereichsattribut. Der Scope legt fest, innerhalb welcher Zeit und auf welcher JSP-Seite auf diese Objekte zugegriffen werden kann. Beispielsweise kann während der Sitzung auf mehreren Seiten auf das Sitzungsobjekt zugegriffen werden. Auf das Anwendungsobjekt kann während des gesamten Lebenszyklus der Webanwendung zugegriffen werden. In JSP gibt es vier Arten von Bereichen, wie unten gezeigt.
·Seitenbereich
Objekte mit Seitenbereich sind an das javax.servlet.jsp.PageContext-Objekt gebunden. Auf Objekte innerhalb dieses Bereichs kann nur auf der Seite zugegriffen werden, auf der das Objekt erstellt wurde. Sie können die getAttribute()-Methode des impliziten Objekts pageContext aufrufen, um auf Objekte mit diesem Bereichstyp zuzugreifen (das pageContext-Objekt stellt auch getAttribute-Methoden für den Zugriff auf andere Bereichsobjekte bereit. Das pageContext-Objekt selbst gehört ebenfalls zum Seitenbereich. Wenn die Methode _jspService() der Servlet-Klasse ausgeführt wird, wird der Verweis auf das Objekt, das zum Seitenbereich gehört, verworfen. Objekte im Seitenbereich werden jedes Mal erstellt, wenn der Client eine JSP-Seite anfordert, und gelöscht, nachdem die Seite eine Antwort an den Client zurückgesendet oder die Anforderung an andere Ressourcen weitergeleitet wurde.
·Umfang anfordern
Objekte mit Anforderungsbereich sind an das javax.servlet.ServletRequest-Objekt gebunden. Sie können die Methode getAttribute() des impliziten Anforderungsobjekts aufrufen, um auf Objekte mit diesem Bereichstyp zuzugreifen. Auf Objekte in diesem Bereich kann auf der umgeleiteten Seite durch Aufrufen der Methode „forward()“ oder auf der Seite zugegriffen werden, indem die Methode „include()“ aufgerufen wird. Es ist zu beachten, dass Objekte in diesem Bereich für jede neue Anforderung neu erstellt und gelöscht werden müssen, da das Anforderungsobjekt für jede Clientanforderung unterschiedlich ist.
·Sitzungsumfang
Objekte mit Sitzungsbereich sind an das javax.servlet.http.HttpSession-Objekt gebunden. Sie können die Methode getAttribute() des impliziten Sitzungsobjekts aufrufen, um auf Objekte mit diesem Bereichstyp zuzugreifen. Der JSP-Container erstellt für jede Sitzung ein HttpSession-Objekt. Während der Sitzung kann auf Objekte innerhalb des Sitzungsbereichs zugegriffen werden.
·Anwendungsbereich
Objekte mit Anwendungsbereich sind an javax.servlet.ServletContext gebunden. Sie können die Methode getAttribute() des impliziten Anwendungsobjekts aufrufen, um auf Objekte mit diesem Bereichstyp zuzugreifen. Während die Webanwendung ausgeführt wird, können alle Seiten auf Objekte in diesem Bereich zugreifen.