10. Anhänge – Webentwicklungs-Tools
Hier zeigen wir auf, wo man kostenlose Tools für die Webentwicklung in Java, PHP, ASP und ASP.NET finden und wie man sie installieren kann. Einige Tools wurden aktualisiert, und die hier bereitgestellten Anweisungen gelten möglicherweise nicht mehr für die neuesten Versionen. Leser müssen diese entsprechend anpassen... :
- einen aktuellen Browser, der XML anzeigen kann. Die Beispiele in diesem Kurs wurden mit Internet Explorer 6 getestet.
- Ein aktuelles JDK (Java Development Kit). Das JDK enthält das Java 1.4-Browser-Plugin, mit dem Browser Java-Applets unter Verwendung des JDK 1.4 anzeigen können.
- Eine Java-Entwicklungsumgebung zum Schreiben von Java-Servlets. Hier verwenden wir JBuilder 7.
- Webserver: Apache, PWS (Personal Web Server, Cassini), Tomcat.
- Apache kann zur Entwicklung von Webanwendungen in PERL (Practical Extracting and Reporting Language) oder PHP (Personal Home Page) verwendet werden.
- PWS kann zur Entwicklung von Webanwendungen in ASP (Active Server Pages) oder PHP auf Windows-Plattformen verwendet werden. Cassini unterstützt die Entwicklung in ASP.NET.
- Tomcat wird für die Entwicklung von Webanwendungen mit Java-Servlets oder JSP (Java Server Pages) verwendet
- Ein Datenbankmanagementsystem: MySQL
- EasyPHP: ein Tool, das den Apache-Webserver, die Sprache PHP und das DBMS MySQL bündelt
10.1. Webserver, Browser, Skriptsprachen
- Wichtige Webserver
- Apache (Linux, Windows)
- Internet Information Server (IIS) (NT), Personal Web Server (PWS) (Windows 9x), Cassini (.NET-Plattformen)
- Wichtige Browser
- Internet Explorer (Windows)
- Netscape (Linux, Windows)
- Mozilla (Linux, Windows)
- Opera (Linux, Windows)
- Serverseitige Skriptsprachen
- VBScript (IIS, PWS)
- JavaScript (IIS, PWS)
- Perl (Apache, IIS, PWS)
- PHP (Apache, IIS, PWS)
- Java (Apache, Tomcat)
- .NET-Sprachen
- Browserseitige Skriptsprachen
- VBScript (IE)
- JavaScript (IE, Netscape)
- PerlScript (IE)
- Java (IE, Netscape)
10.2. Wo Sie die Tools finden
http://www.netscape.com/ (Download-Link) | |
http://www.microsoft.com/windows/ie/default.asp | |
http://www.mozilla.org | |
http://www.php.net | |
http://www.activestate.com | |
http://msdn.microsoft.com/scripting (folgen Sie dem Link zu Windows Script) | |
http://java.sun.com/ | |
http://www.apache.org/ | |
im NT 4.0 Option Pack für Windows 95 enthalten auf der Windows 98-CD enthalten http://www.microsoft.com/ntserver/nts/downloads/recommended/NT4OptPk/win95.asp | |
http://www.microsoft.com | |
http://jakarta.apache.org/tomcat/ | |
http://www.borland.com/jbuilder/ | |
http://www.easyphp.org/ | |
http://www.asp.net |
10.3. EasyPHP
Diese Anwendung ist sehr praktisch, da sie Folgendes in einem einzigen Paket enthält:
- den Apache-Webserver
- einen PHP-Interpreter
- das MySQL-DBMS (3.23.x)
- ein MySQL-Verwaltungstool: PhpMyAdmin
Die Installationsanwendung sieht wie folgt aus:

Die Installation von EasyPHP ist unkompliziert, und es wird eine Verzeichnisstruktur im Dateisystem erstellt:

die ausführbare Datei der Anwendung | |
die Verzeichnisstruktur des Apache-Servers | |
das MySQL-Datenbankverzeichnis | |
die Verzeichnisstruktur der phpMyAdmin-Anwendung | |
die Verzeichnisstruktur von PHP | |
Stammverzeichnis des Verzeichnisbaums für Webseiten, die vom EasyPHP-Apache-Server bereitgestellt werden | |
Verzeichnis, in dem Sie CGI-Skripte für den Apache-Server ablegen können |
Der Hauptvorteil von EasyPHP besteht darin, dass die Anwendung vorkonfiguriert ist. Somit sind Apache, PHP und MySQL bereits für die Zusammenarbeit konfiguriert. Wenn Sie EasyPHP über die Verknüpfung im Menü „Programme“ starten, erscheint ein Symbol in der unteren rechten Ecke des Bildschirms.
![]() |
Das „E“ mit dem roten Punkt sollte blinken, wenn der Apache-Webserver und die MySQL-Datenbank aktiv sind. Ein Rechtsklick darauf öffnet ein Menü mit den folgenden Optionen:

Über die Option „Administration“ können Sie Einstellungen konfigurieren und Funktionstests durchführen:

10.3.1. Konfiguration des PHP-Interpreters
Über die Schaltfläche „PHP-Info“ sollten Sie überprüfen können, ob die Kombination aus Apache und PHP ordnungsgemäß funktioniert: Es sollte eine PHP-Informationsseite erscheinen:

Die Schaltfläche „Erweiterungen“ zeigt eine Liste der installierten PHP-Erweiterungen an. Dabei handelt es sich eigentlich um Funktionsbibliotheken.

Der obige Bildschirm zeigt beispielsweise, dass die für die Nutzung der MySQL-Datenbank erforderlichen Funktionen vorhanden sind.
Die Schaltfläche „Einstellungen“ zeigt den Benutzernamen und das Passwort für den MySQL-Datenbankadministrator an.

Die Verwendung der MySQL-Datenbank würde den Rahmen dieser kurzen Übersicht sprengen, aber es ist hier deutlich, dass für den Datenbankadministrator ein Passwort festgelegt werden sollte.
10.3.2. Apache-Verwaltung
Ebenfalls auf der EasyPHP-Verwaltungsseite können Sie über den Link „Ihre Aliase“ Aliase definieren, die einem Verzeichnis zugeordnet sind. So können Sie Webseiten außerhalb des www-Verzeichnisses in der EasyPHP-Verzeichnisstruktur ablegen.

Wenn Sie auf der oben gezeigten Seite die folgenden Informationen eingeben:

und auf die Schaltfläche „Validate“ klicken, werden die folgenden Zeilen zur Datei <easyphp>\apache\conf\httpd.conf hinzugefügt:
Alias /st/ "e:/data/serge/web/"
<Directory "e:/data/serge/web">
Options FollowSymLinks Indexes
AllowOverride None
Order deny,allow
allow from 127.0.0.1
deny from all
</Directory>
<easyphp> bezieht sich auf das Installationsverzeichnis von EasyPHP. httpd.conf ist die Konfigurationsdatei des Apache-Servers. Sie können daher dasselbe Ergebnis erzielen, indem Sie diese Datei direkt bearbeiten. Änderungen an der Datei httpd.conf werden normalerweise sofort von Apache übernommen. Ist dies nicht der Fall, müssen Sie den Server über das EasyPHP-Symbol anhalten und neu starten:

Um unser Beispiel abzuschließen, können wir nun Webseiten im Verzeichnisbaum e:\data\serge\web ablegen:
und diese Seite über den Alias st aufrufen:

In diesem Beispiel wurde der Apache-Server so konfiguriert, dass er auf Port 81 läuft. Sein Standardport ist 80. Dies wird durch die folgende Zeile in der Datei httpd.conf gesteuert, die wir bereits gesehen haben:
10.3.3. Die Apache-Konfigurationsdatei [htpd.conf]
Wenn Sie Apache feinabstimmen möchten, müssen Sie die Konfigurationsdatei httpd.conf manuell bearbeiten, die sich hier im Ordner <easyphp>\apache\conf befindet:

Hier sind einige wichtige Punkte, die Sie in dieser Konfigurationsdatei beachten sollten:
| Funktion |
gibt den Ordner an, der den Apache-Verzeichnisbaum enthält | |
gibt an, welchen Port der Webserver verwenden soll. In der Regel ist dies 80. Durch Ändern dieser Zeile können Sie den Webserver auf einem anderen Port laufen lassen | |
die E-Mail-Adresse des Apache-Serveradministrators | |
der Name des Rechners, auf dem der Apache-Server läuft | |
das Installationsverzeichnis des Apache-Servers. Wenn relative Dateinamen in der Konfigurationsdatei vorkommen, beziehen sie sich auf dieses Verzeichnis. | |
das Stammverzeichnis der vom Server bereitgestellten Webseiten. Hier entspricht die URL http://machine/rep1/fic1.html der Datei E:\Program Files\EasyPHP\www\rep1\fic1.html | |
legt die Eigenschaften des vorherigen Ordners fest | |
Log-Ordner, also effektiv <ServerRoot>\logs\error.log: E:\Program Files\EasyPHP\apache\logs\error.log. Dies ist die Datei, die Sie überprüfen sollten, wenn Sie feststellen, dass der Apache-Server nicht funktioniert. | |
E:\Program Files\EasyPHP\cgi-bin ist das Stammverzeichnis des Verzeichnisbaums, in dem Sie CGI-Skripte ablegen können. Somit ist die URL http://machine/cgi-bin/rep1/script1.pl die URL für das CGI-Skript E:\Program Files\EasyPHP\cgi-bin\rep1\script1.pl. | |
legt die Eigenschaften des oben genannten Ordners fest | |
Zeilen zum Laden der Module, die es Apache ermöglichen, mit PHP4 zu arbeiten. | |
legt die Dateiendungen fest, die als PHP-Dateien behandelt werden sollen |
10.3.4. MySQL-Verwaltung mit PhpMyAdmin
Klicken Sie auf der EasyPHP-Verwaltungsseite auf die Schaltfläche „PhpMyAdmin“:

Die Dropdown-Liste unter „Home“ zeigt die aktuellen Datenbanken an. | ![]() |
Die Zahl in Klammern gibt die Anzahl der Tabellen an. Wenn Sie eine Datenbank auswählen, werden deren Tabellen angezeigt: | ![]() |
Die Webseite bietet eine Reihe von Funktionen für die Datenbank:

Wenn Sie auf den Link „Benutzer anzeigen“ klicken:

Hier gibt es nur einen Benutzer: „root“, der MySQL-Administrator. Über den Link „Bearbeiten“ können Sie dessen Passwort ändern, das derzeit leer ist – eine Vorgehensweise, die für einen Administrator nicht empfohlen wird. Wir werden nicht näher auf PhpMyAdmin eingehen, da es sich um ein funktionsreiches Tool handelt, dessen vollständige Erläuterung mehrere Seiten in Anspruch nehmen würde.
10.4. PHP
Wir haben gesehen, wie man PHP über die EasyPHP-Anwendung erhält. Um PHP direkt zu beziehen, rufen Sie die Website http://www.php.net auf. PHP ist nicht auf die Webnutzung beschränkt. Es kann unter Windows als Skriptsprache verwendet werden. Erstellen Sie das folgende Skript und speichern Sie es als date.php:
<?
// script php affichant l'heure
$maintenant=date("j/m/y, H:i:s",time());
echo "Nous sommes le $maintenant";
?>
Wechseln Sie in einem DOS-Fenster in das Verzeichnis, das [date.php] enthält, und führen Sie die Datei aus:
dos>"e:\program files\easyphp\php\php.exe" date.php
X-Powered-By: PHP/4.2.0
Content-type: text/html
Nous sommes le 18/07/02, 09:31:01
10.5. PERL
Am besten ist es, wenn Internet Explorer bereits installiert ist. Ist dies der Fall, konfiguriert Active Perl den Browser so, dass er PERL-Skripte in HTML-Seiten akzeptiert, die dann vom IE selbst auf der Client-Seite ausgeführt werden. Die Active-Perl-Website finden Sie unter der URL http://www.activestate.comA. Bei der Installation wird PERL in einem Verzeichnis installiert, das wir <perl> nennen. Es enthält die folgende Verzeichnisstruktur:
DEISL1 ISU 32 403 23/06/00 17:16 DeIsL1.isu
BIN <REP> 23/06/00 17:15 bin
LIB <REP> 23/06/00 17:15 lib
HTML <REP> 23/06/00 17:15 html
EG <REP> 23/06/00 17:15 eg
SITE <REP> 23/06/00 17:15 site
HTMLHELP <REP> 28/06/00 18:37 htmlhelp
Die ausführbare Datei perl.exe befindet sich in <perl>\bin. Perl ist eine Skriptsprache, die unter Windows und Unix läuft. Sie wird auch in der Webprogrammierung verwendet. Schreiben wir unser erstes Skript:
# script PERL affichant l'heure
# modules
use strict;
# programme
my ($secondes,$minutes,$heure)=localtime(time);
print "Il est $heure:$minutes:$secondes\n";
Speichern Sie dieses Skript in einer Datei namens heure.pl. Öffnen Sie ein DOS-Fenster, wechseln Sie in das Verzeichnis, in dem sich das Skript befindet, und führen Sie es aus:
10.6. VBScript, JavaScript, PerlScript
Dies sind Skriptsprachen für Windows. Sie können in verschiedenen Umgebungen ausgeführt werden, wie z. B.
- Windows Scripting Host für die direkte Verwendung in Windows, insbesondere zum Schreiben von Skripten für die Systemadministration
- Internet Explorer. Dort wird es innerhalb von HTML-Seiten verwendet und sorgt für eine Interaktivität, die mit HTML allein nicht erreicht werden kann.
- Internet Information Server (IIS), Microsofts Webserver unter NT/2000, und dessen Äquivalent, Personal Web Server (PWS), unter Win9x. In diesem Fall wird VBScript für die serverseitige Webprogrammierung verwendet, eine von Microsoft als ASP (Active Server Pages) bezeichnete Technologie.
Laden Sie die Installationsdatei von der URL http://msdn.microsoft.com/scripting herunter und folgen Sie den Links zu Windows Script. Folgendes wird installiert:
- der Windows Scripting Host-Container, der verschiedene Skriptsprachen wie VBScript und JavaScript sowie andere wie PerlScript unterstützt, das in Active Perl enthalten ist.
- einen VBScript-Interpreter
- ein JavaScript-Interpreter
Führen wir ein paar kurze Tests durch. Erstellen wir das folgende VBScript-Programm:
' a class
class personne
Dim nom
Dim age
End class
' creation of a person object
Set p1=new personne
With p1
.nom="dupont"
.age=18
End With
' display properties person p1
With p1
wscript.echo "nom=" & .nom
wscript.echo "age=" & .age
End With
Dieses Programm verwendet Objekte. Nennen wir es objects.vbs (die Erweiterung .vbs kennzeichnet eine VBScript-Datei). Wechseln Sie in das Verzeichnis, in dem es sich befindet, und führen Sie es aus:
dos>cscript objets.vbs
Microsoft (R) Windows Script Host Version 5.6
Copyright (C) Microsoft Corporation 1996-2001. All rights reserved.
nom=dupont
age=18
Erstellen wir nun das folgende JavaScript-Programm, das Arrays verwendet:
// tableau dans un variant
// tableau vide
tableau=new Array();
affiche(tableau);
// tableau croît dynamiquement
for(i=0;i<3;i++){
tableau.push(i*10);
}
// affichage tableau
affiche(tableau);
// encore
for(i=3;i<6;i++){
tableau.push(i*10);
}
affiche(tableau);
// tableaux à plusieurs dimensions
WScript.echo("-----------------------------");
tableau2=new Array();
for(i=0;i<3;i++){
tableau2.push(new Array());
for(j=0;j<4;j++){
tableau2[i].push(i*10+j);
}//for j
}// for i
affiche2(tableau2);
// fin
WScript.quit(0);
// ---------------------------------------------------------
function affiche(tableau){
// affichage tableau
for(i=0;i<tableau.length;i++){
WScript.echo("tableau[" + i + "]=" + tableau[i]);
}//for
}//function
// ---------------------------------------------------------
function affiche2(tableau){
// affichage tableau
for(i=0;i<tableau.length;i++){
for(j=0;j<tableau[i].length;j++){
WScript.echo("tableau[" + i + "," + j + "]=" + tableau[i][j]);
}// for j
}//for i
}//function
Dieses Programm verwendet Arrays. Nennen wir es arrays.js (die Endung .js kennzeichnet eine JavaScript-Datei). Wechseln Sie in das Verzeichnis, in dem es sich befindet, und führen Sie es aus:
dos>cscript tableaux.js
Microsoft (R) Windows Script Host Version 5.6
Copyright (C) Microsoft Corporation 1996-2001. Tous droits réservés.
tableau[0]=0
tableau[1]=10
tableau[2]=20
tableau[0]=0
tableau[1]=10
tableau[2]=20
tableau[3]=30
tableau[4]=40
tableau[5]=50
-----------------------------
tableau[0,0]=0
tableau[0,1]=1
tableau[0,2]=2
tableau[0,3]=3
tableau[1,0]=10
tableau[1,1]=11
tableau[1,2]=12
tableau[1,3]=13
tableau[2,0]=20
tableau[2,1]=21
tableau[2,2]=22
tableau[2,3]=23
Zum Abschluss noch ein letztes Beispiel in PerlScript. Um auf PerlScript zugreifen zu können, muss Active Perl installiert sein.
<job id="PERL1">
<script language="PerlScript">
# du Perl classique
%dico=("maurice"=>"juliette","philippe"=>"marianne");
@cles= keys %dico;
for ($i=0;$i<=$#cles;$i++){
$cle=$cles[$i];
$valeur=$dico{$cle};
$WScript->echo ("clé=".$cle.", valeur=".$valeur);
}
# du perlscript utilisant les objets Windows Script
$dico=$WScript->CreateObject("Scripting.Dictionary");
$dico->add("maurice","juliette");
$dico->add("philippe","marianne");
$WScript->echo($dico->item("maurice"));
$WScript->echo($dico->item("philippe"));
</script>
</job>
Dieses Programm demonstriert die Erstellung und Verwendung von zwei Wörterbüchern: eines im klassischen Perl-Stil, das andere unter Verwendung des Windows Script Scripting Dictionary-Objekts. Speichern wir diesen Code in der Datei dico.wsf (wsf ist die Dateiendung für Windows Script-Dateien). Wechseln Sie in den Programmordner und führen Sie es aus:
dos>cscript dico.wsf
Microsoft (R) Windows Script Host Version 5.6
Copyright (C) Microsoft Corporation 1996-2001. Tous droits réservés.
clé=philippe, valeur=marianne
clé=maurice, valeur=juliette
juliette
marianne
PerlScript kann auf Objekte aus dem Container zugreifen, in dem es ausgeführt wird. In diesem Fall handelte es sich um Objekte aus dem Windows Script-Container. Im Kontext der Webprogrammierung können VBScript-, JavaScript- und PerlScript-Skripte entweder im IE-Browser oder auf einem PWS- oder IIS-Server ausgeführt werden. Wenn das Skript etwas komplex ist, kann es sinnvoll sein, es außerhalb des Webkontexts zu testen, und zwar im Windows Script-Container, wie zuvor beschrieben. Auf diese Weise können Sie nur die Funktionen des Skripts testen, die keine browser- oder serverspezifischen Objekte verwenden. Trotz dieser Einschränkung bleibt dieser Ansatz nützlich, da das Debuggen von Skripten, die auf Webservern oder in Browsern laufen, in der Regel recht unpraktisch ist.
10.7. JAVA
Java ist unter der URL http://www.sun.com verfügbar und wird in einer Verzeichnisstruktur namens <java> installiert, die folgende Elemente enthält:
22/05/2002 05:51 <DIR> .
22/05/2002 05:51 <DIR> ..
22/05/2002 05:51 <DIR> bin
22/05/2002 05:51 <DIR> jre
07/02/2002 12:52 8 277 README.txt
07/02/2002 12:52 13 853 LICENSE
07/02/2002 12:52 4 516 COPYRIGHT
07/02/2002 12:52 15 290 readme.html
22/05/2002 05:51 <DIR> lib
22/05/2002 05:51 <DIR> include
22/05/2002 05:51 <DIR> demo
07/02/2002 12:52 10 377 848 src.zip
11/02/2002 12:55 <DIR> docs
Im Verzeichnis „bin“ finden Sie „javac.exe“, den Java-Compiler, und „java.exe“, die Java Virtual Machine. Sie können die folgenden Tests durchführen:
- Schreiben Sie das folgende Skript:
//java program displaying the time
import java.io.*;
import java.util.*;
public class heure{
public static void main(String arg[]){
// retrieve date & time
Date maintenant=new Date();
// we display
System.out.println("Il est "+maintenant.getHours()+
":"+maintenant.getMinutes()+":"+maintenant.getSeconds());
}//hand
}//class
- Speichern Sie dieses Programm als heure.java. Öffnen Sie ein DOS-Fenster. Wechseln Sie in das Verzeichnis, das die Datei heure.java enthält, und kompilieren Sie sie:
dos>c:\jdk1.3\bin\javac heure.java
Note: heure.java uses or overrides a deprecated API.
Note: Recompile with -deprecation for details.
Im obigen Befehl muss [c:\jdk1.3\bin\javac] durch den genauen Pfad zum Compiler javac.exe ersetzt werden. Sie sollten eine Datei namens heure.class im selben Verzeichnis wie heure.java erhalten; dies ist das Programm, das nun von der virtuellen Maschine java.exe ausgeführt wird.
- Führen Sie das Programm aus:
Im obigen Befehl muss [c:\jdk1.3\bin\java] durch den genauen Pfad zur Java-Virtual-Machine [java.exe] ersetzt werden.
10.8. Apache-Server
Wir haben gesehen, dass der Apache-Server mit der EasyPHP-Anwendung bezogen werden kann. Um ihn direkt zu beziehen, gehen Sie auf die Apache-Website: http://www.apache.org. Die Installation erstellt eine Verzeichnisstruktur, die alle für den Server erforderlichen Dateien enthält. Nennen wir dieses Verzeichnis <apache>. Es enthält eine Verzeichnisstruktur, die in etwa wie folgt aussieht:
UNINST ISU 118 805 23/06/00 17:09 Uninst.isu
HTDOCS <REP> 23/06/00 17:09 htdocs
APACHE~1 DLL 299 008 25/02/00 21:11 ApacheCore.dll
ANNOUN~1 3 000 23/02/00 16:51 Announcement
ABOUT_~1 13 197 31/03/99 18:42 ABOUT_APACHE
APACHE EXE 20 480 25/02/00 21:04 Apache.exe
KEYS 36 437 20/08/99 11:57 KEYS
LICENSE 2 907 01/01/99 13:04 LICENSE
MAKEFI~1 TMP 27 370 11/01/00 13:47 Makefile.tmpl
README 2 109 01/04/98 6:59 README
README NT 3 223 19/03/99 9:55 README.NT
WARNIN~1 TXT 339 21/09/98 13:09 WARNING-NT.TXT
BIN <REP> 23/06/00 17:09 bin
MODULES <REP> 23/06/00 17:09 modules
ICONS <REP> 23/06/00 17:09 icons
LOGS <REP> 23/06/00 17:09 logs
CONF <REP> 23/06/00 17:09 conf
CGI-BIN <REP> 23/06/00 17:09 cgi-bin
PROXY <REP> 23/06/00 17:09 proxy
INSTALL LOG 3 779 23/06/00 17:09 install.log
Verzeichnis der Apache-Konfigurationsdateien | |
Verzeichnis der Apache-Protokolldateien (Überwachung) | |
Ausführbare Apache-Dateien |
10.8.1. Konfiguration
Im Verzeichnis <Apache>\conf finden Sie die folgenden Dateien: httpd.conf, srm.conf, access.conf. In den neuesten Versionen von Apache wurden diese drei Dateien in httpd.conf zusammengefasst. Wir haben bereits die wichtigsten Punkte dieser Konfigurationsdatei behandelt. In den folgenden Beispielen wurde die Apache-Version von EasyPHP zum Testen verwendet und somit auch deren Konfigurationsdatei. In dieser Datei ist DocumentRoot, das den Stamm des Verzeichnisbaums der Webseite angibt, e:\program files\easyphp\www.
10.8.2. PHP – Apache-Verbindung
Erstellen Sie zum Testen die Datei intro.php mit der folgenden einzigen Zeile:
und legen Sie sie im Stammverzeichnis des Apache-Servers (oben DocumentRoot) ab. Rufen Sie die URL http://localhost/intro.php auf. Sie sollten eine Liste mit PHP-Informationen sehen:

Das folgende PHP-Skript zeigt die Uhrzeit an. Wir haben es bereits gesehen:
<?
// time : nb de millisecondes depuis 01/01/1970
// "format affichage date-heure
// d: jour sur 2 chiffres
// m: mois sur 2 chiffres
// y : année sur 2 chiffres
// H : heure 0,23
// i : minutes
// s: secondes
print "Nous sommes le " . date("d/m/y H:i:s",time());
?>
Legen Sie diese Textdatei im Stammverzeichnis des Apache-Servers (DocumentRoot) ab und nennen Sie sie date.php. Öffnen Sie einen Browser und geben Sie die URL http://localhost/date.php ein. Sie sehen die folgende Seite:

10.8.3. PERL-APACHE-Verbindung
Dies wird durch eine Zeile der Form ScriptAlias /cgi-bin/ "E:/Program Files/EasyPHP/cgi-bin/" in der Datei <apache>\conf\httpd.conf erreicht. Die Syntax lautet ScriptAlias /cgi-bin/ "<cgi-bin>", wobei <cgi-bin> der Ordner ist, in dem CGI-Skripte abgelegt werden können. CGI (Common Gateway Interface) ist ein Standard für die Kommunikation zwischen dem Webserver und Anwendungen. Ein Client fordert eine dynamische Seite vom Webserver an, d. h. eine Seite, die von einem Programm generiert wird. Der Webserver muss daher ein Programm anweisen, die Seite zu generieren. CGI definiert die Interaktion zwischen dem Server und dem Programm, insbesondere wie Informationen zwischen diesen beiden Entitäten übertragen werden. Ändern Sie gegebenenfalls die Zeile ScriptAlias /cgi-bin/ "<cgi-bin>" und starten Sie den Apache-Server neu. Führen Sie anschließend folgenden Test durch:
- Schreiben Sie das Skript:
#!c:\perl\bin\perl.exe
# script PERL affichant l'heure
# modules
use strict;
# programme
my ($secondes,$minutes,$heure)=localtime(time);
print <<FINHTML
Content-Type: text/html
<html>
<head>
<title>heure</title>
</head>
<body>
<h1>Il est $heure:$minutes:$secondes</h1>
</body>
FINHTML
;
- Speichern Sie dieses Skript unter <cgi-bin>\heure.pl, wobei <cgi-bin> das Verzeichnis ist, das CGI-Skripte empfangen kann (siehe httpd.conf). Die erste Zeile, #!c:\perl\bin\perl.exe, gibt den Pfad zur ausführbaren Datei perl.exe an. Ändern Sie diesen bei Bedarf.
- Starten Sie Apache, falls Sie dies noch nicht getan haben
- Rufen Sie die URL http://localhost/cgi-bin/heure.pl in einem Browser auf. Sie sehen die folgende Seite:

10.9. Der PWS-Server
10.9.1. Installation
Der PWS (Personal Web Server) ist eine persönliche Version von Microsofts IIS (Internet Information Server). IIS ist auf NT- und 2000-Rechnern verfügbar. Auf Win9x-Rechnern ist PWS normalerweise im Installationspaket des Internet Explorers enthalten. Es wird jedoch nicht standardmäßig installiert. Sie müssen eine benutzerdefinierte Installation des IE durchführen und die Installation von PWS anfordern. Es ist auch im NT 4.0 Option Pack für Windows 95 enthalten.
10.9.2. Erste Tests
Das Stammverzeichnis für PWS-Webseiten ist „Laufwerk:\inetpub\wwwroot“, wobei „Laufwerk“ das Laufwerk ist, auf dem Sie PWS installiert haben. Wir gehen im Folgenden davon aus, dass dieses Laufwerk D ist. Somit entspricht die URL http://machine/rep1/page1.html der Datei d:\inetpub\wwwroot\rep1\page1.html. Der PWS-Server interpretiert jede Datei mit der Erweiterung .asp (Active Server Pages) als Skript, das er ausführen muss, um eine HTML-Seite zu generieren. PWS läuft standardmäßig auf Port 80. Der Apache-Webserver ebenfalls... Sie müssen daher Apache beenden, um mit PWS zu arbeiten, wenn Sie beide Server haben. Die andere Lösung besteht darin, Apache so zu konfigurieren, dass er auf einem anderen Port läuft. Ersetzen Sie also in der Apache-Konfigurationsdatei [httpd.conf] die Zeile Port 80 durch Port 81; Apache läuft nun auf Port 81 und kann gleichzeitig mit PWS verwendet werden. Wenn PWS gestartet wurde und Sie die URL http://localhost aufrufen, erhalten Sie eine Seite, die in etwa wie folgt aussieht:

10.9.3. PHP – PWS-Verbindung
- Unten finden Sie eine .reg-Datei zum Ändern der Registrierung. Doppelklicken Sie auf diese Datei, um die Registrierung zu ändern. Hier befindet sich die erforderliche DLL zusammen mit der ausführbaren PHP-Datei in d:\php4. Nehmen Sie die erforderlichen Änderungen vor. Die Backslashes (\) im DLL-Pfad müssen verdoppelt werden.
REGEDIT4
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\w3svc\parameters\Script Map]
".php"="d:\\php4\\php4isapi.dll"
- Starten Sie den Computer neu, damit die Änderung in der Registrierung wirksam wird.
- Erstellen Sie einen Ordner „php“ in d:\inetpub\wwwroot, dem Stammverzeichnis des PWS-Servers. Öffnen Sie anschließend PWS und wechseln Sie zur Registerkarte „Erweitert“. Klicken Sie auf die Schaltfläche „Hinzufügen“, um ein virtuelles Verzeichnis zu erstellen:
- Bestätigen Sie die Einstellungen und starten Sie PWS neu. Legen Sie die Datei intro.php in d:\inetpub\wwwroot\php ab, die nur die folgende Zeile enthält:
- Rufen Sie die URL http://localhost/php/intro.php vom PWS-Server auf. Sie sollten die Liste der PHP-Informationen sehen, die bereits mit Apache angezeigt wird.
10.10. Tomcat: Java-Servlets und JSP (Java Server Pages)
Tomcat ist ein Webserver, der HTML-Seiten mithilfe von Servlets (vom Webserver ausgeführte Java-Programme) oder JSP (Java Server Pages) generiert, die Java-Code mit HTML-Code kombinieren. Er entspricht ASP (Active Server Pages) auf dem IIS/PWS-Server von Microsoft, wo VBScript- oder JavaScript-Code mit HTML-Code kombiniert wird.
10.10.1. Installation
Tomcat ist unter der URL http://jakarta.apache.org verfügbar. Laden Sie die .exe-Installationsdatei herunter. Wenn Sie dieses Programm ausführen, werden Sie zunächst aufgefordert, das zu verwendende JDK auszuwählen. Tomcat benötigt ein JDK, um Java-Servlets zu installieren und anschließend zu kompilieren und auszuführen. Sie müssen daher vor der Installation von Tomcat ein Java-JDK installiert haben. Es wird das aktuellste JDK empfohlen. Die Installation erstellt eine <tomcat>-Verzeichnisstruktur:

Die Installation besteht lediglich darin, dieses Archiv in ein Verzeichnis zu entpacken. Wählen Sie ein Verzeichnis, dessen Pfad nur Namen ohne Leerzeichen enthält (also beispielsweise nicht „Programme“), da es einen Fehler im Tomcat-Installationsprozess gibt. Verwenden Sie beispielsweise C:\tomcat oder D:\tomcat. Nennen wir dieses Verzeichnis <tomcat>. Darin finden Sie einen Ordner namens jakarta-tomcat, der die folgende Verzeichnisstruktur enthält:
LOGS <REP> 15/11/00 9:04 logs
LICENSE 2 876 18/04/00 15:56 LICENSE
CONF <REP> 15/11/00 8:53 conf
DOC <REP> 15/11/00 8:53 doc
LIB <REP> 15/11/00 8:53 lib
SRC <REP> 15/11/00 8:53 src
WEBAPPS <REP> 15/11/00 8:53 webapps
BIN <REP> 15/11/00 8:53 bin
WORK <REP> 15/11/00 9:04 work
10.10.2. Starten/Beenden des Tomcat-Webservers
Tomcat ist ein Webserver, genau wie Apache oder PWS. Um ihn zu starten, verwenden Sie die Links im Menü „Programme“:
um Tomcat zu starten | |
um ihn zu stoppen |
Wenn Sie Tomcat starten, erscheint ein DOS-Fenster mit folgendem Inhalt:

Sie können dieses DOS-Fenster minimieren. Es bleibt geöffnet, solange Tomcat läuft. Anschließend können Sie mit den ersten Tests fortfahren. Der Tomcat-Webserver läuft auf Port 8080. Sobald Tomcat läuft, öffnen Sie einen Webbrowser und geben Sie die URL http://localhost:8080 ein. Sie sollten die folgende Seite sehen:

Folgen Sie dem Link „Servlet Examples“:

Klicken Sie auf den Link „Execute“ für „RequestParameters“ und anschließend auf den für „Source“. So erhalten Sie einen ersten Eindruck davon, was ein Java-Servlet ist. Das Gleiche können Sie mit den Links auf den JSP-Seiten tun.
Um Tomcat zu beenden, verwenden Sie den Link „Stop Tomcat“ im Menü „Programs“.
10.11. JBuilder
JBuilder ist eine Entwicklungsumgebung für Java-Anwendungen. Um Java-Servlets ohne grafische Benutzeroberflächen zu erstellen, ist eine solche Umgebung nicht unbedingt erforderlich. Ein Texteditor und ein JDK reichen aus. JBuilder bietet jedoch gegenüber der vorherigen Methode einige Vorteile:
- Einfache Fehlersuche: Der Compiler markiert fehlerhafte Zeilen in einem Programm, und man gelangt leicht zu ihnen
- Code-Vervollständigung: Bei der Verwendung eines Java-Objekts zeigt JBuilder eine Liste seiner Eigenschaften und Methoden inline an. Dies ist sehr nützlich, da die meisten Java-Objekte zahlreiche Eigenschaften und Methoden haben, die schwer zu merken sind.
JBuilder ist unter http://www.borland.com/jbuilder zu finden. Um die Software zu erhalten, müssen Sie ein Formular ausfüllen. Ein Aktivierungsschlüssel wird per E-Mail versendet. Um beispielsweise JBuilder 7 zu installieren, wurden die folgenden Schritte durchgeführt:
- Es wurden drei ZIP-Dateien heruntergeladen: eine für die Anwendung, eine für die Dokumentation und eine für die Beispiele. Jede dieser ZIP-Dateien hat einen eigenen Link auf der JBuilder-Website.
- Zuerst wurde die Anwendung installiert, dann die Dokumentation und schließlich die Beispiele
- Wenn Sie die Anwendung zum ersten Mal starten, wird ein Aktivierungsschlüssel abgefragt: Dies ist der Schlüssel, der Ihnen per E-Mail zugesandt wurde. In Version 7 handelt es sich bei diesem Schlüssel tatsächlich um eine vollständige Textdatei, die beispielsweise im JB7-Installationsordner abgelegt werden kann. Wenn der Schlüssel abgefragt wird, geben Sie dann die betreffende Datei an. Sobald dies erledigt ist, wird der Schlüssel nicht mehr abgefragt.
Es gibt einige nützliche Konfigurationen, die Sie vornehmen sollten, wenn Sie JBuilder zum Erstellen von Java-Servlets verwenden möchten. Die sogenannte „Personal“-Version von JBuilder ist eine abgespeckte Version, die nicht alle für die Webentwicklung mit Java erforderlichen Klassen enthält. Sie können JBuilder so konfigurieren, dass es die von Tomcat bereitgestellten Klassenbibliotheken verwendet. So geht’s:
- Starten Sie JBuilder

- Aktivieren Sie die Option „Tools/Configure JDKs“

Im Abschnitt „JDK Settings“ oben wird im Feld „Name“ normalerweise „JDK 1.3.1“ angezeigt. Wenn Sie ein neueres JDK haben, geben Sie über die Schaltfläche „Change“ dessen Installationsverzeichnis an. Im obigen Beispiel haben wir das Verzeichnis E:\Program Files\jdk14 angegeben, in dem ein JDK 1.4 installiert wurde. Von nun an verwendet JBuilder dieses JDK für seine Kompilierungen und Ausführungen. Im Abschnitt (Klasse, Quelle, Dokumentation) sehen Sie eine Liste aller Klassenbibliotheken, die JBuilder durchsucht – in diesem Fall die Klassen aus JDK 1.4. Die in diesem JDK enthaltenen Klassen reichen für die Java-Webentwicklung nicht aus. Um weitere Klassenbibliotheken hinzuzufügen, verwenden Sie die Schaltfläche „Hinzufügen“ und wählen Sie die zusätzlichen .jar-Dateien aus, die Sie verwenden möchten. .jar-Dateien sind Klassenbibliotheken. Tomcat 4.x enthält alle für die Webentwicklung erforderlichen Klassenbibliotheken. Sie befinden sich unter <tomcat>\common\lib, wobei <tomcat> das Tomcat-Installationsverzeichnis ist:

Über die Schaltfläche „Hinzufügen“ fügen wir diese Bibliotheken nacheinander zur Liste der von JBuilder gescannten Bibliotheken hinzu:

Ab sofort können Sie Java-Programme kompilieren, die dem J2EE-Standard entsprechen, einschließlich Java-Servlets. JBuilder wird nur für die Kompilierung verwendet; die Ausführung erfolgt anschließend durch Tomcat gemäß den im Kurs erläuterten Verfahren.
10.12. Der Cassini-Webserver
Um mit der .NET-Plattform von Microsoft zu arbeiten, können Sie den Cassini-Webserver verwenden. Dieser ist über ein anderes Produkt namens [WebMatrix] verfügbar, eine kostenlose Webentwicklungsumgebung für .NET-Plattformen, die unter folgender URL erhältlich ist:

Befolgen Sie die Produktinstallationsanweisungen sorgfältig:
- Laden Sie die .NET-Plattform herunter und installieren Sie sie (Stand März 2004: 1.1)
- Laden Sie WebMatrix herunter und installieren Sie es
- Laden Sie MSDE (Microsoft Data Engine) herunter und installieren Sie es; dabei handelt es sich um eine eingeschränkte Version von SQL Server.
Sobald die Installation abgeschlossen ist, ist das Produkt [WebMatrix] in den installierten Programmen verfügbar:

Über den Link [ASP.NET] in WebMatrix wird die ASP.NET-Entwicklungsumgebung gestartet:

Der Link [Class Browser] startet ein Tool zum Durchsuchen von .NET-Klassen:

Um die Installation zu testen, starten wir [WebMatrix]:
1234

Beim ersten Start fordert [WebMatrix] Sie auf, die Spezifikationen für das neue Projekt anzugeben. Dies ist die Standardkonfiguration. Sie können das Programm so konfigurieren, dass dieses Dialogfeld beim Start nicht mehr angezeigt wird. Sie können dann über die Option [Datei/Neue Datei] darauf zugreifen. Mit [WebMatrix] können Sie Vorlagen für verschiedene Webanwendungen erstellen. Oben haben wir in (1) angegeben, dass wir eine [ASP.NET-Seite]-Anwendung erstellen möchten, also eine Webseite. In (2) geben wir den Ordner an, in dem diese Webseite gespeichert werden soll. In (3) geben wir den Namen der Seite ein. Er muss die Erweiterung .aspx haben. Schließlich geben wir in (4) an, dass wir mit der Sprache VB.NET arbeiten möchten; [WebMatrix] unterstützt auch die Sprachen C# und J#.
Sobald dies erledigt ist, zeigt [WebMatrix] eine Bearbeitungsseite für die Datei [demo1.aspx] an. Dort geben wir den folgenden Code ein:

- Über die Registerkarte [Design] können Sie die Webseite, die Sie erstellen möchten, „gestalten“. Dies funktioniert ähnlich wie bei einer IDE zur Entwicklung von Windows-Anwendungen.
- Das grafische Design der Webseite in [Design] generiert HTML-Code auf der Registerkarte [HTML]
- Die Webseite kann Steuerelemente enthalten, die Ereignisse generieren, die eine Reaktion erfordern, wie beispielsweise eine Schaltfläche. Diese Ereignisse werden durch VB.NET-Code behandelt, der auf der Registerkarte [Code] platziert wird
- Letztendlich ist die Datei „demo1.aspx“ eine Textdatei, die HTML-Code und VB.NET-Code kombiniert und aus dem in [Design] erstellten grafischen Entwurf, dem manuell in [HTML] hinzugefügten HTML-Code und dem in [Code] platzierten VB.NET-Code resultiert. Die gesamte Datei ist auf der Registerkarte [All] verfügbar.
- Ein erfahrener ASP.NET-Entwickler kann die Datei „demo1.aspx“ direkt mit einem Texteditor erstellen, ohne auf eine IDE zurückgreifen zu müssen.
Wählen wir die Option [All] aus. Wir sehen, dass [WebMatrix] bereits etwas Code generiert hat:
<%@ Page Language="VB" %>
<script runat="server">
' Insert page code here
'
</script>
<html>
<head>
</head>
<body>
<form runat="server">
<!-- Insert content here -->
</form>
</body>
</html>
Wir werden diesen Code hier nicht näher erläutern. Wir wandeln ihn wie folgt um:
<html>
<head>
<title>Démo asp.net </title>
</head>
<body>
Il est <% =Date.Now.ToString("hh:mm:ss") %>
</body>
</html>
Der obige Code ist eine Mischung aus HTML- und VB.NET-Code. Er wurde in <% ... %>-Tags gesetzt. Um diesen Code auszuführen, verwenden wir die Option [Ansicht/Starten]. [WebMatrix] startet dann den Cassini-Webserver, falls dieser noch nicht läuft

Sie können die in diesem Dialogfeld angebotenen Standardwerte übernehmen und die Option [Start] auswählen. Der Webserver ist dann aktiv. [WebMatrix] startet daraufhin den Standardbrowser auf dem Rechner, auf dem es ausgeführt wird, und ruft die URL http://localhost:8080/demo1.aspx auf:

Es ist möglich, den Cassini-Server außerhalb von [WebMatrix] zu verwenden. Die ausführbare Datei des Servers befindet sich unter <WebMatrix>\<version>\WebServer.exe, wobei <WebMatrix> das Installationsverzeichnis von [WebMatrix] und <version> die Versionsnummer ist:

Öffnen Sie ein Eingabeaufforderungsfenster und wechseln Sie in den Ordner des Cassini-Servers:
E:\Program Files\Microsoft ASP.NET Web Matrix\v0.6.812>dir
...
29/05/2003 11:00 53 248 WebServer.exe
...
Führen wir [WebServer.exe] ohne Parameter aus:
Es erscheint ein Hilfefenster:

Die Anwendung [WebServer], auch bekannt als Cassini-Webserver, akzeptiert drei Parameter:
- /port: Portnummer des Webdienstes. Kann eine beliebige Zahl sein. Der Standardwert ist 80
- /path: der physische Pfad zu einem Ordner auf der Festplatte
- /vpath: der virtuelle Ordner, der dem vorangehenden physischen Ordner zugeordnet ist. Beachten Sie, dass die Syntax nicht /path=path lautet, sondern /vpath:path, entgegen der Angabe im obigen Hilfefenster.
Legen wir die Datei [demo1.aspx] im folgenden Ordner ab:

Ordnen wir den virtuellen Ordner [/webmatrix] dem physischen Ordner [d:\data\devel\webmatrix] zu. Der Webserver könnte wie folgt gestartet werden:
E:\Program Files\Microsoft ASP.NET Web Matrix\v0.6.812>webserver /port:100 /path:"d:\data\devel\webmatrix" /vpath:"/webmatrix"
Der Cassini-Server ist nun aktiv, und sein Symbol wird in der Taskleiste angezeigt. Wenn Sie darauf doppelklicken:

sehen Sie die Starteinstellungen des Servers. Sie haben außerdem die Möglichkeit, den Webserver anzuhalten [Stop] oder neu zu starten [Restart]. Wenn Sie auf den Link [Root URL] klicken, wird der Stamm des Webverzeichnisbaums des Servers in einem Browser geöffnet:

Folgen Sie dem Link [demos]:

dann den Link [demo1.aspx]:

Wir sehen, dass, wenn der physische Ordner P=[d:\data\devel\webmatrix] dem virtuellen Ordner V=[/webmatrix] zugeordnet wurde und der Server auf Port 100 läuft, ist die Webseite [demo1.aspx], die sich physisch in [P\demos] befindet, lokal über die URL [http://localhost:100/V/demos/demo1.aspx] erreichbar.
Wir haben in diesem speziellen Fall gezeigt, dass die ASP.NET-Webentwicklung mit einem einfachen Texteditor zum Schreiben von Webseiten und dem Cassini-Webserver zum Testen dieser Seiten durchgeführt werden kann. Dies gilt unabhängig von der Komplexität der Anwendung. Die [WebMatrix]-IDE bietet einige Entwicklungsvorteile, jedoch nicht viele. Ein Tool wie Visual Studio.NET ist wesentlich leistungsfähiger, stellt jedoch ein kommerzielles Produkt dar.


