17.7 Implizite Objekte
 
Der Programmcode der Scriptlets wird in die service()-Methode eines Servlets gestellt. Dort haben wir Zugriff auf die Objekte HttpServletRequest und HttpServletResponse. Die JSP-Spezifikation stellt nun einige Variablen bereit, die wir sofort nutzen können.
Implizites Objekt
|
Benutzt, um ...
|
Typ
|
request
|
Anfragen zu verarbeiten und Eingabewerte wie Parameter zu lesen
|
HttpServletRequest
|
response
|
Header zu schreiben
|
HttpServletResponse
|
out
|
in den Ausgabestrom zu schreiben
|
JspWriter
|
application
|
Daten aller Anwendungen zu speichern
|
ServletContext
|
session
|
Sitzungsinformationen zu speichern
|
HttpSession
|
pageContext
|
Kontextdaten für eine Seite speichern
|
PageContext
|
page
|
ein Exemplar des Servlets ansprechen
|
Object (this)
|
Wenn wir programmtechnisch eine Ausgabe machen, schreiben wir:
<% out.println( "Guter Sound, Liz" ); %>
Wollen wir testen, ob ein Parameter vom Benutzer eingetragen ist, schreiben wir:
Listing 17.6
ParamDa.jsp
<%
String name = null;
if ( (name=request.getParameter("param")) == null)
{
%>
Hoppla. Der Parameter fehlt ja.
<%
}
else
{
%>
Schön, der Parameter "<%= name %>" ist da.
<%
}
%>
Rufen wir das Skript http://localhost:8080/jsp/ParamDa.jsp ohne Parameter auf, dann gibt es die benutzerdefinierte Ausgabe: »Hoppla. Der Parameter fehlt ja.«.
Füllen wir den Parameter, dann gibt es keine Fehlermeldung:
http://localhost:8080/jsp/ParamDa.jsp?param=IstDa
Natürlich können wir jetzt auch gleich das out-Objekt zur Ausgabe einsetzen. Doch dies hat dann wieder den Nachteil, dass die Visualisierung nicht vom Programmcode getrennt ist. Und das war ja keine gute Idee gewesen.
Zusätzlich zu den aufgeführten Variablen können wir noch die Variablen nutzen, die im Deklarationsteil aufgeführt sind, oder für die eine Bean definiert wurde. Dazu später ein Beispiel.
|