10. Załączniki – Narzędzia do tworzenia aplikacji internetowych
W tym miejscu wskazujemy, gdzie znaleźć i jak zainstalować bezpłatne narzędzia umożliwiające tworzenie aplikacji internetowych w językach Java, PHP, ASP oraz asp.net. Niektóre narzędzia przeszły aktualizacje i może się zdarzyć, że podane tutaj wyjaśnienia nie będą już pasowały do najnowszych wersji. W takim przypadku czytelnik będzie musiał dostosować się do nowych warunków... :
- nowoczesna przeglądarka obsługująca format XML. Przykłady zawarte w kursie zostały przetestowane w przeglądarce Internet Explorer 6.
- najnowsza wersja JDK (Java Development Kit). Pakiet JDK zawiera wtyczkę Java 1.4 dla przeglądarek, która umożliwia im wyświetlanie apletów Java korzystających z JDK 1.4.
- środowisko programistyczne Java do pisania serwletów Java. W tym przypadku jest to JBuilder 7.
- serwery internetowe: Apache, PWS (Personal Web Server, Cassini), Tomcat.
- Apache może być wykorzystywany do tworzenia aplikacji internetowych w języku PERL (Practical Extracting and Reporting Language) lub PHP (Personal Home Page)
- PWS może być wykorzystywany do tworzenia aplikacji internetowych w języku ASP (Active Server Pages) lub PHP na platformach Windows. Cassini umożliwia tworzenie aplikacji w języku ASP.NET.
- Tomcat służy do tworzenia aplikacji internetowych przy użyciu serwletów Java lub stron JSP (Java Server Pages)
- system zarządzania bazą danych: MySQL
- EasyPHP: narzędzie łączące serwer WWW Apache, język PHP oraz SGBD MySQL
10.1. Serwery WWW, przeglądarki, języki skryptowe
- Główne serwery WWW
- Apache (Linux, Windows)
- Interner Information Server IIS (NT), Personal Web Server PWS (Windows 9x), Cassini (platformy .NET)
- Główne przeglądarki
- Internet Explorer (Windows)
- Netscape (Linux, Windows)
- Mozilla (Linux, Windows)
- Opera (Linux, Windows)
- Języki skryptowe po stronie serwera
- VBScript (IIS, PWS)
- JavaScript (IIS, PWS)
- Perl (Apache, IIS, PWS)
- PHP (Apache, IIS, PWS)
- Java (Apache, Tomcat)
- Języki .NET
- Języki skryptowe po stronie przeglądarki
- VBScript (IE)
- JavaScript (IE, Netscape)
- PerlScript (IE)
- Java (IE, Netscape)
10.2. Gdzie znaleźć narzędzia
http://www.netscape.com/ (link do plików do pobrania) | |
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 (kliknij link „skrypt Windows”) | |
http://java.sun.com/ | |
http://www.apache.org/ | |
zawarte w pakiecie opcjonalnym NT 4.0 dla systemu Windows 95 zawarte w pakiecie CD dla systemu Windows 98 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
Ta aplikacja jest bardzo praktyczna, ponieważ w jednym pakiecie zawiera:
- serwer WWW Apache
- interpreter PHP
- SGBD MySQL (3.23.x)
- narzędzie do zarządzania MySQL: PhpMyAdmin
Aplikacja instalacyjna ma następujący wygląd:

Instalacja pliku EasyPHP przebiega bez problemów, a w systemie plików tworzona jest struktura katalogów:

plik wykonywalny aplikacji | |
struktura katalogów serwera Apache | |
struktura katalogów bazy danych MySQL SGBD | |
struktura katalogów aplikacji phpMyAdmin | |
struktura katalogów php | |
katalog główny drzewa stron internetowych dostarczanych przez serwer Apache EasyPHP | |
drzewo, w którym można umieszczać skrypty CGI dla serwera Apache |
Główną zaletą EasyPHP jest to, że aplikacja jest dostarczana w stanie wstępnie skonfigurowanym. Dzięki temu Apache, PHP i MySQL są już skonfigurowane do współpracy. Po uruchomieniu EasyPhp za pomocą skrótu w menu programów w prawym dolnym rogu ekranu pojawia się ikona.
![]() |
To litera „E” z czerwoną kropką powinna migać, jeśli serwer WWW Apache i baza danych MySQL działają prawidłowo. Po kliknięciu na nią prawym przyciskiem myszy pojawiają się opcje menu:

Opcja Administration umożliwia wprowadzanie ustawień i przeprowadzanie testów poprawności działania:

10.3.1. Konfiguracja interpretera PHP
Przycisk „Informacje o PHP” powinien umożliwić sprawdzenie prawidłowego działania zestawu Apache-PHP: powinna pojawić się strona informacyjna PHP:

Przycisk „rozszerzenia” wyświetla listę zainstalowanych rozszerzeń dla PHP. Są to w rzeczywistości biblioteki funkcji.

Powyższy ekran pokazuje na przykład, że funkcje niezbędne do korzystania z bazy danych MySQL są rzeczywiście dostępne.
Przycisk „Ustawienia” wyświetla dane administratora bazy danych login/motdepasse.

Korzystanie z bazy danych MySQL wykracza poza zakres tej krótkiej prezentacji, ale jasne jest, że należy ustawić hasło dla administratora bazy danych.
10.3.2. Administracja serwerem Apache
Również na stronie administracyjnej EasyPHP link „wasze aliasy” pozwala zdefiniować aliasy powiązane z katalogiem. Umożliwia to umieszczenie stron internetowych w innym miejscu niż katalog www w drzewie katalogów easyPhp.

Jeśli na powyższej stronie wprowadzimy następujące informacje:

i użyjemy przycisku valider, do pliku <easyphp>\apache\conf\httpd.conf zostaną dodane następujące wiersze:
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> oznacza katalog instalacyjny pliku EasyPHP. httpd.conf to plik konfiguracyjny serwera Apache. Można więc osiągnąć ten sam efekt, edytując bezpośrednio ten plik. Zmiany w pliku httpd.conf są zazwyczaj natychmiast uwzględniane przez serwer Apache. Jeśli tak się nie stanie, należy go zatrzymać, a następnie uruchomić ponownie, zawsze za pomocą ikony easyphp:

Aby zakończyć nasz przykład, możemy teraz umieścić strony internetowe w drzewie katalogów e:\data\serge\web:
i wyświetlić tę stronę, używając aliasu st:

W tym przykładzie serwer Apache został skonfigurowany do pracy na porcie 81. Jego domyślnym portem jest 80. Jest to określone w następującym wierszu pliku httpd.conf, który już wcześniej omówiliśmy:
10.3.3. Plik konfiguracyjny serwera Apache o nazwie [htpd.conf] htpd.conf
Jeśli chcemy nieco precyzyjniej skonfigurować serwer Apache, musimy „ręcznie” zmodyfikować jego plik konfiguracyjny httpd.conf, znajdujący się w folderze <easyphp>\apache\conf:

Oto kilka ważnych informacji dotyczących tego pliku konfiguracyjnego:
| rola |
wskazuje folder, w którym znajduje się drzewo katalogów Apache | |
określa, na którym porcie będzie działał serwer WWW. Zazwyczaj jest to port 80. Zmieniając tę linię, można skonfigurować serwer WWW tak, aby działał na innym porcie | |
adres e-mail administratora serwera Apache | |
nazwa komputera, na którym „działa” serwer Apache | |
katalog instalacyjny serwera Apache. Gdy w pliku konfiguracyjnym pojawiają się nazwy plików względne, są one względne względem tego katalogu. | |
katalog główny drzewa stron internetowych udostępnianych przez serwer. W tym przypadku adres URL http://machine/rep1/fic1.html będzie odpowiadał plikowi E:\Program Files\EasyPHP\www\rep1\fic1.html | |
ustala właściwości poprzedniego folderu | |
folder logów, a więc w rzeczywistości <ServerRoot>\logs\error.log: E:\Program Files\EasyPHP\apache\logs\error.log. Jest to plik, który należy sprawdzić, jeśli zauważysz, że serwer Apache nie działa. | |
E:\Program Files\EasyPHP\cgi-bin będzie katalogiem głównym drzewa katalogów, w którym można umieszczać skrypty CGI. Zatem adres URL skryptu CGI będzie wyglądał następująco: URL http://machine/cgi-bin/rep1/script1.pl E:\Program Files\EasyPHP\cgi-bin\rep1\script1.pl. | |
ustala właściwości powyższego folderu | |
wiersze ładujące moduły umożliwiające Apache'owi współpracę z PHP4. | |
określa rozszerzenia plików, które mają być traktowane jako pliki do przetworzenia przez PHP |
10.3.4. Zarządzanie MySQL za pomocą PhpMyAdmin
Na stronie administracyjnej EasyPhp należy kliknąć przycisk PhpMyAdmin:

Lista rozwijana pod pozycją Accueil pozwala wyświetlić aktualne bazy danych. | ![]() |
Liczba w nawiasie oznacza liczbę tabel. Po wybraniu bazy wyświetlane są zawarte w niej tabele: | ![]() |
Strona internetowa oferuje szereg operacji na bazie danych:

Po kliknięciu linku Afficher z user:

Jest tu tylko jeden użytkownik: root, który jest administratorem MySQL. Klikając link Modifier, można by zmienić jego hasło, które obecnie jest puste, co nie jest zalecane w przypadku administratora. Nie będziemy się więcej rozpisywać na temat PhpMyAdmin, które jest bogatym oprogramowaniem i zasługiwałoby na omówienie na kilku stronach.
10.4. PHP
Widzieliśmy już, jak uzyskać PHP za pomocą aplikacji EasyPhp. Aby uzyskać PHP bezpośrednio, należy wejść na stronę http://www.php.net. PHP nie jest przeznaczony wyłącznie do użytku w sieci WWW. Można go wykorzystać jako język skryptowy w systemie Windows. Utwórz poniższy skrypt i zapisz go pod nazwą date.php:
<?
// skrypt PHP wyświetlający godzinę
$maintenant=date("j/m/y, H:i:s",time());
echo "Nous sommes le $maintenant";
?>
W oknie DOS przejdź do katalogu [date.php] i uruchom go:
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
Najlepiej, aby przeglądarka Internet Explorer była już zainstalowana. Jeśli jest zainstalowana, Active Perl skonfiguruje ją tak, aby akceptowała skrypty PERL na stronach HTML; skrypty te będą wykonywane przez sam program IE po stronie klienta. Strona internetowa Active Perl znajduje się pod adresem URL http://www.activestate.comA. Po zakończeniu instalacji PERL zostanie zainstalowany w katalogu, który nazwiemy <perl>. Zawiera on następującą strukturę katalogów:
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
Plik wykonywalny perl.exe znajduje się w katalogu <perl>\bin. Perl to język skryptowy działający w systemach Windows i Unix. Jest on również wykorzystywany w programowaniu WEB. Napiszmy pierwszy skrypt:
# skrypt PERL wyświetlający godzinę
# moduły
use strict;
# program
my ($secondes,$minutes,$heure)=localtime(time);
print "Il est $heure:$minutes:$secondes\n";
Zapisz ten skrypt w pliku o nazwie heure.pl. Otwórz okno DOS, przejdź do katalogu zawierającego powyższy skrypt i uruchom go:
10.6. Vbscript, Javascript, Perlscript
Języki te są językami skryptowymi dla systemu Windows. Mogą one działać w różnych środowiskach, takich jak
- Windows Scripting Host, umożliwiających bezpośrednie wykorzystanie w systemie Windows, w szczególności do pisania skryptów do zarządzania systemem
- Internet Explorer. Jest on wówczas wykorzystywany w ramach stron HTML, którym zapewnia pewną interaktywność niemożliwą do osiągnięcia przy użyciu samego języka HTML.
- Internet Information Server (IIS) – serwer WWW firmy Microsoft w systemie NT/2000 oraz jego odpowiednik Personal Web Server (PWS) w systemie Win9x. W tym przypadku do programowania po stronie serwera internetowego wykorzystuje się VBScript – technologię nazwaną przez firmę Microsoft ASP (Active Server Pages).
Plik instalacyjny można pobrać z serwisu URL: http://msdn.microsoft.com/scripting, a następnie należy postępować zgodnie z linkami dotyczącymi Windows Script. Instalowane są:
- kontener Windows Scripting Host, umożliwiający korzystanie z różnych języków skryptowych, takich jak VBScript i JavaScript, a także innych, np. PerlScript, który jest dostarczany wraz z Active Perl.
- interpreter VBscript
- interpreter JavaScript
Przedstawmy kilka szybkich testów. Stwórzmy następujący program vbscript:
' klasa
class personne
Dim nom
Dim age
End class
' tworzenie obiektu osoby
Set p1=new personne
With p1
.nom="dupont"
.age=18
End With
' wyświetlanie właściwości osoby p1
With p1
wscript.echo "nom=" & .nom
wscript.echo "age=" & .age
End With
Ten program wykorzystuje obiekty. Nazwijmy go objets.vbs (rozszerzenie vbs oznacza plik vbscript). Przejdźmy do katalogu, w którym się znajduje, i uruchommy go:
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
Teraz stwórzmy następujący program w języku JavaScript, który wykorzystuje tablice:
// tablica w wariancie
// pusta tablica
tableau=new Array();
affiche(tableau);
// tablica powiększa się dynamicznie
for(i=0;i<3;i++){
tableau.push(i*10);
}
// wyświetlanie tablicy
affiche(tableau);
// jeszcze
for(i=3;i<6;i++){
tableau.push(i*10);
}
affiche(tableau);
// tabele wielowymiarowe
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);
// koniec
WScript.quit(0);
// ---------------------------------------------------------
function affiche(tableau){
// wyświetlanie tabeli
for(i=0;i<tableau.length;i++){
WScript.echo("tableau[" + i + "]=" + tableau[i]);
}//dla
}//funkcja
// ---------------------------------------------------------
function affiche2(tableau){
// wyświetlanie tabeli
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
}//pętla for i
}//funkcja
Ten program wykorzystuje tablice. Nazwijmy go tableaux.js (rozszerzenie „js” oznacza plik JavaScript). Przejdźmy do katalogu, w którym się znajduje, i uruchommy go:
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
Na zakończenie jeszcze jeden przykład w języku Perlscript. Aby uzyskać dostęp do Perlscript, należy zainstalować Active Perl.
<job id="PERL1">
<script language="PerlScript">
# klasyczny Perl
%dico=("maurice"=>"juliette","philippe"=>"marianne");
@cles= keys %dico;
for ($i=0;$i<=$#klucze;$i++){
$cle=$cles[$i];
$valeur=$dico{$cle};
$WScript->echo ("clé=".$cle.", valeur=".$valeur);
}
# skryptu Perla wykorzystującego obiekty 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>
Ten program pokazuje tworzenie i wykorzystanie dwóch słowników: jednego w klasycznym stylu Perla, a drugiego z wykorzystaniem obiektu Scripting Dictionary w Windows Script. Zapiszmy ten kod w pliku dico.wsf (wsf to rozszerzenie plików Windows Script). Przejdźmy do folderu tego programu i uruchommy go:
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 może korzystać z obiektów kontenera, w którym jest uruchamiany. W tym przypadku były to obiekty kontenera Windows Script. W kontekście programowania internetowego skrypty VBscript, JavaScript, Perlscript mogą być uruchamiane albo w przeglądarce IE, albo na serwerze PWS lub IIS. Jeśli skrypt jest nieco złożony, warto przetestować go poza środowiskiem internetowym, w kontenerze Windows Script, jak pokazano wcześniej. W ten sposób można przetestować jedynie te funkcje skryptu, które nie wykorzystują obiektów charakterystycznych dla przeglądarki lub serwera. Nawet przy tym ograniczeniu opcja ta pozostaje interesująca, ponieważ debugowanie skryptów uruchamianych na serwerach internetowych lub w przeglądarkach jest zazwyczaj dość niewygodne.
10.7. JAVA
Język Java jest dostępny na stronie URL: http://www.sun.com i instaluje się w drzewie katalogów o nazwie <java>, które zawiera następujące elementy:
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
W katalogu bin znajdziemy plik javac.exe, czyli kompilator Java, oraz plik java.exe, czyli wirtualną maszynę Java. Można przeprowadzić następujące testy:
- Napisać następujący skrypt:
//program w Javie wyświetlający godzinę
import java.io.*;
import java.util.*;
public class heure{
public static void main(String arg[]){
// pobieranie daty i godziny
Date maintenant=new Date();
// wyświetlanie
System.out.println("Il est "+maintenant.getHours()+
":"+maintenant.getMinutes()+":"+maintenant.getSeconds());
}//main
}//klasa
- Zapisz ten program pod nazwą heure.java. Otwórz okno DOS. Przejdź do katalogu, w którym znajduje się plik heure.java, i skompiluj go:
dos>c:\jdk1.3\bin\javac heure.java
Note: heure.java uses or overrides a deprecated API.
Note: Recompile with -deprecation for details.
W powyższym poleceniu [c:\jdk1.3\bin\javac] należy zastąpić dokładną ścieżką do kompilatora javac.exe. W tym samym katalogu, co plik heure.java, musi znajdować się plik heure.class, który jest programem, który zostanie teraz uruchomiony przez maszynę wirtualną java.exe.
- Uruchom program:
W powyższym poleceniu [c:\jdk1.3\bin\java] należy zastąpić dokładną ścieżką do maszyny wirtualnej Java [java.exe].
10.8. Serwer Apache
Widzieliśmy już, że serwer Apache można uzyskać za pomocą aplikacji EasyPhp. Aby pobrać go bezpośrednio, należy przejść na stronę Apache: http://www.apache.org. Instalacja tworzy drzewo katalogów, w którym znajdują się wszystkie pliki niezbędne do działania serwera. Nazwijmy ten katalog <apache>. Zawiera on strukturę katalogów podobną do poniższej:
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
katalog plików konfiguracyjnych serwera Apache | |
katalog plików logów (monitorowania) serwera Apache | |
Pliki wykonywalne serwera Apache |
10.8.1. Konfiguracja
W folderze <Apache>\conf znajdują się następujące pliki: httpd.conf, srm.conf, access.conf. W najnowszych wersjach serwera Apache te trzy pliki zostały połączone w jeden plik o nazwie httpd.conf. Omówiliśmy już najważniejsze elementy tego pliku konfiguracyjnego. W poniższych przykładach do testów wykorzystano wersję serwera Apache o numerze EasyPhp, a zatem również jej plik konfiguracyjny. W tym pliku DocumentRoot, oznaczający katalog główny drzewa stron internetowych, to e:\program files\easyphp\www.
10.8.2. Link PHP – Apache
Aby przeprowadzić test, należy utworzyć plik intro.php zawierający wyłącznie następujący wiersz:
i umieść go w katalogu głównym serwera Apache (DocumentRoot powyżej). Wywołaj adres http://localhost/intro.php. Powinna pojawić się lista informacji php:

Poniższy skrypt PHP wyświetla godzinę. Spotkaliśmy się z nim już wcześniej:
<?
// czas: liczba milisekund od 01.01.1970
// „format wyświetlania daty i godziny”
// d: dzień (2 cyfry)
// m: miesiąc (2 cyfry)
// y: rok (2 cyfry)
// H: godzina 0,23
// i: minuty
// s: sekundy
print "Nous sommes le " . date("d/m/y H:i:s",time());
?>
Umieśćmy ten plik tekstowy w katalogu głównym serwera Apache (DocumentRoot) i nazwijmy go date.php. W przeglądarce wywołajmy adres http://localhost/date.php z plikiem URL. Otrzymamy następującą stronę:

10.8.3. Link PERL-APACHE
Został on utworzony za pomocą wiersza o postaci: ScriptAlias /cgi-bin/ "E:/Program Files/EasyPHP/cgi-bin/" z pliku <apache>\conf\httpd.conf. Jego składnia to ScriptAlias /cgi-bin/ "<cgi-bin>", gdzie <cgi-bin> to folder, w którym można umieścić skrypty CGI. CGI (Common Gateway Interface) to standard komunikacji między serwerem WEB a aplikacjami. Klient żąda od serwera WWW dynamicznej strony, c.a.d, czyli strony wygenerowanej przez program. Serwer WEB musi zatem poprosić program o wygenerowanie strony. CGI definiuje komunikację między serwerem a programem, w szczególności sposób przekazywania informacji między tymi dwoma podmiotami. W razie potrzeby zmień wiersz ScriptAlias /cgi-bin/ na „<cgi-bin>” i uruchom ponownie serwer Apache. Następnie przeprowadź następujący test:
- Napisz skrypt:
#!c:\perl\bin\perl.exe
# skrypt PERL wyświetlający godzinę
# moduły
use strict;
# program
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
;
- Umieść ten skrypt w katalogu <cgi-bin>\heure.pl, gdzie <cgi-bin> to katalog, w którym mogą znajdować się skrypty CGI (patrz httpd.conf). Pierwszy wiersz #!c:\perl\bin\perl.exe określa ścieżkę do pliku wykonywalnego perl.exe. W razie potrzeby należy go zmodyfikować.
- Uruchom serwer Apache, jeśli jeszcze tego nie zrobiono
- W przeglądarce należy wywołać plik URL pod adresem http://localhost/cgi-bin/heure.pl. Wyświetli się następująca strona:

10.9. Serwer PWS
10.9.1. Instalacja serwera t
Serwer PWS (Personal Web Server) jest osobistą wersją serwera IIS (Internet Information Server) firmy Microsoft. Ten ostatni jest dostępny na komputerach z systemem NT i 2000. Na komputerach z systemem Windows 9x serwer PWS jest zazwyczaj dostępny w pakiecie instalacyjnym przeglądarki Internet Explorer. Nie jest on jednak instalowany domyślnie. Należy przeprowadzić instalację niestandardową IE i zaznaczyć opcję instalacji PWS. Jest on również dostępny w pakiecie NT 4.0 Option Pack dla systemu Windows 95.
10.9.2. Wstępne testy
Katalogiem głównym stron internetowych serwera PWS jest „dysk:\inetpub\wwwroot”, gdzie „dysk” oznacza dysk, na którym zainstalowano program PWS. W dalszej części zakładamy, że jest to dysk D. Zatem adres URL http://machine/rep1/page1.html będzie odpowiadał plikowi d:\inetpub\wwwroot\rep1\page1.html. Serwer PWS interpretuje każdy plik z rozszerzeniem .asp (Active Server Pages) jako skrypt, który musi wykonać w celu wygenerowania strony HTML. PWS domyślnie działa na porcie 80. Serwer WWW Apache również... Jeśli więc korzystasz z obu serwerów, musisz zatrzymać Apache, aby móc pracować z PWS. Innym rozwiązaniem jest skonfigurowanie serwera Apache tak, aby działał na innym porcie. W pliku konfiguracyjnym Apache’a należy zatem zastąpić wiersz „Port 80” na „Port 81”. Serwer Apache będzie odtąd działał na porcie 81 i będzie można z niego korzystać jednocześnie z PWS. Jeśli uruchomiono PWS, a następnie wywołano adres http://localhost, wyświetli się strona podobna do poniższej:

10.9.3. Link PHP – PWS
- Poniżej znajduje się plik .reg służący do modyfikacji rejestru. Należy dwukrotnie kliknąć ten plik, aby wprowadzić zmiany w rejestrze. W tym przypadku wymagany plik dll znajduje się w pliku d:\php4 wraz z plikiem wykonywalnym php. W razie potrzeby należy wprowadzić zmiany. Znaki \ w ścieżce do biblioteki DLL należy podwoić.
REGEDIT4
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\w3svc\parameters\Script Map]
".php"="d:\\php4\\php4isapi.dll"
- Uruchom ponownie komputer, aby zmiany w rejestrze zostały uwzględnione.
- Utwórz folder php w d:\inetpub\wwwroot, który jest katalogiem głównym serwera PWS. Następnie uruchom PWS i przejdź do zakładki „Zaawansowane”. Kliknij przycisk „Dodaj”, aby utworzyć folder wirtualny:
- Potwierdź zmiany i uruchom ponownie PWS. Umieść w d:\inetpub\wwwroot\php plik intro.php zawierający wyłącznie następujący wiersz:
- Poproś serwer PWS o plik URL http://localhost/php/intro.php. Powinna pojawić się lista informacji PHP już wyświetlanych przez Apache.
10.10. Tomcat: serwlety Java i strony JSP (Java Server Pages)
Tomcat to serwer WWW umożliwiający generowanie stron HTML za pomocą serwletów (programów Java uruchamianych przez serwer WWW) lub stron JSP (Java Server Pages), czyli stron łączących kod Java z kodem HTML. Jest to odpowiednik stron ASP (Active Server Pages) serwera IIS/PWS firmy Microsoft, gdzie łączy się kod VBScript lub JavaScript z kodem HTML.
10.10.1. Instalacja
Tomcat jest dostępny pod adresem URL: http://jakarta.apache.org. Pobieramy plik instalacyjny .exe. Po uruchomieniu programu najpierw pojawia się informacja, jakiej wersji JDK zostanie użyta. Tomcat potrzebuje bowiem JDK do zainstalowania się, a następnie do kompilacji i uruchamiania serwletów Java. Dlatego przed instalacją Tomcata należy zainstalować wersję Java o numerze JDK. Zalecana jest najnowsza wersja JDK. Instalacja utworzy katalog <tomcat>:

polega po prostu na rozpakowaniu tego archiwum do katalogu. Należy wybrać katalog, którego ścieżka zawiera wyłącznie nazwy bez spacji (na przykład nie „Program Files”), ponieważ w procesie instalacji Tomcata występuje błąd. Można na przykład wybrać C:\tomcat lub D:\tomcat. Nazwijmy ten katalog <tomcat>. Znajdziemy w nim folder o nazwie jakarta-tomcat, a w nim następującą strukturę katalogów:
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. Uruchamianie/zamykanie serwera WWW Tomcat
Tomcat to serwer WWW, podobnie jak Apache czy PWS. Aby go uruchomić, można skorzystać z linków w menu programów:
aby uruchomić Tomcat | |
do jego zatrzymania |
Po uruchomieniu Tomcata pojawia się okno DOS z następującą treścią:

Okno DOS-a można zminimalizować. Będzie ono widoczne tak długo, jak długo Tomcat będzie aktywny. Następnie można przejść do pierwszych testów. Serwer WWW Tomcat działa na porcie 8080. Po uruchomieniu Tomcata należy otworzyć przeglądarkę internetową i wpisać adres http://localhost:8080. Powinna pojawić się następująca strona:

Kliknij link „Servlet Examples”:

Kliknij link Execute na stronie RequestParameters, a następnie link na stronie Source. Uzyskasz w ten sposób wstępny wgląd w to, czym jest serwlet Java. To samo możesz zrobić, korzystając z linków na stronach JSP.
Aby zatrzymać Tomcat, należy użyć linku „Stop Tomcat” w menu programów.
10.11. Jbuilder
JBuilder to środowisko programistyczne do tworzenia aplikacji Java. Do tworzenia serwletów Java, w których nie ma interfejsów graficznych, posiadanie takiego środowiska nie jest konieczne. Wystarczy edytor tekstu i JDK. Jednak JBuilder oferuje kilka dodatkowych zalet w porównaniu z poprzednią metodą:
- łatwość debugowania: kompilator sygnalizuje błędne linie w programie i łatwo jest do nich przejść
- sugestie kodu: podczas korzystania z obiektu Java, JBuilder wyświetla na bieżąco listę jego właściwości i metod. Jest to bardzo przydatne, biorąc pod uwagę, że większość obiektów Java posiada bardzo wiele właściwości i metod, które trudno zapamiętać.
JBuilder można znaleźć na stronie http://www.borland.com/jbuilder. Aby uzyskać oprogramowanie, należy wypełnić formularz. Klucz aktywacyjny jest wysyłany pocztą elektroniczną. Aby zainstalować JBuilder 7, postępowano na przykład w następujący sposób:
- pobrano trzy pliki ZIP: z aplikacją, dokumentacją oraz przykładami. Każdy z tych plików ZIP ma osobny link na stronie JBuilder.
- Najpierw zainstalowano aplikację, następnie dokumentację, a na końcu przykłady
- przy pierwszym uruchomieniu aplikacji wymagany jest klucz aktywacyjny: jest to klucz, który został Państwu przesłany pocztą elektroniczną. W wersji 7 klucz ten stanowi w rzeczywistości całą treść pliku tekstowego, który można umieścić na przykład w folderze instalacyjnym JB7. W momencie pojawienia się prośby o klucz należy wskazać ten plik. Po wykonaniu tej czynności klucz nie będzie już ponownie wymagany.
Aby korzystać z programu JBuilder do tworzenia serwletów Java, należy wprowadzić kilka przydatnych ustawień. Wersja zwana „Jbuilder personal” jest bowiem wersją okrojoną, która nie zawiera wszystkich klas niezbędnych do tworzenia aplikacji internetowych w języku Java. Można skonfigurować JBuilder tak, aby korzystał z bibliotek klas dostarczanych przez Tomcat. Należy postępować w następujący sposób:
- uruchom JBuilder

- włączyć opcję Tools/Configure JDKs

W sekcji „JDK Settings” powyżej w polu „Name” zazwyczaj widnieje wartość „JDK 1.3.1”. Jeśli posiadasz nowszą wersję JDK, użyj przycisku Change, aby wskazać katalog instalacyjny tej wersji. Powyżej wskazano katalog E:\Program Files\jdk14, w którym zainstalowano wersję JDK 1.4. Od tej pory JBuilder będzie korzystać z tej wersji JDK do kompilacji i uruchamiania. W sekcji (Klasy, Źródło, Dokumentacja) znajduje się lista wszystkich bibliotek klas, które będą przeszukiwane przez JBuilder – w tym przypadku są to klasy z JDK 1.4. Klasy z tej biblioteki nie wystarczają do tworzenia aplikacji internetowych w Javie. Aby dodać inne biblioteki klas, należy użyć przycisku Add i wskazać dodatkowe pliki .jar, z których chcemy korzystać. Pliki .jar to biblioteki klas. Tomcat 4.x zawiera wszystkie biblioteki klas niezbędne do tworzenia aplikacji internetowych. Znajdują się one w katalogu <tomcat>\common\lib, gdzie <tomcat> to katalog instalacyjny Tomcata:

Za pomocą przycisku Add dodamy te biblioteki, jedna po drugiej, do listy bibliotek przeszukiwanych przez JBuilder:

Od tej chwili można kompilować programy Java zgodne ze standardem J2EE, w szczególności serwlety Java. JBuilder służy wyłącznie do kompilacji, natomiast wykonanie jest później zapewniane przez Tomcat zgodnie z zasadami wyjaśnionymi w ramach kursu.
10.12. Serwer WWW Cassini
Do pracy z platformą .NET firmy Microsoft można wykorzystać serwer WWW Cassini. Jest on dostępny za pośrednictwem innego produktu o nazwie [WebMatrix], który stanowi bezpłatne środowisko programistyczne do tworzenia stron internetowych na platformach .NET, dostępne pod adresem:

Należy dokładnie postępować zgodnie z instrukcją instalacji produktu:
- pobierz i zainstaluj platformę .NET (wersja 1.1 z marca 2004 r.)
- pobierz i zainstaluj WebMatrix
- pobierz i zainstaluj MSDE (Microsoft Data Engine), który jest ograniczoną wersją serwera SQL.
Po zakończeniu instalacji produkt [WebMatrix] będzie dostępny w liście zainstalowanych programów:

Link [ASP.NET] Web Matrix uruchamia wersję rozwojową IDE z wersji ASP.NET:

Link [Class Browser] uruchamia narzędzie do przeglądania klas .NET:

Aby przetestować instalację, uruchommy [WebMatrix]:
42

Podczas pierwszego uruchomienia [WebMatrix] pyta o parametry nowego projet.C – jest to jego domyślna konfiguracja. Można go skonfigurować tak, aby to okno dialogowe nie pojawiało się przy uruchomieniu. Osiągamy to za pomocą opcji [File/New File]. [WebMatrix] umożliwia tworzenie szkieletów dla różnych aplikacji internetowych. Powyżej w punkcie (1) określiliśmy, że chcemy utworzyć aplikację [ASP.ET Page], która jest stroną internetową. W punkcie (2) wskazujemy folder, w którym zostanie umieszczona ta strona internetowa. W punkcie (3) podajemy nazwę strony. Musi ona mieć rozszerzenie .aspx. Wreszcie w punkcie (4) określamy, że chcemy pracować w języku VB.NET, przy czym [WebMatrix] obsługuje również języki C# i J#.
Po wykonaniu tych czynności [WebMatrix] wyświetla stronę edycji pliku [demo1.aspx]. Umieszczamy w niej następujący kod:

- Zakładka [Design] pozwala „narysować” stronę internetową, którą chcemy stworzyć. Działa to tak samo jak w przypadku IDE służącego do tworzenia aplikacji dla systemu Windows.
- Projekt graficzny strony internetowej w [Design] wygeneruje kod HTML w zakładce [HTML]
- Strona internetowa może zawierać elementy sterujące generujące zdarzenia, na które należy zareagować, na przykład przycisk. Zdarzenia te będą obsługiwane przez kod VB.NET, który zostanie umieszczony w zakładce [Code]
- ostatecznie plik demo1.aspx jest plikiem tekstowym łączącym kod HTML i kod VB.NET, będącym wynikiem projektu graficznego wykonanego w [Design], kodu HTML, który można było ręcznie dodać w pliku [HTML], oraz kodu VB.NET umieszczonego w pliku [Code]. Cały plik jest dostępny w zakładce [All].
- Doświadczony programista ASP.ET może utworzyć plik demo1.aspx bezpośrednio w edytorze tekstowym, bez pomocy żadnego pliku IDE.
Wybierzmy opcję [All]. Widzimy, że [WebMatrix] wygenerował już kod:
<%@ Page Language="VB" %>
<script runat="server">
' Wstaw tutaj kod strony
'
</script>
<html>
<head>
</head>
<body>
<form runat="server">
<!-- Wstaw tutaj treść -->
</form>
</body>
</html>
Nie będziemy tutaj próbować wyjaśniać tego kodu. Przekształcamy go w następujący sposób:
<html>
<head>
<title>Démo asp.net </title>
</head>
<body>
Il est <% =Date.Now.ToString("hh:mm:ss") %>
</body>
</html>
Powyższy kod stanowi połączenie kodu HTML oraz kodu VB.NET. Został on umieszczony w tagach <% ... %>. Aby wykonać ten kod, używamy opcji [View/Start]. [WebMatrix] uruchamia wówczas serwer WWW Cassini, jeśli nie jest on jeszcze uruchomiony

Można zaakceptować wartości domyślne proponowane w tym oknie dialogowym i wybrać opcję [Start]. Serwer WWW jest teraz aktywny. [WebMatrix] uruchomi następnie domyślną przeglądarkę na komputerze, na którym się znajduje, i wyświetli stronę URL http://localhost:8080/demo1.aspx:

Serwer Cassini można używać poza [WebMatrix]. Plik wykonywalny serwera znajduje się w <WebMatrix>\<wersja>\WebServer.exe, gdzie <WebMatrix> to katalog instalacyjny [WebMatrix], a <version> to numer wersji:

Otwórzmy okno wiersza poleceń i przejdźmy do folderu serwera Cassini:
E:\Program Files\Microsoft ASP.NET Web Matrix\v0.6.812>dir
...
29/05/2003 11:00 53 248 WebServer.exe
...
Uruchommy program [WebServer.exe] bez żadnych parametrów:
Pojawi się okno pomocy:

Aplikacja [WebServer], zwana również serwerem internetowym Cassini, obsługuje trzy parametry:
- /port: numer portu serwisu internetowego. Może to być dowolna wartość. Domyślnie jest to 80
- /path: fizyczna ścieżka do folderu na dysku
- /vpath: folder wirtualny powiązany z poprzednim folderem fizycznym. Należy zwrócić uwagę, że składnia nie brzmi /path=ścieżka, ale /vpath:ścieżka, w przeciwieństwie do tego, co podano w powyższym oknie pomocy.
Umieśćmy plik [demo1.aspx] w następującym folderze:

Powiążmy folder fizyczny [d:\data\devel\webmatrix] z folderem wirtualnym [/webmatrix]. Serwer WWW można uruchomić w następujący sposób:
E:\Program Files\Microsoft ASP.NET Web Matrix\v0.6.812>webserver /port:100 /path:"d:\data\devel\webmatrix" /vpath:"/webmatrix"
Serwer Cassini jest teraz aktywny, a jego ikona pojawia się na pasku zadań. Po dwukrotnym kliknięciu na nią:

wyświetlą się parametry uruchamiania serwera. Istnieje również możliwość zatrzymania serwera [Stop] lub ponownego uruchomienia serwera [Restart]. Po kliknięciu linku [Root URL] w przeglądarce wyświetla się katalog główny drzewa katalogów serwera:

Przejdźmy do linku [demos]:

a następnie link [demo1.aspx]:

Widać zatem, że jeśli fizyczny katalog P=[d:\data\devel\webmatrix] został powiązany z wirtualnym katalogiem V=[/webmatrix], a serwer działa na porcie 100, strona internetowa [demo1.aspx], znajdująca się fizycznie w [P\demos], będzie dostępna lokalnie poprzez URL i [http://localhost:100/V/demos/demo1.aspx].
W tym konkretnym przypadku pokazaliśmy, że tworzenie stron internetowych ASP.NET można przeprowadzić za pomocą prostego edytora tekstu do pisania stron internetowych oraz serwera internetowego Cassini do ich testowania. Dotyczy to aplikacji o dowolnym stopniu złożoności. IDE [WebMatrix] zapewnia pewne ułatwienia w tworzeniu stron, ale są one niewielkie. Narzędzie takie jak Visual Studio.NET jest znacznie wydajniejsze, ale jest to produkt komercyjny.


