Weitere vordefinierte Objekte
Die folgenden drei Objekte sind ebenfalls in der JSP Seite ohne weiteres verfügbar. Da sie im Allgemeinen nicht so wichtig sind wie request, response und session werde ich hier nur kurz ihre Funktion umreißen:
Das Objekt application ist vom Typ javax.servlet.ServletContext und repräsentiert den Server und seine Konfiguration. In den Konfigurationsdateien CATALINA_HOME/conf/server.xml und CATALINA_HOME/conf/web.xml können Werte definiert werden, die Sie über dieses Objekt auslesen können. Sie können wie bei der Session Attribute zu diesem Objekt hinzufügen, auslesen oder entfernen (application.setAttribute(name,object), application.getAttribute(name), application.removeAttribute(name)). Diese Attribute stehen auf allen Seiten zur Verfügung und bleiben solange erhalten, wie der Server läuft, d.h. verschwinden bei einem Neustart des Servers.
Das Objekt config ist vom Typ javax.servlet.ServletConfig. Mit seiner Hilfe ist es möglich, Konfigurationsparameter auszulesen, die speziell für eine JSP oder ein Servlet definiert sind. Die Definition erfolgt in der web.xml. Das Objekt wird in JSP selten benutzt, sie brauchen es aber häufig in Servlets.
Das Objekt pageContext ist von Typ javax.servlet.jsp.PageContext und ist ein Komfortobjekt, das Zugriff auf alle anderen Objekte bietet.
Das Objekt page repräsentiert die aktuelle Instanz der JSP, die gerade läuft, also etwas, was die Programmiersprachen mit this oder self bezeichnen. Das Objekt bietet Zugriff auf alle anderen Objekte, allerdings stehen die in der JSP ohnehin zur Verfügung. Sie können auch mit Attributen auf dem Page Scope arbeiten, wenn Sie Objekte nutzen wollen, die den sehr begrenzten Scope nur dieser Seite haben.
Sie können auf fast allen dieser vordefinierten Objekten der JSP Attribute anlegen oder doch wenigstens auslesen. Je nachdem, auf welchem Objekt ein solches Attribut definiert ist, spricht man auch vom Scope (Geltungsbereich) eines Attributes. Ein Attribut ist immer nur in dem Scope sichtbar, in dem es definiert wurde. Es ist nicht in einem vermeintlich übergeordnetem Scope sichtbar.
Tipp:
Lösen Sie nun die Aufgabe Votintool.jsp