10. Appendici - Strumenti di sviluppo web
Qui indichiamo dove trovare e come installare strumenti gratuiti per lo sviluppo web in Java, PHP, ASP e ASP.NET. Alcuni strumenti sono stati aggiornati e le istruzioni fornite qui potrebbero non essere più valide per le versioni più recenti. I lettori dovranno adattarsi di conseguenza... :
- un browser recente in grado di visualizzare XML. Gli esempi di questo corso sono stati testati con Internet Explorer 6.
- Un JDK (Java Development Kit) recente. Il JDK include il plug-in per browser Java 1.4, che consente ai browser di visualizzare le applet Java utilizzando il JDK 1.4.
- Un ambiente di sviluppo Java per la scrittura di servlet Java. Qui utilizziamo JBuilder 7.
- Server web: Apache, PWS (Personal Web Server, Cassini), Tomcat.
- Apache può essere utilizzato per lo sviluppo di applicazioni web in PERL (Practical Extracting and Reporting Language) o PHP (Personal Home Page)
- PWS può essere utilizzato per lo sviluppo di applicazioni web in ASP (Active Server Pages) o PHP su piattaforme Windows. Cassini supporta lo sviluppo in ASP.NET.
- Tomcat viene utilizzato per lo sviluppo di applicazioni web che utilizzano servlet Java o JSP (Java Server Pages)
- Un sistema di gestione di database: MySQL
- EasyPHP: uno strumento che raggruppa il server web Apache, il linguaggio PHP e il DBMS MySQL
10.1. Server web, browser, linguaggi di scripting
- Principali server web
- Apache (Linux, Windows)
- Internet Information Server (IIS) (NT), Personal Web Server (PWS) (Windows 9x), Cassini (piattaforme .NET)
- Principali browser
- Internet Explorer (Windows)
- Netscape (Linux, Windows)
- Mozilla (Linux, Windows)
- Opera (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)
10.2. Dove trovare gli strumenti
http://www.netscape.com/ (link per il download) | |
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 (seguire il link Windows Script) | |
http://java.sun.com/ | |
http://www.apache.org/ | |
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 | |
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
Questa applicazione è molto comoda perché include quanto segue in un unico pacchetto:
- il server web Apache
- un interprete PHP
- il DBMS MySQL (3.23.x)
- uno strumento di amministrazione MySQL: PhpMyAdmin
L'applicazione di installazione si presenta così:

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

l'eseguibile dell'applicazione | |
la struttura delle directory del server Apache | |
la directory del database MySQL | |
la struttura delle directory dell'applicazione phpMyAdmin | |
la struttura delle directory di PHP | |
radice dell'albero delle directory per le pagine web servite dal server Apache di EasyPHP | |
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, appare un'icona nell'angolo in basso a destra dello schermo.
![]() |
La "E" con un punto rosso dovrebbe lampeggiare se il server web Apache e il database MySQL sono attivi e funzionanti. Facendo clic con il tasto destro del mouse su di essa si apre un menu con le seguenti opzioni:

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

10.3.1. configurazione dell'interprete PHP
Il pulsante Informazioni PHP dovrebbe consentire di verificare che la combinazione Apache-PHP funzioni correttamente: dovrebbe apparire una pagina di informazioni PHP:

Il pulsante "Extensions" (Estensioni) visualizza un elenco delle estensioni PHP installate. Si tratta in realtà di librerie di funzioni.

La schermata sopra mostra, ad esempio, che le funzioni necessarie per utilizzare il database MySQL sono presenti.
Il pulsante "Impostazioni" visualizza il nome utente e la password dell'amministratore del database MySQL.

L'utilizzo del database MySQL va oltre lo scopo di questa rapida panoramica, ma è chiaro che è necessario impostare una password per l'amministratore del database.
10.3.2. Amministrazione di Apache
Sempre nella pagina di amministrazione di EasyPHP, il link "I tuoi alias" consente di definire alias associati a una directory. Ciò consente di collocare pagine web al di fuori della directory www nell'albero delle directory di EasyPHP.

Se, nella pagina sopra, si inseriscono le seguenti informazioni:

e clicchi sul pulsante "Validate", 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> indica la 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 apportate al file httpd.conf vengono normalmente applicate immediatamente da Apache. Se ciò non dovesse avvenire, sarà necessario arrestare e riavviare il server utilizzando l'icona di EasyPHP:

Per concludere il nostro esempio, ora possiamo inserire le pagine web nella struttura di directory e:\data\serge\web:
e richiedere questa pagina utilizzando l'alias st:

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:
10.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 qui nella cartella <easyphp>\apache\conf:

Ecco alcuni punti chiave da notare in questo file di configurazione:
| ruolo |
indica la cartella contenente l'albero di directory di Apache | |
specifica quale porta utilizzerà il server web. In genere, è la 80. Modificando questa riga, è possibile far funzionare il server web su una porta diversa | |
l'indirizzo e-mail dell'amministratore del server Apache | |
il nome del computer su cui è in esecuzione il server Apache | |
la directory di installazione del server Apache. Quando nel file di configurazione compaiono nomi di file relativi, essi sono relativi a questa directory. | |
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 | |
imposta le proprietà della cartella precedente | |
cartella dei log, quindi in pratica <ServerRoot>\logs\error.log: E:\Program Files\EasyPHP\apache\logs\error.log. Questo è il file da controllare se ti accorgi che il server Apache non funziona. | |
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. | |
imposta le proprietà della cartella sopra indicata | |
Righe per caricare i moduli che consentono ad Apache di funzionare con PHP4. | |
imposta le estensioni dei file da trattare come file PHP |
10.3.4. Amministrazione di MySQL con PhpMyAdmin
Nella pagina di amministrazione di EasyPHP, fare clic sul pulsante PhpMyAdmin:

L'elenco a discesa sotto Home mostra i database attuali. | ![]() |
Il numero tra parentesi indica il numero di tabelle. Se si seleziona un database, vengono visualizzate le relative tabelle: | ![]() |
La pagina web offre una serie di operazioni sul database:

Se clicchi sul link Visualizza utente:

Qui c'è un solo utente: root, che è l'amministratore di MySQL. Cliccando sul link "Modifica" è possibile cambiare la sua password, che al momento è vuota — una pratica sconsigliata per un amministratore. Non approfondiremo ulteriormente PhpMyAdmin, poiché si tratta di uno strumento ricco di funzionalità che richiederebbe diverse pagine per essere descritto in modo esaustivo.
10.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 è limitato all'uso web. Può essere utilizzato 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:
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
È preferibile che Internet Explorer sia già installato. Se presente, Active Perl lo configurerà per accettare script PERL nelle pagine HTML, che saranno eseguiti da IE stesso sul lato client. Il sito web di Active Perl si trova all'URL http://www.activestate.comA installazione, PERL verrà installato in una directory che chiameremo <perl>. 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:
10.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, aggiungendo 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 chiamata 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:
- 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:
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
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:
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
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 usare due dizionari: uno nello stile classico di Perl, l'altro usando l'oggetto Windows Script Scripting Dictionary. Salviamo questo codice nel file dico.wsf (wsf è l'estensione dei file Windows Script). Andiamo nella cartella del programma ed eseguiamolo:
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 può accedere agli oggetti 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 discusso in precedenza. In questo modo, è possibile testare solo le funzioni dello script che non utilizzano oggetti specifici del browser o del server. Nonostante questa limitazione, questo approccio rimane utile perché il debug degli script in esecuzione all'interno di server web o browser è generalmente piuttosto impraticabile.
10.7. JAVA
Java è disponibile all'URL: http://www.sun.com 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:
- 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
- Salva questo programma come heure.java. Apri una finestra DOS. Vai alla directory contenente il file heure.java e compila:
dos>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. Dovresti ottenere un file denominato heure.class nella stessa directory di heure.java; questo è il programma che verrà ora eseguito dalla macchina virtuale java.exe.
- Esegui il programma:
Nel comando sopra riportato, [c:\jdk1.3\bin\java] deve essere sostituito con il percorso esatto della macchina virtuale Java [java.exe].
10.8. Server Apache
Abbiamo visto che il server Apache può essere ottenuto con l'applicazione EasyPHP. Per scaricarlo direttamente, vai al 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
Directory dei file di configurazione di Apache | |
Directory dei file di log di Apache (monitoraggio) | |
Esecutibili di Apache |
10.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.
10.8.2. PHP - Collegamento Apache
Per effettuare un test, creare il file intro.php con la seguente riga:
e inseriscilo nella directory principale del server Apache (DocumentRoot sopra). Richiedi l'URL http://localhost/intro.php. Dovresti vedere un elenco di informazioni PHP:

Il seguente script PHP visualizza l'ora. L'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:

10.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 a generare la pagina. 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/ "<cgi-bin>" e riavviare il server Apache. Quindi eseguire il seguente test:
- 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
;
- 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.
- Avvia Apache se non l'hai già fatto
- Richiedi l'URL http://localhost/cgi-bin/heure.pl in un browser. Verrà visualizzata la seguente pagina:

10.9. Il server PWS
10.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 per impostazione predefinita. È necessario eseguire un'installazione personalizzata di IE e richiedere l'installazione di PWS. È disponibile anche nell'Option Pack NT 4.0 per Windows 95.
10.9.2. Test iniziali
La directory principale delle pagine web di PWS è drive:\inetpub\wwwroot, dove drive è l'unità su cui è stato installato PWS. Di seguito supporremo 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 consiste nel configurare Apache affinché funzioni su una porta diversa. Pertanto, nel file di configurazione di Apache [httpd.conf], sostituisci la riga Port 80 con Port 81; Apache funzionerà ora sulla porta 81 e potrà essere utilizzato contemporaneamente a PWS. Se PWS è stato avviato e richiedi l'URL http://localhost, otterrai una pagina simile alla seguente:

10.9.3. PHP - Collegamento PWS
- 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"
- Riavvia il computer affinché la modifica del registro abbia effetto.
- 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:
- Confermare le impostazioni e riavviare PWS. Inserire il file intro.php in d:\inetpub\wwwroot\php, contenente solo la seguente riga:
- Richiedere l'URL http://localhost/php/intro.php dal server PWS. Dovrebbe essere visualizzato l'elenco delle informazioni PHP già visualizzate con Apache.
10.10. Tomcat: Java Servlet 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 di ASP (Active Server Pages) sul server IIS/PWS di Microsoft, dove il codice VBScript o JavaScript è combinato con il codice HTML.
10.10.1. Installazione
Tomcat è disponibile all'URL: http://jakarta.apache.org. Scarica il file di installazione .exe. Quando esegui questo programma, ti viene prima chiesto di selezionare quale JDK utilizzare. Tomcat richiede un JDK per installare e successivamente compilare ed eseguire i servlet Java. È quindi necessario avere un JDK Java installato prima di installare Tomcat. Si consiglia il JDK più recente. L'installazione creerà una struttura di directory <tomcat>:

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
10.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:
per avviare Tomcat | |
per arrestarlo |
Quando avvii Tomcat, appare una finestra DOS con il seguente contenuto:

È possibile ridurre a icona questa finestra DOS. Rimarrà aperta finché Tomcat sarà in esecuzione. A questo punto è 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:

Seguire il link Esempi di servlet:

Fare clic sul collegamento Execute (Esegui) per RequestParameters, quindi su quello per Source. Si avrà così una prima idea di cosa sia un servlet Java. È possibile fare lo stesso con i collegamenti presenti nelle pagine JSP.
Per arrestare Tomcat, utilizzare il collegamento Stop Tomcat nel menu Programs.
10.11. JBuilder
JBuilder è un ambiente di sviluppo di applicazioni Java. Per creare servlet Java senza interfacce grafiche, un ambiente di questo tipo 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 in linea. 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 vi è stata inviata via e-mail. Nella versione 7, questa chiave è in realtà un intero file di testo che può essere collocato, ad esempio, nella cartella di installazione di JB7. Quando viene richiesta la chiave, si specifica quindi 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 con Java. È possibile configurare JBuilder per utilizzare le librerie di classi fornite da Tomcat. Ecco come:
- Avviare JBuilder

- abilitare l'opzione Strumenti/Configura JDK

Nella sezione JDK Settings sopra, il campo Name visualizza in genere "JDK 1.3.1". Se si dispone di un JDK più recente, utilizzare il pulsante Change per specificarne la directory di installazione. Nell'esempio 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 altre 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:

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

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.
10.12. Il server web Cassini
Per lavorare con la piattaforma .NET di Microsoft, è possibile utilizzare il server Web Cassini. Questo è disponibile tramite un altro prodotto chiamato [WebMatrix], che è un ambiente di sviluppo Web gratuito per piattaforme .NET disponibile all'URL:

Seguire attentamente la procedura di installazione del prodotto:
- scaricare e installare la piattaforma .NET (1.1 a marzo 2004)
- scaricare e installare WebMatrix
- Scaricare e installare MSDE (Microsoft Data Engine), che è una versione limitata di SQL Server.
Una volta completata l'installazione, il prodotto [WebMatrix] sarà disponibile tra i programmi installati:

Il collegamento [ASP.NET] di Web Matrix avvia l'IDE di sviluppo ASP.NET:

Il collegamento [Class Browser] avvia uno strumento per esplorare le classi .NET:

Per verificare l'installazione, avviamo [WebMatrix]:
1234

Al primo avvio, [WebMatrix] richiede di specificare le impostazioni del nuovo progetto. Questa è la configurazione predefinita. È possibile configurarlo in modo che questa finestra di dialogo non venga visualizzata all'avvio. In tal caso, sarà possibile accedervi tramite l'opzione [File/Nuovo file]. [WebMatrix] consente di creare modelli per varie applicazioni web. In precedenza, al punto (1), abbiamo specificato che volevamo creare un'applicazione [Pagina ASP.NET], ovvero una pagina web. Al punto (2), specifichiamo la cartella in cui verrà inserita questa pagina web. Al punto (3), inseriamo il nome della pagina. Deve avere l'estensione .aspx. Infine, al punto (4), specifichiamo che vogliamo lavorare con il linguaggio VB.NET; [WebMatrix] supporta anche i linguaggi C# e J#.
Una volta fatto ciò, [WebMatrix] visualizza una pagina di modifica per il file [demo1.aspx]. Qui inseriamo il seguente codice:

- La scheda [Design] consente di "progettare" la pagina web che si desidera creare. Funziona in modo simile a un IDE per lo sviluppo di applicazioni Windows.
- La progettazione grafica della pagina web in [Design] genererà codice HTML nella scheda [HTML]
- La pagina web può contenere controlli che generano eventi che richiedono una risposta, come un pulsante. Questi eventi saranno gestiti dal codice VB.NET inserito nella scheda [Code]
- In definitiva, il file demo1.aspx è un file di testo che combina codice HTML e codice VB.NET, risultante dalla progettazione grafica creata in [Design], dal codice HTML aggiunto manualmente in [HTML] e dal codice VB.NET inserito in [Code]. L'intero file è disponibile nella scheda [All].
- Uno sviluppatore ASP.NET esperto può creare il file demo1.aspx direttamente utilizzando un editor di testo senza l'ausilio di alcun IDE.
Selezioniamo l'opzione [All]. Possiamo vedere che [WebMatrix] ha già generato del codice:
<%@ Page Language="VB" %>
<script runat="server">
' Insert page code here
'
</script>
<html>
<head>
</head>
<body>
<form runat="server">
<!-- Insert content here -->
</form>
</body>
</html>
Non cercheremo di spiegare questo codice qui. Lo trasformeremo come segue:
<html>
<head>
<title>Démo asp.net </title>
</head>
<body>
Il est <% =Date.Now.ToString("hh:mm:ss") %>
</body>
</html>
Il codice sopra riportato è un mix di codice HTML e VB.NET. È stato inserito tra i tag <% ... %>. Per eseguire questo codice, utilizziamo l'opzione [View/Start]. [WebMatrix] avvia quindi il server web Cassini se non è già in esecuzione

È possibile accettare i valori predefiniti proposti in questa finestra di dialogo e selezionare l'opzione [Avvia]. Il server web è quindi attivo. [WebMatrix] avvierà quindi il browser predefinito sul computer su cui è in esecuzione e richiederà l'URL http://localhost:8080/demo1.aspx:

È possibile utilizzare il server Cassini al di fuori di [WebMatrix]. L'eseguibile del server si trova in <WebMatrix>\<versione>\WebServer.exe, dove <WebMatrix> è la directory di installazione di [WebMatrix] e <versione> è il numero di versione:

Aprire una finestra del Prompt dei comandi e passare alla cartella del server Cassini:
E:\Program Files\Microsoft ASP.NET Web Matrix\v0.6.812>dir
...
29/05/2003 11:00 53 248 WebServer.exe
...
Eseguiamo [WebServer.exe] senza alcun parametro:
Viene visualizzata una finestra di aiuto:

L'applicazione [WebServer], nota anche come server web Cassini, accetta tre parametri:
- /port: numero di porta del servizio web. Può essere qualsiasi numero. Il valore predefinito è 80
- /path: il percorso fisico di una cartella sul disco
- /vpath: la cartella virtuale associata alla cartella fisica precedente. Si noti che la sintassi non è /path=path ma /vpath:path, contrariamente a quanto indicato nel pannello di aiuto sopra riportato.
Mettiamo il file [demo1.aspx] nella seguente cartella:

Associamo la cartella virtuale [/webmatrix] alla cartella fisica [d:\data\devel\webmatrix]. Il server web può essere avviato come segue:
E:\Program Files\Microsoft ASP.NET Web Matrix\v0.6.812>webserver /port:100 /path:"d:\data\devel\webmatrix" /vpath:"/webmatrix"
Il server Cassini è ora attivo e la sua icona appare nella barra delle applicazioni. Se si fa doppio clic su di essa:

verranno visualizzate le impostazioni di avvio del server. È inoltre possibile arrestare [Stop] o riavviare [Restart] il server web. Facendo clic sul collegamento [Root URL], la radice dell'albero delle directory web del server si aprirà in un browser:

Segui il link [demos]:

poi il link [demo1.aspx]:

Possiamo vedere che se la cartella fisica P=[d:\data\devel\webmatrix] è stata mappata alla cartella virtuale V=[/webmatrix] e il server è in esecuzione sulla porta 100, la pagina web [demo1.aspx], che si trova fisicamente in [P\demos], sarà accessibile localmente tramite l'URL [http://localhost:100/V/demos/demo1.aspx].
Abbiamo dimostrato, in questo caso specifico, che lo sviluppo web ASP.NET può essere effettuato utilizzando un semplice editor di testo per scrivere le pagine web e il server web Cassini per testarle. Ciò vale indipendentemente dalla complessità dell'applicazione. L'IDE [WebMatrix] offre alcune comodità di sviluppo, ma non molte. Uno strumento come Visual Studio.NET è molto più potente, ma è un prodotto commerciale.


