Professionelle Bücher. Auch für Einsteiger.

Inhaltsverzeichnis
1 Einleitung
2 Webbrowser
3 JavaScript einbauen
4 Programmieren mit JavaScript
5 Datum
6 Zufall
7 Browserinformationen
8 Fenster
9 Formulare
10 Frames und Iframes
11 Grafiken
12 Cookies
13 Objekte und Arrays
14 Ereignisbehandlung
15 Fehlerbehandlung
16 DOM
17 DHTML und CSS
18 AJAX
19 XML
20 Web Services
21 AJAX-Frameworks
22 Plugins
23 Multimedia
24 Java
25 Serverseitige Technologien
26 JavaScript goes .NET
27 Code schützen
28 Top Secret: Passwortschutz
29 Signierte Skripte
30 JavaScript und Sicherheit
31 Navigation
32 Warenkorb
33 JavaScript-Bibliotheken
34 Referenz
35 Quellen im Web
36 Die Zukunft von JavaScript
Index
Download: - ZIP, ca. 9,2 MB
Buch bestellen
Ihre Meinung?
<< zurück | Galileo Computing / <openbook> / JavaScript und AJAX | vor >>
JavaScript und AJAX von Christian Wenz Das umfassende Handbuch
JavaScript und AJAX 839 S., mit DVD, 39,90 Euro Galileo Computing ISBN 3-89842-859-1 |
| Kapitel 25 Serverseitige Technologien
|  | 25.1 Variablentausch
|  | 25.2 Anwendungen
|  |  | 25.2.1 Newsticker
|  |  | 25.2.2 Bankleitzahlen
Von einem gewissen Alter ab tut auch die Freude weh. – Charlie Chaplin # Kapitel 25 Serverseitige Technologien Früher bestand das World Wide Web aus lauter statischen Webseiten, und wer etwas auf sich hielt, eignete sich JavaScript an und stach dadurch aus der Masse hervor. Mittlerweile ist JavaScript so weit verbreitet, dass einige Seiten gar nicht mehr ohne die clientseitige Skriptsprache auskommen. Wer aber heutzutage »in« sein will, muss einen Schritt weiter gehen und serverseitige Mittel einsetzen. Serverseitige Skriptsprachen laufen – wie der Name schon sagt – auf dem Webserver ab. Es handelt sich also, vereinfacht gesagt, um Programme, die HTML-Dateien ausgeben. In den vorangegangenen Kapiteln dieses Buches wurden bereits immer wieder mal einige der Vor- und Nachteile von serverseitigen Technologien im Vergleich zu clientseitigen Technologien erläutert. Serverseitige Skriptsprachen sind meist ungleich mächtiger, da sie unter anderem auf das Dateisystem des Servers und auf Datenbanken zugreifen können. Clientseitige Skriptsprachen dagegen erfordern keine Verbindung zu einem Server und sind dadurch – beispielsweise in Hinblick auf die Formularüberprüfung – deutlich leistungsfähiger. In diesem Kapitel werden einige Beispiele für die Interaktion von server- und clientseitigen Techniken gezeigt. Dazu war es leider notwendig, bei der Serverseite Einschränkungen vorzunehmen. Es gibt eine Reihe von serverseitigen Skriptsprachen und -technologien: ASP(.NET), JSP, Perl, PHP und Python, um nur einige zu nennen. Es ist nicht möglich, all diese Technologien gleichzeitig zu berücksichtigen. Dennoch versuche ich, jeweils mehrere Technologien vorzustellen, um immer eine Alternative bieten zu können. Der weltweit am häufigsten eingesetzte Webserver, der Apache Webserver (für viele Betriebssysteme und auch im Quellcode erhältlich unter http://httpd.apache.org/), unterstützt eine Reihe von Skriptsprachen, darunter auch Perl und PHP. Perl war lange Zeit der »Marktführer«, was auch an der Integration der Skriptsprache in die Betriebssysteme UNIX und Linux und an der damit verbundenen riesigen Verbreitung lag. Mitt-lerweile liefern die neueren Linux-Distributionen ebenfalls noch den PHP-Sprachinterpreter mit, so dass diese neuere Skriptsprache langsam, aber sicher aufholt. Wir haben uns dafür entschieden, hier PHP den Vorzug zu geben, denn diese Sprache ist – einmal installiert – unserer Meinung nach leichter zu erlernen und hat für den Anfänger weniger Frustpotenzial als Perl. Die insbesondere im Entwicklerbereich verbreitete Windows-Plattform soll auch bedient werden. Hier ist die Microsoft-Technologie ASP.NET – der Nachfolger von ASP, Active Server Pages – verbreitet, da sie direkt in den Webserver integriert ist. Bei ASP handelt es sich um keine Programmiersprache, sondern um eine Technologie. Die Programmierung selbst muss in einer Skriptsprache erfolgen, wobei im Lieferumfang Visual Basic, C# und JScript.NET (siehe Kapitel 26) enthalten sind. Auch wenn dies hier ein JavaScript-Buch ist, wird im Folgenden dennoch Visual Basic eingesetzt. JScript wird im folgenden Kapitel behandelt. ## 25.1 Variablentausch Was passiert, wenn ein Browser von einem Webserver ein serverseitiges Skript anfordert? In der Regel werden die folgenden Schritte durchgeführt:
| Der Browser schickt die Anforderung an den Webserver.
| Der Webserver erhält die Anforderung.
| Der Webserver stellt aufgrund der Dateiendung fest, dass es sich um ein serverseitiges Skript handelt.
| Der Webserver veranlasst, dass das serverseitige Skript ausgeführt wird (beispielsweise, indem der Sprachinterpreter aufgerufen und die (HTML-)Ausgabe abgefangen wird).
| Der Webserver schickt das Ergebnis (in der Regel HTML-Code) des serverseitigen Skripts an den Browser.
| Der Browser empfängt die Daten und interpretiert sie (zeigt sie an).
Die serverseitigen Bestandteile der Seite werden also komplett auf dem Server interpretiert. JavaScript-Code wird erst im Browser betrachtet. Daraus folgt, dass der serverseitige Code keinen Zugriff auf JavaScript-Variablen hat. Falls eine Art Variablenaustausch stattfinden soll, kann dieser nur in eine Richtung erfolgen: JavaScript kann auf serverseitige Variablen zugreifen. Ganz korrekt ist das immer noch nicht. Der JavaScript-Interpreter kann nicht direkt auf serverseitige Variablen zugreifen, aber serverseitige Variablen können JavaScript-Variablen zugewiesen werden. Betrachten wir zunächst ein Beispiel in PHP. In dieser Sprache werden Variablen durch ein vorangestelltes Dollarzeichen markiert. Unser Ziel ist es nun, auf die Variable $variable von JavaScript aus zuzugreifen. Das geht folgendermaßen:
| Zunächst einmal muss die Variable im PHP-Teil deklariert und mit einem Wert belegt werden. PHP-Teile in HTML-Dokumenten werden durch <?php und ?> eingefasst. Im Webbrowser sieht man davon wie gesagt nichts mehr, da diese Bestandteile auf dem Server interpretiert und ausgeführt werden.
| Dann muss ein JavaScript-Teil eingebaut werden. In diesem JavaScript-Teil wird eine JavaScript-Variable definiert. Als Wert wird ihr der Wert von $variable zugewiesen.
Hier klicken, um das Bild zu Vergrößern Abbildung 25.1 Die PHP-Variable wird per JavaScript ausgegeben. Hier ein exemplarisches Listing:
    <?php
       $variable = 'PHP'; //PHP-Variable wird gesetzt
    ?>
    <html>
    <head>
    <title>Variablentausch</title>
    </head>
    <body>
    Wert der Variablen:
    <script type="text/javascript"><!--
    var v = "<?php echo $variable; ?>";
    document.write(v);
    //--></script>
    </body>
    </html>
Was passiert nun, wenn dieses Skript auf dem Server interpretiert wird? Nun, die <?php...?>-Abschnitte werden interpretiert und sind im Browser nicht mehr sichtbar. Der Variablen $variable wird der Wert "PHP" zugewiesen. Die Anweisung echo $variable; führt dazu, dass PHP ausgegeben wird. Am Ende wird also folgendes HTML-Dokument an den Browser geschickt:
    <html>
    <head>
    <title>Variablentausch</title>
    </head>
    <body>
    Wert der Variablen:
    <script language="JavaScript"><!--
    var v = "PHP";
    document.write(v);
    //--></script>
    </body>
    </html>
Die (JavaScript-)Variable v wird also mit dem Wert "PHP" belegt. Sie sehen jetzt auch, warum in der Datei variable.php das <?php echo $variable; ?> mit Anführungszeichen umgeben worden ist. Wäre das nicht der Fall gewesen, hätte das PHP-Skript folgende HTML-Ausgabe produziert:
    var v = PHP;
Dies hätte natürlich einen Syntaxfehler nach sich gezogen. Dasselbe Beispiel sieht in ASP.NET ganz ähnlich aus. Drei Vorbemerkungen seien angebracht:
| ASP-Code wird durch <% und %> eingeschlossen.
| (Einzeilige) Kommentare werden durch ' gekennzeichnet (entspricht // in JavaScript).
| Variablennamen werden nicht gesondert gekennzeichnet. Allerdings müssen Sie eine Variable vor ihrer Verwendung mit Dim deklarieren (entspricht var in JavaScript).
Damit ist nun folgender Code verständlich:
    <%
       Dim variable
       variable = "ASP.NET"  ' ASP.NET-Variable wird gesetzt
    %>
    <html>
    <head>
    <title>Variablentausch</title>
    </head>
    <body>
    Wert der Variablen:
    <script type="text/javascript"><!--
    var v = "<% Response.Write(variable) %>";
    document.write(v);
    //--></script>
    </body>
    </html>
Durch Response.Write(Variablenname) wird der Wert der angegebenen Variablen ausgegeben. Obiges Skript führt also zu folgender HTML-Ausgabe:
    <html>
    <head>
    <title>Variablentausch</title>
    </head>
    <body>
    Wert der Variablen:
    <script language="JavaScript"><!--
    var v = "ASP.NET";
    document.write(v);
    //--></script>
    </body>
    </html>
Auch hier gilt wieder: Ohne die Anführungszeichen um das Ausgabekommando würde es zu einer (JavaScript-)Syntaxfehlermeldung kommen. In ASP.NET gibt es eine Kurzform für die Variablenausgabe: <% =Variablenname %> entspricht <% Response.Write(Variablenname) %>. Damit haben Sie auch schon das Grundrüstzeug erhalten, um serverseitige und clientseitige Skriptsprachen zusammenarbeiten zu lassen. Im nächsten Abschnitt finden Sie einige Beispiele hierfür.
<< zurück | <top> | vor >>
Zum Katalog
JavaScript und AJAX bestellen
Ihre Meinung?
Wie hat Ihnen das <openbook> gefallen? Ihre Meinung
Buchtipps
| JavaScript und AJAX - Das Video-Training
| Webseiten programmieren und gestalten
| XHTML, HTML und CSS
| CSS-Praxis
| AJAX
| PHP 5 und MySQL 5
| TYPO3 4.0
Shopping
Versandkostenfrei bestellen in Deutschland und Österreich Info

Copyright © Galileo Press 2007
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das <openbook> denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.

[Galileo Computing]
Galileo Press, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, info@galileo-press.de