Skip to content

8. Appendici

8.1. Strumenti di sviluppo web

Qui indichiamo dove trovare e come installare gli strumenti necessari per lo sviluppo web. Alcuni strumenti hanno subito evoluzioni nelle loro versioni ed è possibile che le spiegazioni fornite qui non siano più applicabili alle versioni più recenti. Il lettore dovrà quindi adattarsi... Nel corso di programmazione web utilizzeremo principalmente i seguenti strumenti, tutti disponibili gratuitamente:

  • un browser recente in grado di visualizzare XML. Gli esempi del corso sono stati testati con Internet Explorer 6.
  • Un JDK (Java Development Kit) recente. Gli esempi di questo corso sono stati testati con JDK 1.4. Questo JDK include il plug-in per browser Java 1.4, che consente ai browser di visualizzare le applet Java utilizzando JDK 1.4.
  • Un ambiente di sviluppo Java per la scrittura di servlet Java. In questo caso, si tratta di JBuilder 7.
  • Server web: Apache, PWS (Personal Web Server), Tomcat.
    • Apache verrà utilizzato per lo sviluppo di applicazioni web in PERL (Practical Extracting and Reporting Language) o PHP (Personal Home Page)
    • PWS verrà utilizzato per lo sviluppo di applicazioni web in ASP (Active Server Pages) o PHP
    • Tomcat verrà utilizzato per lo sviluppo di applicazioni web utilizzando servlet Java o JSP (Java Server Pages)
  • Un'applicazione di gestione del database: MySQL
  • EasyPHP: uno strumento che integra il server web Apache, il linguaggio PHP e il DBMS MySQL

8.1.1. Server web, browser, linguaggi di scripting

  • Principali server web
    • Apache (Linux, Windows)
    • Internet Information Server (IIS) (NT), Personal Web Server (PWS) (Windows 9x)
  • Principali browser
    • Internet Explorer (Windows)
    • Netscape (Linux, Windows)
  • Linguaggi di scripting lato server
    • VBScript (IIS, PWS)
    • JavaScript (IIS, PWS)
    • Perl (Apache, IIS, PWS)
    • PHP (Apache, IIS, PWS)
    • Java (Apache, Tomcat)
    • Linguaggi .NET
  • Linguaggi di scripting lato browser
    • VBScript (IE)
    • JavaScript (IE, Netscape)
    • PerlScript (IE)
    • Java (IE, Netscape)

8.1.2. Dove trovare gli strumenti

Netscape
http://www.netscape.com/ (link per il download)
Internet Explorer
http://www.microsoft.com/windows/ie/default.asp
PHP
http://www.php.net
http://www.php.net/downloads.php (Binari Windows)
PERL
http://www.activestate.com http://www.activestate.com/Products/
http://www.activestate.com/Products/ActivePerl/
VBScript, JavaScript
http://msdn.microsoft.com/scripting (seguire il link Windows Script)
JAVA
http://java.sun.com/
http://java.sun.com/downloads.html (JSE)
http://java.sun.com/j2se/1.4/download.html
Apache
http://www.apache.org/
http://www.apache.org/dist/httpd/binaries/win32/
PWS
incluso nell'Option Pack NT 4.0 per Windows 95
incluso nel CD di Windows 98
http://www.microsoft.com/ntserver/nts/downloads/recommended/NT4OptPk/win95.asp
IIS
(Windows NT/2000)
http://www.microsoft.com
Tomcat
http://jakarta.apache.org/tomcat/
JBuilder
http://www.borland.com/jbuilder/
http://www.borland.com/products/downloads/download_jbuilder.html
EasyPHP
http://www.easyphp.org/
http://www.easyphp.org/telechargements.php3

8.1.3. EasyPHP

Questa applicazione è molto comoda perché include quanto segue in un unico pacchetto:

  • il server Web Apache (1.3.x)
  • il linguaggio PHP (4.x)
  • il DBMS MySQL (3.23.x)
  • uno strumento di amministrazione MySQL: PhpMyAdmin

L'applicazione di installazione si presenta così:

Image

L'installazione di EasyPHP è semplice e nel file system viene creata una struttura di directory:

Image

easyphp.exe
il file eseguibile dell'applicazione
apache
la struttura delle directory del server Apache
mysql
la directory del database MySQL
phpMyAdmin
la struttura delle directory dell'applicazione phpMyAdmin
PHP
la struttura delle directory di PHP
www
radice dell'albero delle directory per le pagine web servite dal server Apache di EasyPHP
cgi-bin
directory in cui è possibile inserire gli script CGI per il server Apache

Il vantaggio principale di EasyPHP è che l'applicazione è preconfigurata. Pertanto, Apache, PHP e MySQL sono già configurati per funzionare insieme. Quando si avvia EasyPHP tramite il suo collegamento nel menu Programmi, nell'angolo in basso a destra dello schermo compare un'icona.

Si tratta della lettera E con un puntino rosso, che dovrebbe lampeggiare se il server web Apache e il database MySQL sono operativi. Cliccandoci sopra con il tasto destro del mouse, si accede alle opzioni del menu:

Image

L'opzione Amministrazione consente di configurare le impostazioni ed eseguire test di funzionalità:

Image

8.1.3.1. Amministrazione PHP

Il pulsante Informazioni PHP dovrebbe consentire di verificare che la combinazione Apache-PHP funzioni correttamente: dovrebbe apparire una pagina di informazioni su PHP:

Image

Il pulsante "Extensions" mostra un elenco delle estensioni PHP installate. Si tratta in realtà di librerie di funzioni.

Image

La schermata sopra mostra, ad esempio, che sono presenti le funzioni necessarie per utilizzare il database MySQL.

Il pulsante "Impostazioni" mostra il nome utente e la password dell'amministratore del database MySQL.

Image

L'utilizzo del database MySQL esula dall'ambito di questa breve panoramica, ma è chiaro che è necessario impostare una password per l'amministratore del database.

8.1.3.2. Amministrazione di Apache

Sempre nella pagina di amministrazione di EasyPHP, il link "Your Aliases" consente di definire alias associati a una directory. Ciò permette di collocare pagine web al di fuori della directory www nell'albero di directory di EasyPHP.

Image

Se, nella pagina sopra, inserisci le seguenti informazioni:

Image

e clicchi sul pulsante "Convalida", le seguenti righe vengono aggiunte al file <easyphp>\apache\conf\httpd.conf:

    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> si riferisce alla directory di installazione di EasyPHP. httpd.conf è il file di configurazione del server Apache. È quindi possibile ottenere lo stesso risultato modificando direttamente questo file. Le modifiche al file httpd.conf vengono normalmente applicate immediatamente da Apache. Se così non fosse, sarà necessario arrestare e riavviare il server, utilizzando l'icona di EasyPHP:

Image

Per completare il nostro esempio, ora possiamo inserire le pagine web nella struttura di directory e:\data\serge\web:

C:\winnt\system32>dir e:\data\serge\web\html\balises.htm

14/07/2002  17:02                3 767 balises.htm

e richiedere questa pagina utilizzando l'alias st:

Image

In questo esempio, il server Apache è stato configurato per funzionare sulla porta 81. La sua porta predefinita è 80. Ciò è controllato dalla seguente riga nel file httpd.conf che abbiamo già visto:

Port 81

8.1.3.3. Il file di configurazione di Apache htpd.conf

Quando si desidera ottimizzare Apache, è necessario modificare manualmente il file di configurazione httpd.conf, che si trova nella cartella <easyphp>\apache\conf:

Image

Ecco alcuni punti chiave da tenere in considerazione in questo file di configurazione:

riga/e
ruolo
ServerRoot "D:/Program Files/Apache Group/Apache"
specifica la cartella contenente la struttura delle directory di Apache
Porta 80
specifica quale porta utilizzerà il server web. In genere, è la 80. Modificando questa riga, è possibile far funzionare il server web su una porta diversa
ServerAdmin root@istia.univ-angers.fr
l'indirizzo e-mail dell'amministratore del server Apache
ServerName stahe.istia.uang
il nome della macchina su cui è in esecuzione il server Apache
ServerRoot "E:/Program Files/EasyPHP/apache"
la directory di installazione del server Apache. Quando nel file di configurazione compaiono nomi di file relativi, essi sono relativi a questa directory.
DocumentRoot "E:/Program Files/EasyPHP/www"
la directory principale dell'albero delle pagine web servite dal server. Qui, l'URL http://machine/rep1/fic1.html corrisponderà al file E:\Program Files\EasyPHP\www\rep1\fic1.html
<Directory "E:/Program Files/EasyPHP/www">
imposta le proprietà della cartella precedente
ErrorLog logs/error.log
cartella logs, quindi in pratica <ServerRoot>\logs\error.log: E:\Program Files\EasyPHP\apache\logs\error.log. Questo è il file da controllare se noti che il server Apache non funziona.
    ScriptAlias /cgi-bin/ "E:/Program Files/EasyPHP/cgi-bin/"
E:\Program Files\EasyPHP\cgi-bin sarà la radice dell'albero di directory in cui è possibile collocare gli script CGI. Pertanto, l'URL http://machine/cgi-bin/rep1/script1.pl sarà l'URL dello script CGI E:\Program Files\EasyPHP\cgi-bin\rep1\script1.pl.
<Directory "E:/Program Files/EasyPHP/cgi-bin/">
imposta le proprietà della cartella sopra indicata
LoadModule php4_module "E:/Program Files/EasyPHP/php/php4apache.dll"
AddModule mod_php4.c
Righe per caricare i moduli che consentono ad Apache di funzionare con PHP4.
    AddType application/x-httpd-php .phtml .pwml .php3 .php4 .php .php2 .inc
imposta le estensioni dei file da trattare come file PHP

8.1.3.4. Amministrazione di MySQL con PhpMyAdmin

Nella pagina di amministrazione di EasyPHP, clicca sul pulsante PhpMyAdmin:

Image

L'elenco a discesa sotto Home mostra i database attuali.
Il numero tra parentesi indica il numero di tabelle. Se selezioni un database, vengono visualizzate le relative tabelle:

La pagina web offre una serie di operazioni sul database:

Image

Se clicchi sul link Visualizza utente:

Image

Qui c'è un solo utente: root, che è l'amministratore di MySQL. Seguendo il link Modifica, è possibile modificare la sua password, che al momento è vuota — una pratica sconsigliata per un amministratore.

Non diremo altro su phpMyAdmin, che è un programma ricco di funzionalità che meriterebbe una discussione di diverse pagine.

8.1.4. PHP

Abbiamo visto come ottenere PHP tramite l'applicazione EasyPHP. Per ottenere PHP direttamente, vai al sito web http://www.php.net.

PHP non si limita all'uso web. È possibile utilizzarlo come linguaggio di scripting su Windows. Crea il seguente script e salvalo come date.php:

<?
  // script php affichant l'heure
  $maintenant=date("j/m/y, H:i:s",time());
  echo "Nous sommes le $maintenant";
?>

In una finestra DOS, vai alla directory contenente date.php ed eseguilo:

E:\data\serge\php\essais>"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

8.1.5. PERL

È preferibile che Internet Explorer sia già installato. Se è presente, Active Perl lo configurerà in modo che accetti script PERL nelle pagine HTML, script che verranno eseguiti dallo stesso IE sul lato client. Il sito web di Active Perl è disponibile all'indirizzo http://www.activestate.comA. Durante l'installazione, PERL verrà installato in una directory che chiameremo <perl>. Essa contiene la seguente struttura di directory:

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

Il file eseguibile perl.exe si trova in <perl>\bin. Perl è un linguaggio di scripting che funziona su Windows e Unix. Viene utilizzato anche nella programmazione web. Scriviamo il nostro primo script:

# script PERL affichant l'heure

# modules
use strict;

# programme
my ($secondes,$minutes,$heure)=localtime(time);
print "Il est $heure:$minutes:$secondes\n";

Salva questo script in un file chiamato heure.pl. Apri una finestra DOS, vai alla directory che contiene lo script ed eseguilo:


E:\data\serge\Perl\Essais>e:\perl\bin\perl.exe heure.pl
Il est 9:34:21

8.1.6. VBScript, JavaScript, PerlScript

Questi sono linguaggi di scripting per Windows. Possono essere eseguiti in vari ambienti, come

  • Windows Scripting Host per l’uso diretto in Windows, in particolare per la scrittura di script di amministrazione di sistema
  • Internet Explorer. Viene quindi utilizzato all’interno delle pagine HTML, alle quali aggiunge un livello di interattività che non può essere ottenuto con il solo HTML.
  • Internet Information Server (IIS), il server web di Microsoft su NT/2000, e il suo equivalente, Personal Web Server (PWS), su Win9x. In questo caso, VBScript viene utilizzato per la programmazione web lato server, una tecnologia denominata ASP (Active Server Pages) da Microsoft.

Scaricare il file di installazione dall'URL: http://msdn.microsoft.com/scripting e seguire i collegamenti relativi a Windows Script. Verranno installati i seguenti componenti:

  • il contenitore Windows Scripting Host, che supporta vari linguaggi di scripting come VBScript e JavaScript, oltre ad altri come PerlScript, incluso in Active Perl.
  • un interprete VBScript
  • un interprete JavaScript

Eseguiamo alcuni test rapidi. Creiamo il seguente programma VBScript:

' 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

Questo programma utilizza oggetti. Chiamiamolo objects.vbs (l'estensione .vbs indica un file VBScript). Accedete alla directory in cui si trova ed eseguite il programma:

E:\data\serge\windowsScripting\vbscript\poly\objets>cscript objets.vbs
Microsoft (R) Windows Script Host Version 5.6
Copyright (C) Microsoft Corporation 1996-2001. All rights reserved.

nom=dupont
age=18

Ora creiamo il seguente programma JavaScript che utilizza gli array:

// 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

Questo programma utilizza gli array. Chiamiamolo arrays.js (il suffisso .js indica un file JavaScript). Accedete alla directory in cui si trova ed eseguite il programma:

E:\data\serge\windowsScripting\javascript\poly\tableaux>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

Un ultimo esempio in PerlScript per concludere. Per accedere a PerlScript è necessario avere Active Perl installato.

<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>

Questo programma mostra come creare e utilizzare due dizionari: uno nello stile classico di Perl e l'altro utilizzando l'oggetto Windows Script Scripting Dictionary. Salviamo questo codice nel file dico.wsf (wsf è l'estensione dei file Windows Script). Accediamo alla cartella del programma ed eseguiamolo:

E:\data\serge\windowsScripting\perlscript\essais>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 può utilizzare oggetti provenienti dal contenitore in cui viene eseguito. In questo caso, si trattava di oggetti provenienti dal contenitore Windows Script. Nel contesto della programmazione web, gli script VBScript, JavaScript e PerlScript possono essere eseguiti sia all'interno del browser IE che su un server PWS o IIS. Se lo script è piuttosto complesso, potrebbe essere opportuno testarlo al di fuori del contesto web, all'interno del contenitore Windows Script come visto in precedenza. In questo modo, è possibile testare solo le funzioni dello script che non utilizzano oggetti specifici del browser o del server. Anche con questa restrizione, questa opzione rimane utile perché in genere è piuttosto impraticabile eseguire il debug di script in esecuzione all'interno di server web o browser.

8.1.7. JAVA

Java è disponibile all'URL: http://www.sun.com (vedere l'inizio di questo documento) ed è installato in una struttura di directory denominata <java> che contiene i seguenti elementi:

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

Nella directory bin troverete javac.exe, il compilatore Java, e java.exe, la Java Virtual Machine. Potete eseguire i seguenti test:

  1. Scrivere il seguente script:
//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
  1. Salva questo programma come heure.java. Apri una finestra DOS. Vai alla directory contenente il file heure.java e compila:
D:\data\java\essais>c:\jdk1.3\bin\javac heure.java
Note: heure.java uses or overrides a deprecated API.
Note: Recompile with -deprecation for details.

Nel comando sopra riportato, c:\jdk1.3\bin\javac deve essere sostituito con il percorso esatto del compilatore javac.exe. Ora dovresti avere un file denominato heure.class nella stessa directory di heure.java; questo è il programma che verrà ora eseguito dalla macchina virtuale java.exe.

  1. Esegui il programma:
D:\data\java\essais>c:\jdk1.3\bin\java heure
Il est 10:44:2

8.1.8. Server Apache

Abbiamo visto che il server Apache può essere ottenuto con l'applicazione EasyPHP. Per scaricarlo direttamente, vai sul sito web di Apache: http://www.apache.org. L'installazione crea una struttura di directory contenente tutti i file necessari per il server. Chiamiamo questa directory <apache>. Contiene una struttura di directory simile alla seguente:

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
conf
Directory dei file di configurazione di Apache
log
Directory dei file di log di Apache (monitoraggio)
bin
Esecutibili di Apache

8.1.8.1. Configurazione

Nella directory <Apache>\conf troverete i seguenti file: httpd.conf, srm.conf, access.conf. Nelle ultime versioni di Apache, questi tre file sono stati uniti in httpd.conf. Abbiamo già trattato i punti chiave di questo file di configurazione. Negli esempi seguenti, per i test è stata utilizzata la versione Apache di EasyPHP e, di conseguenza, il relativo file di configurazione. In questo file, DocumentRoot, che indica la radice dell'albero delle directory delle pagine web, è e:\program files\easyphp\www.

8.1.8.2. PHP - Collegamento Apache

Per effettuare un test, creare il file intro.php con la seguente singola riga:

<? phpinfo() ?>

e inseriscilo nella directory principale delle pagine web del server Apache (DocumentRoot sopra). Richiedi l'URL http://localhost/intro.php. Dovresti vedere un elenco di informazioni su PHP:

Image

Il seguente script PHP visualizza l'ora. Lo abbiamo già visto in precedenza:

<?
  // 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());
?>

Metti questo file di testo nella directory principale del server Apache (DocumentRoot) e chiamalo date.php. Apri un browser e inserisci l'URL http://localhost/date.php. Vedrai la seguente pagina:

Image

8.1.8.3. Collegamento PERL-APACHE

Ciò si ottiene utilizzando una riga del tipo: ScriptAlias /cgi-bin/ "E:/Program Files/EasyPHP/cgi-bin/" nel file <apache>\conf\httpd.conf. La sua sintassi è ScriptAlias /cgi-bin/ "<cgi-bin>" dove <cgi-bin> è la cartella in cui possono essere collocati gli script CGI. CGI (Common Gateway Interface) è uno standard per la comunicazione tra il server web e le applicazioni. Un client richiede una pagina dinamica al server web, ovvero una pagina generata da un programma. Il server web deve quindi istruire un programma affinché generi la pagina. Il CGI definisce l’interazione tra il server e il programma, in particolare il modo in cui le informazioni vengono trasmesse tra queste due entità.

Se necessario, modificare la riga ScriptAlias /cgi-bin/ &quot;&lt;cgi-bin&gt;&quot; e riavviare il server Apache. Quindi eseguire il seguente test:

  1. Scrivere lo script:
#!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
;
  1. Inserisci questo script in <cgi-bin>\heure.pl, dove <cgi-bin> è la directory che può ricevere script CGI (vedi httpd.conf). La prima riga #!c:\perl\bin\perl.exe specifica il percorso dell'eseguibile perl.exe. Modificalo se necessario.
  2. Avvia Apache se non l'hai già fatto
  3. Richiedi l'URL http://localhost/cgi-bin/heure.pl in un browser. Vedrai la seguente pagina:

Image

8.1.9. Il server PWS

8.1.9.1. Installazione

Il PWS (Personal Web Server) è una versione personale dell'IIS (Internet Information Server) di Microsoft. L'IIS è disponibile sui computer con sistema operativo NT e 2000. Sui computer Win9x, PWS è normalmente incluso nel pacchetto di installazione di Internet Explorer. Tuttavia, non viene installato di default. È necessario eseguire un'installazione personalizzata di IE e richiedere l'installazione di PWS. È disponibile anche nell'Option Pack NT 4.0 per Windows 95.

8.1.9.2. Test iniziali

La directory principale per le pagine web PWS è drive:\inetpub\wwwroot, dove drive è il disco su cui è stato installato PWS. Di seguito si supporrà che tale unità sia D. Pertanto, l'URL http://machine/rep1/page1.html corrisponde al file d:\inetpub\wwwroot\rep1\page1.html. Il server PWS interpreta qualsiasi file con estensione .asp (Active Server Pages) come uno script che deve eseguire per generare una pagina HTML.

PWS funziona sulla porta 80 per impostazione predefinita. Anche il server web Apache... È quindi necessario arrestare Apache per lavorare con PWS se si dispone di entrambi i server. L'altra soluzione è configurare Apache per funzionare su una porta diversa. Nel file di configurazione di Apache httpd.conf, sostituisci la riga Port 80</mark> con Port 81</mark>. Apache ora funzionerà sulla porta 81 e potrà essere utilizzato contemporaneamente a PWS. Se PWS è in esecuzione e richiedi l'URL http://localhost, vedrai una pagina simile alla seguente:

Image

8.1.9.3. PHP - Collegamento PWS

  1. Di seguito è riportato un file .reg per la modifica del registro. Fare doppio clic su questo file per modificare il registro. In questo caso, la DLL richiesta si trova in d:\php4 insieme all'eseguibile PHP. Modificare secondo necessità. Le barre rovesciate (\) devono essere raddoppiate nel percorso della DLL.
REGEDIT4

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\w3svc\parameters\Script Map]
".php"="d:\\php4\\php4isapi.dll"
  1. Riavvia il computer affinché la modifica al registro abbia effetto.
  1. Creare una cartella "php" in d:\inetpub\wwwroot, che è la radice del server PWS. Una volta fatto, aprire PWS e andare alla scheda "Avanzate". Fare clic sul pulsante "Aggiungi" per creare una directory virtuale:

Directory/Sfoglia: d:\inetpub\wwwroot\php

Alias: php

Selezionare la casella "Esegui".

  1. Conferma le impostazioni e riavvia PWS. Inserisci il file intro.php in d:\inetpub\wwwroot\php, contenente solo la seguente riga:

<? phpinfo() ?>

  1. Richiedi l'URL http://localhost/php/intro.php dal server PWS. Dovresti vedere l'elenco delle informazioni PHP già visualizzate con Apache.

8.1.10. Tomcat: servlet Java e JSP (Java Server Pages)

Tomcat è un server web che genera pagine HTML utilizzando servlet (programmi Java eseguiti dal server web) o JSP (Java Server Pages), che combinano codice Java con codice HTML. È l'equivalente delle ASP (Active Server Pages) sul server IIS/PWS di Microsoft, dove il codice VBScript o JavaScript viene combinato con il codice HTML.

8.1.10.1. Installazione

Tomcat è disponibile all'URL: http://jakarta.apache.org. Si scaricherà un file di installazione .exe. Quando si esegue questo programma, viene prima richiesto di selezionare quale JDK utilizzare. Questo perché Tomcat richiede un JDK per installarsi e poi per compilare ed eseguire i servlet Java. È quindi necessario avere un JDK Java installato prima di installare Tomcat. Si consiglia di utilizzare il JDK più recente. L'installazione creerà una struttura di directory <tomcat>:

Image

consiste semplicemente nell'estrarre questo archivio in una directory. Scegli una directory il cui percorso contenga solo nomi senza spazi (non, ad esempio, "Programmi"), poiché è presente un bug nel processo di installazione di Tomcat. Utilizza, ad esempio, C:\tomcat o D:\tomcat. Chiamiamo questa directory <tomcat>. Al suo interno troverai una cartella denominata jakarta-tomcat, che contiene la seguente struttura di directory:

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

8.1.10.2. Avvio/Arresto del server Web Tomcat

Tomcat è un server web, proprio come Apache o PWS. Per avviarlo, utilizzare i collegamenti nel menu Programmi:

Avvia Tomcat
per avviare Tomcat
Arresta Tomcat
per arrestarlo

Quando avvii Tomcat, appare una finestra DOS con il seguente contenuto:

Image

È possibile ridurre a icona questa finestra DOS. Rimarrà aperta finché Tomcat sarà in esecuzione. È quindi possibile procedere con i primi test. Il server web Tomcat è in esecuzione sulla porta 8080. Una volta avviato Tomcat, aprire un browser web e digitare l'URL http://localhost:8080. Dovrebbe apparire la seguente pagina:

Image

Seguire il link Esempi di Servlet:

Image

Clicca sul link "Esegui" relativo a RequestParameters, poi su quello relativo a Source. Avrai così un primo assaggio di cosa sia un servlet Java. Puoi fare lo stesso con i link presenti nelle pagine JSP.

Per arrestare Tomcat, usa il link Stop Tomcat nel menu Programs.

8.1.11. JBuilder

JBuilder è un ambiente di sviluppo per applicazioni Java. Per creare servlet Java senza interfacce grafiche, un ambiente del genere non è strettamente necessario. Sono sufficienti un editor di testo e un JDK. Tuttavia, JBuilder offre alcuni vantaggi rispetto al metodo precedente:

  • facilità di debug: il compilatore evidenzia le righe errate in un programma ed è facile raggiungerle
  • completamento del codice: quando si utilizza un oggetto Java, JBuilder visualizza un elenco delle sue proprietà e dei suoi metodi direttamente nel codice. Ciò è molto utile, dato che la maggior parte degli oggetti Java ha numerose proprietà e metodi difficili da ricordare.

JBuilder è disponibile all'indirizzo http://www.borland.com/jbuilder. Per ottenere il software è necessario compilare un modulo. Una chiave di attivazione viene inviata via e-mail. Per installare JBuilder 7, ad esempio, sono stati seguiti i seguenti passaggi:

  • Sono stati scaricati tre file ZIP: uno per l'applicazione, uno per la documentazione e uno per gli esempi. Ciascuno di questi file ZIP ha un link separato sul sito web di JBuilder.
  • Per prima cosa è stata installata l'applicazione, poi la documentazione e infine gli esempi
  • Quando si avvia l'applicazione per la prima volta, viene richiesta una chiave di attivazione: si tratta di quella che è stata inviata via e-mail. Nella versione 7, questa chiave è in realtà un intero file di testo che può essere inserito, ad esempio, nella cartella di installazione di JB7. Quando viene richiesta la chiave, è sufficiente specificare il file in questione. Una volta fatto questo, la chiave non verrà più richiesta.

Ci sono alcune configurazioni utili da impostare se si desidera utilizzare JBuilder per creare servlet Java. La cosiddetta versione "Personal" di JBuilder è una versione ridotta che non include tutte le classi necessarie per lo sviluppo web Java. È possibile configurare JBuilder per utilizzare le librerie di classi fornite da Tomcat. Ecco come:

  • Avviare JBuilder

Image

  • abilitare l'opzione Strumenti/Configura JDK

Image

Nella sezione Impostazioni JDK sopra riportata, il campo Nome visualizza normalmente JDK 1.3.1. Se si dispone di un JDK più recente, utilizzare il pulsante Modifica per specificarne la directory di installazione. Sopra, abbiamo specificato la directory E:\Program Files\jdk14 dove è stato installato un JDK 1.4. D'ora in poi, JBuilder utilizzerà questo JDK per le sue compilazioni ed esecuzioni. Nella sezione (Class, Source, Documentation), vedrai un elenco di tutte le librerie di classi che JBuilder analizzerà: in questo caso, le classi del JDK 1.4. Le classi incluse in questo JDK non sono sufficienti per lo sviluppo web Java. Per aggiungere ulteriori librerie di classi, usa il pulsante Add e seleziona i file .jar aggiuntivi che desideri utilizzare. I file .jar sono librerie di classi. Tomcat 4.x include tutte le librerie di classi necessarie per lo sviluppo web. Si trovano in <tomcat>\common\lib, dove <tomcat> è la directory di installazione di Tomcat:

Image

Utilizzando il pulsante Aggiungi, aggiungeremo queste librerie, una per una, all'elenco delle librerie analizzate da JBuilder:

Image

D'ora in poi, potrai compilare programmi Java conformi allo standard J2EE, inclusi i servlet Java. JBuilder viene utilizzato solo per la compilazione; l'esecuzione viene successivamente gestita da Tomcat secondo le procedure spiegate nel corso.