Skip to content

8. Anexos

8.1. Ferramentas de desenvolvimento web

Aqui indicamos onde encontrar e como instalar as ferramentas necessárias para o desenvolvimento web. Algumas ferramentas passaram por atualizações de versão, e é possível que as explicações aqui fornecidas já não se apliquem às versões mais recentes. O leitor terá então de adaptar-se... No curso de programação web, utilizaremos principalmente as seguintes ferramentas, todas disponíveis gratuitamente:

  • um navegador recente capaz de exibir XML. Os exemplos do curso foram testados com o Internet Explorer 6.
  • Um JDK (Java Development Kit) recente. Os exemplos deste curso foram testados com o JDK 1.4. Este JDK inclui o plug-in do navegador Java 1.4, que permite aos navegadores exibir applets Java utilizando o JDK 1.4.
  • Um ambiente de desenvolvimento Java para escrever servlets Java. Aqui, trata-se do JBuilder 7.
  • Servidores web: Apache, PWS (Personal Web Server), Tomcat.
    • O Apache será utilizado para desenvolver aplicações web em PERL (Practical Extracting and Reporting Language) ou PHP (Personal Home Page)
    • O PWS será utilizado para o desenvolvimento de aplicações web em ASP (Active Server Pages) ou PHP
    • O Tomcat será utilizado para o desenvolvimento de aplicações web utilizando servlets Java ou JSP (Java Server Pages)
  • Uma aplicação de gestão de bases de dados: MySQL
  • EasyPHP: uma ferramenta que integra o servidor web Apache, a linguagem PHP e o SGBD MySQL

8.1.1. Servidores Web, Navegadores, Linguagens de Script

  • Principais servidores web
    • Apache (Linux, Windows)
    • Internet Information Server (IIS) (NT), Personal Web Server (PWS) (Windows 9x)
  • Principais navegadores
    • Internet Explorer (Windows)
    • Netscape (Linux, Windows)
  • Linguagens de script do lado do servidor
    • VBScript (IIS, PWS)
    • JavaScript (IIS, PWS)
    • Perl (Apache, IIS, PWS)
    • PHP (Apache, IIS, PWS)
    • Java (Apache, Tomcat)
    • Linguagens .NET
  • Linguagens de script do lado do navegador
    • VBScript (IE)
    • JavaScript (IE, Netscape)
    • PerlScript (IE)
    • Java (IE, Netscape)

8.1.2. Onde encontrar as ferramentas

Netscape
http://www.netscape.com/ (ligação para downloads)
Internet Explorer
http://www.microsoft.com/windows/ie/default.asp
PHP
http://www.php.net
http://www.php.net/downloads.php (Binários para Windows)
PERL
http://www.activestate.com http://www.activestate.com/Products/
http://www.activestate.com/Products/ActivePerl/
VBScript, JavaScript
http://msdn.microsoft.com/scripting (siga o link do 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
incluído no NT 4.0 Option Pack para Windows 95
incluído no CD do 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

Esta aplicação é muito prática porque inclui o seguinte num único pacote:

  • o servidor Web Apache (1.3.x)
  • a linguagem PHP (4.x)
  • o SGBD MySQL (3.23.x)
  • uma ferramenta de administração do MySQL: PhpMyAdmin

A aplicação de instalação tem o seguinte aspeto:

Image

A instalação do EasyPHP é simples e cria-se uma estrutura de diretórios no sistema de ficheiros:

Image

easyphp.exe
o executável da aplicação
apache
a estrutura de diretórios do servidor Apache
mysql
o diretório da base de dados MySQL
phpMyAdmin
a estrutura de diretórios da aplicação phpMyAdmin
PHP
a estrutura de diretórios do PHP
www
raiz da árvore de diretórios para páginas web servidas pelo servidor Apache do EasyPHP
cgi-bin
diretório onde pode colocar scripts CGI para o servidor Apache

A principal vantagem do EasyPHP é que a aplicação vem pré-configurada. Assim, o Apache, o PHP e o MySQL já estão configurados para funcionar em conjunto. Quando inicia o EasyPHP através do seu atalho no menu Programas, aparece um ícone no canto inferior direito do ecrã.

Trata-se da letra E com um ponto vermelho, que deve piscar se o servidor web Apache e a base de dados MySQL estiverem operacionais. Ao clicar com o botão direito do rato sobre ele, acede às opções do menu:

Image

A opção «Administração» permite-lhe configurar definições e realizar testes de funcionalidade:

Image

8.1.3.1. Administração do PHP

O botão «Informações PHP» deve permitir-lhe verificar se a combinação Apache-PHP está a funcionar corretamente: deverá aparecer uma página de informações PHP:

Image

O botão Extensões exibe uma lista das extensões PHP instaladas. Estas são, na verdade, bibliotecas de funções.

Image

O ecrã acima mostra, por exemplo, que as funções necessárias para utilizar a base de dados MySQL estão presentes.

O botão «Configurações» apresenta o nome de utilizador e a palavra-passe do administrador da base de dados MySQL.

Image

A utilização da base de dados MySQL está fora do âmbito desta breve visão geral, mas fica claro aqui que deve ser definida uma palavra-passe para o administrador da base de dados.

8.1.3.2. Administração do Apache

Ainda na página de administração do EasyPHP, o link «Os seus aliases» permite-lhe definir aliases associados a um diretório. Isto permite-lhe colocar páginas web fora do diretório www na árvore de diretórios do EasyPHP.

Image

Se, na página acima, introduzir as seguintes informações:

Image

e clicar no botão «Validar», as seguintes linhas são adicionadas ao ficheiro <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> refere-se ao diretório de instalação do EasyPHP. O httpd.conf é o ficheiro de configuração do servidor Apache. Por conseguinte, pode obter o mesmo resultado editando este ficheiro diretamente. As alterações ao ficheiro httpd.conf são normalmente aplicadas imediatamente pelo Apache. Se não for esse o caso, terá de parar e reiniciar o servidor, utilizando o ícone do EasyPHP:

Image

Para concluir o nosso exemplo, podemos agora colocar páginas web na árvore de diretórios 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 solicite esta página utilizando o alias st:

Image

Neste exemplo, o servidor Apache foi configurado para funcionar na porta 81. A sua porta padrão é a 80. Isto é controlado pela seguinte linha no ficheiro httpd.conf que já vimos:

Port 81

8.1.3.3. O ficheiro de configuração do Apache htpd.conf

Quando quiser ajustar o Apache, terá de editar manualmente o seu ficheiro de configuração httpd.conf, localizado aqui na pasta <easyphp>\apache\conf:

Image

Aqui estão alguns pontos importantes a ter em conta neste ficheiro de configuração:

linha(s)
função
ServerRoot "D:/Arquivos de Programas/Apache Group/Apache"
especifica a pasta que contém a estrutura de diretórios do Apache
Porta 80
especifica qual a porta que o servidor web irá utilizar. Normalmente, é a 80. Ao alterar esta linha, pode fazer com que o servidor web funcione numa porta diferente
ServerAdmin root@istia.univ-angers.fr
o endereço de e-mail do administrador do servidor Apache
ServerName stahe.istia.uang
o nome da máquina na qual o servidor Apache está a ser executado
ServerRoot "E:/Arquivos de Programas/EasyPHP/apache"
o diretório de instalação do servidor Apache. Quando nomes de ficheiros relativos aparecem no ficheiro de configuração, são relativos a este diretório.
DocumentRoot "E:/Arquivos de Programas/EasyPHP/www"
o diretório raiz da árvore de páginas web servidas pelo servidor. Aqui, a URL http://machine/rep1/fic1.html corresponderá ao ficheiro E:\Program Files\EasyPHP\www\rep1\fic1.html
<Directory "E:/Program Files/EasyPHP/www">
define as propriedades da pasta anterior
ErrorLog logs/error.log
pasta logs, ou seja, efetivamente <ServerRoot>\logs\error.log: E:\Program Files\EasyPHP\apache\logs\error.log. Este é o ficheiro a verificar se notar que o servidor Apache não está a funcionar.
    ScriptAlias /cgi-bin/ "E:/Program Files/EasyPHP/cgi-bin/"
E:\Program Files\EasyPHP\cgi-bin será a raiz da árvore de diretórios onde pode colocar scripts CGI. Assim, a URL http://machine/cgi-bin/rep1/script1.pl será a URL para o script CGI E:\Program Files\EasyPHP\cgi-bin\rep1\script1.pl.
<Directory "E:/Program Files/EasyPHP/cgi-bin/">
define as propriedades da pasta acima
LoadModule php4_module "E:/Program Files/EasyPHP/php/php4apache.dll"
AddModule mod_php4.c
Linhas para carregar os módulos que permitem ao Apache funcionar com o PHP4.
    AddType application/x-httpd-php .phtml .pwml .php3 .php4 .php .php2 .inc
define as extensões de ficheiro a serem tratadas como ficheiros PHP

8.1.3.4. Administração do MySQL com o PhpMyAdmin

Na página de administração do EasyPHP, clique no botão PhpMyAdmin:

Image

A lista suspensa em «Home» apresenta as bases de dados atuais.
O número entre parênteses corresponde ao número de tabelas. Se selecionar uma base de dados, as suas tabelas são apresentadas:

A página web oferece várias operações na base de dados:

Image

Se clicar na ligação «Ver utilizador»:

Image

Existe apenas um utilizador aqui: root, que é o administrador do MySQL. Ao clicar no link «Editar», pode alterar a sua palavra-passe, que atualmente está em branco — uma prática não recomendada para um administrador.

Não falaremos mais sobre o phpMyAdmin, que é um programa rico em funcionalidades que mereceria uma discussão de várias páginas.

8.1.4. PHP

Já vimos como obter o PHP através da aplicação EasyPHP. Para obter o PHP diretamente, aceda ao site http://www.php.net.

O PHP não se limita à utilização na Web. Pode utilizá-lo como linguagem de script no Windows. Crie o seguinte script e guarde-o como date.php:

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

Numa janela do DOS, navegue até ao diretório que contém o ficheiro date.php e execute-o:

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

É preferível que o Internet Explorer já esteja instalado. Se estiver presente, o Active Perl irá configurá-lo para aceitar scripts PERL em páginas HTML, scripts que serão executados pelo próprio IE no lado do cliente. O site do Active Perl encontra-se no endereço http://www.activestate.comA. Durante a instalação, o PERL será instalado num diretório a que chamaremos <perl>. Este diretório contém a seguinte estrutura:

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

O executável perl.exe está localizado em <perl>\bin. O Perl é uma linguagem de script que funciona no Windows e no Unix. Também é utilizada na programação web. Vamos escrever o nosso primeiro script:

# script PERL affichant l'heure

# modules
use strict;

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

Guarde este script num ficheiro chamado heure.pl. Abra uma janela do DOS, navegue até ao diretório que contém o script e execute-o:


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

8.1.6. VBScript, JavaScript, PerlScript

Estas são linguagens de script para o Windows. Podem ser executadas em vários ambientes, tais como

  • Windows Scripting Host para utilização direta no Windows, particularmente para escrever scripts de administração do sistema
  • Internet Explorer. É então utilizado em páginas HTML, às quais acrescenta um nível de interatividade que não pode ser alcançado apenas com HTML.
  • Internet Information Server (IIS), o servidor web da Microsoft no NT/2000, e o seu equivalente, o Personal Web Server (PWS), no Win9x. Neste caso, o VBScript é utilizado para programação web do lado do servidor, uma tecnologia denominada ASP (Active Server Pages) pela Microsoft.

Descarregue o ficheiro de instalação a partir do URL: http://msdn.microsoft.com/scripting e siga as ligações do Windows Script. São instalados os seguintes componentes:

  • o contentor Windows Scripting Host, que suporta várias linguagens de script, tais como VBScript e JavaScript, bem como outras como PerlScript, que está incluída no Active Perl.
  • um interpretador VBScript
  • um interpretador de JavaScript

Vamos fazer alguns testes rápidos. Vamos criar o seguinte programa 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

Este programa utiliza objetos. Vamos chamá-lo de objects.vbs (a extensão .vbs indica um ficheiro VBScript). Navegue até ao diretório onde ele está localizado e execute-o:

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

Agora vamos criar o seguinte programa JavaScript que utiliza matrizes:

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

Este programa utiliza matrizes. Vamos chamá-lo de arrays.js (a extensão .js indica um ficheiro JavaScript). Navegue até ao diretório onde ele se encontra e execute-o:

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

Um último exemplo em PerlScript para terminar. É necessário ter o Active Perl instalado para aceder ao PerlScript.

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

Este programa demonstra como criar e utilizar dois dicionários: um no estilo clássico do Perl e outro utilizando o objeto Windows Script Scripting Dictionary. Vamos guardar este código no ficheiro dico.wsf (wsf é a extensão de ficheiro para ficheiros Windows Script). Navegue até à pasta do programa e execute-o:

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

O PerlScript pode utilizar objetos do contentor no qual é executado. Neste caso, tratava-se de objetos do contentor do Windows Script. No contexto da programação web, os scripts VBScript, JavaScript e PerlScript podem ser executados tanto no navegador IE como num servidor PWS ou IIS. Se o script for um pouco complexo, pode ser aconselhável testá-lo fora do contexto web, dentro do contentor do Windows Script, como visto anteriormente. Desta forma, só é possível testar as funções do script que não utilizam objetos específicos do navegador ou do servidor. Mesmo com esta restrição, esta opção continua a ser útil, pois geralmente é bastante impraticável depurar scripts em execução em servidores web ou navegadores.

8.1.7. JAVA

O Java está disponível no URL: http://www.sun.com (ver o início deste documento) e é instalado numa estrutura de diretórios chamada <java> que contém os seguintes elementos:

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

No diretório bin, encontrará o javac.exe, o compilador Java, e o java.exe, a Máquina Virtual Java. Pode realizar os seguintes testes:

  1. Escreva o seguinte 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. Guarde este programa como heure.java. Abra uma janela do DOS. Navegue até ao diretório que contém o ficheiro heure.java e compile-o:
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.

No comando acima, c:\jdk1.3\bin\javac deve ser substituído pelo caminho exato para o compilador javac.exe. Deverá agora ter um ficheiro chamado heure.class no mesmo diretório que o heure.java; este é o programa que será agora executado pela máquina virtual java.exe.

  1. Execute o programa:
D:\data\java\essais>c:\jdk1.3\bin\java heure
Il est 10:44:2

8.1.8. Servidor Apache

Vimos que o servidor Apache pode ser obtido com a aplicação EasyPHP. Para o obter diretamente, aceda ao site do Apache: http://www.apache.org. A instalação cria uma estrutura de diretórios contendo todos os ficheiros necessários para o servidor. Vamos chamar a este diretório <apache>. Ele contém uma estrutura de diretórios semelhante à seguinte:

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
Diretório dos ficheiros de configuração do Apache
logs
Diretório dos ficheiros de registo do Apache (monitorização)
bin
Executáveis do Apache

8.1.8.1. Configuração

No diretório <Apache>\conf, encontrará os seguintes ficheiros: httpd.conf, srm.conf, access.conf. Nas versões mais recentes do Apache, estes três ficheiros foram combinados no httpd.conf. Já abordámos os pontos-chave deste ficheiro de configuração. Nos exemplos seguintes, foi utilizada a versão Apache do EasyPHP para testes e, por conseguinte, o seu ficheiro de configuração. Neste ficheiro, DocumentRoot, que designa a raiz da árvore de diretórios da página web, é e:\program files\easyphp\www.

8.1.8.2. PHP - Ligação Apache

Para testar, crie o ficheiro intro.php com a seguinte linha única:

<? phpinfo() ?>

e coloque-o na raiz das páginas web do servidor Apache (DocumentRoot acima). Aceda ao URL http://localhost/intro.php. Deverá ver uma lista de informações sobre o PHP:

Image

O seguinte script PHP exibe a hora. Já o vimos anteriormente:

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

Coloque este ficheiro de texto no diretório raiz do servidor Apache (DocumentRoot) e nomeie-o date.php. Abra um navegador e introduza o URL http://localhost/date.php. Verá a seguinte página:

Image

8.1.8.3. Ligação PERL-APACHE

Isto é conseguido utilizando uma linha do tipo: ScriptAlias /cgi-bin/ "E:/Program Files/EasyPHP/cgi-bin/" no ficheiro <apache>\conf\httpd.conf. A sua sintaxe é ScriptAlias /cgi-bin/ "<cgi-bin>", em que <cgi-bin> é a pasta onde os scripts CGI podem ser colocados. CGI (Common Gateway Interface) é um padrão para a comunicação entre o servidor web e as aplicações. Um cliente solicita uma página dinâmica ao servidor web, ou seja, uma página gerada por um programa. O servidor web deve, portanto, instruir um programa para gerar a página. O CGI define a interação entre o servidor e o programa, especificamente como a informação é transmitida entre estas duas entidades.

Se necessário, modifique a linha ScriptAlias /cgi-bin/ &quot;&lt;cgi-bin&gt;&quot; e reinicie o servidor Apache. Em seguida, execute o seguinte teste:

  1. Escreva o 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. Coloque este script em <cgi-bin>\heure.pl, onde <cgi-bin> é o diretório que pode receber scripts CGI (consulte httpd.conf). A primeira linha #!c:\perl\bin\perl.exe especifica o caminho para o executável perl.exe. Modifique-o, se necessário.
  2. Inicie o Apache, caso ainda não o tenha feito
  3. Aceda ao URL http://localhost/cgi-bin/heure.pl num navegador. Verá a seguinte página:

Image

8.1.9. O servidor PWS

8.1.9.1. Instalação

O PWS (Personal Web Server) é uma versão pessoal do IIS (Internet Information Server) da Microsoft. O IIS está disponível em máquinas NT e 2000. Em máquinas com Win9x, o PWS está normalmente incluído no pacote de instalação do Internet Explorer. No entanto, não é instalado por predefinição. Deve efetuar uma instalação personalizada do IE e solicitar a instalação do PWS. Também está disponível no NT 4.0 Option Pack para Windows 95.

8.1.9.2. Testes iniciais

O diretório raiz para as páginas web do PWS é drive:\inetpub\wwwroot, onde drive é o disco no qual instalou o PWS. Presumiremos daqui em diante que esta unidade é D. Assim, o URL http://machine/rep1/page1.html corresponde ao ficheiro d:\inetpub\wwwroot\rep1\page1.html. O servidor PWS interpreta qualquer ficheiro com a extensão .asp (Active Server Pages) como um script que deve executar para gerar uma página HTML.

O PWS funciona na porta 80 por predefinição. O servidor web Apache também... Por isso, deve parar o Apache para trabalhar com o PWS se tiver ambos os servidores. A outra solução é configurar o Apache para funcionar numa porta diferente. No ficheiro de configuração do Apache httpd.conf, substitua a linha Port 80</mark> por Port 81</mark>. O Apache irá agora funcionar na porta 81 e pode ser utilizado em simultâneo com o PWS. Se o PWS estiver a funcionar e solicitar o URL http://localhost, irá ver uma página semelhante à seguinte:

Image

8.1.9.3. PHP - Ligação PWS

  1. Abaixo encontra-se um ficheiro .reg para modificar o registo. Clique duas vezes neste ficheiro para modificar o registo. Aqui, a DLL necessária está localizada em d:\php4 juntamente com o executável do PHP. Modifique conforme necessário. As barras invertidas (\) devem ser duplicadas no caminho da DLL.
REGEDIT4

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\w3svc\parameters\Script Map]
".php"="d:\\php4\\php4isapi.dll"
  1. Reinicie o computador para que a alteração no registo entre em vigor.
  1. Crie uma pasta "php" em d:\inetpub\wwwroot, que é a raiz do servidor PWS. Depois de concluído, abra o PWS e aceda ao separador "Avançado". Clique no botão "Adicionar" para criar um diretório virtual:

Diretório/Procurar: d:\inetpub\wwwroot\php

Alias: php

Marque a caixa «Executar».

  1. Confirme as definições e reinicie o PWS. Coloque o ficheiro intro.php em d:\inetpub\wwwroot\php, contendo apenas a seguinte linha:

<? phpinfo() ?>

  1. Solicite o URL http://localhost/php/intro.php ao servidor PWS. Deverá ver a lista de informações PHP já apresentada pelo Apache.

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

O Tomcat é um servidor web que gera páginas HTML utilizando servlets (programas Java executados pelo servidor web) ou JSP (Java Server Pages), que combinam código Java com código HTML. É o equivalente ao ASP (Active Server Pages) no servidor IIS/PWS da Microsoft, onde o código VBScript ou JavaScript é combinado com código HTML.

8.1.10.1. Instalação

O Tomcat está disponível no URL: http://jakarta.apache.org. Irá descarregar um ficheiro de instalação .exe. Ao executar este programa, este solicita-lhe primeiro que selecione qual o JDK que irá utilizar. Isto deve-se ao facto de o Tomcat necessitar de um JDK para se instalar e, posteriormente, para compilar e executar servlets Java. Por conseguinte, deve ter um JDK Java instalado antes de instalar o Tomcat. Recomenda-se o JDK mais recente. A instalação irá criar uma estrutura de diretórios <tomcat>:

Image

consiste simplesmente em extrair este arquivo para um diretório. Escolha um diretório cujo caminho contenha apenas nomes sem espaços (não, por exemplo, «Arquivos de Programas»), pois existe um bug no processo de instalação do Tomcat. Use, por exemplo, C:\tomcat ou D:\tomcat. Vamos chamar este diretório de <tomcat>. Nele, encontrará uma pasta chamada jakarta-tomcat, que contém a seguinte estrutura de diretórios:

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. Iniciar/Parar o Servidor Web Tomcat

O Tomcat é um servidor Web, tal como o Apache ou o PWS. Para o iniciar, utilize os links no menu Programas:

Iniciar o Tomcat
para iniciar o Tomcat
Parar o Tomcat
para o parar

Quando inicia o Tomcat, aparece uma janela do DOS com o seguinte conteúdo:

Image

Pode minimizar esta janela do DOS. Ela permanecerá aberta enquanto o Tomcat estiver em execução. Pode então prosseguir para os primeiros testes. O servidor web Tomcat funciona na porta 8080. Assim que o Tomcat estiver em execução, abra um navegador web e introduza o URL http://localhost:8080. Deverá ver a seguinte página:

Image

Siga o link «Servlet Examples»:

Image

Clique no link «Executar» para «RequestParameters» e, em seguida, no link para «Source». Terá assim uma primeira ideia do que é um servlet Java. Pode fazer o mesmo com os links nas páginas JSP.

Para parar o Tomcat, utilize o link «Stop Tomcat» no menu «Programs».

8.1.11. JBuilder

O JBuilder é um ambiente de desenvolvimento de aplicações Java. Para criar servlets Java sem interfaces gráficas, tal ambiente não é estritamente necessário. Um editor de texto e um JDK são suficientes. No entanto, o JBuilder oferece algumas vantagens em relação ao método anterior:

  • facilidade de depuração: o compilador destaca as linhas com erros num programa, sendo fácil navegar até elas
  • autocompletar código: ao utilizar um objeto Java, o JBuilder apresenta uma lista das suas propriedades e métodos em linha. Isto é muito útil, dado que a maioria dos objetos Java tem inúmeras propriedades e métodos que são difíceis de memorizar.

O JBuilder pode ser encontrado em http://www.borland.com/jbuilder. É necessário preencher um formulário para obter o software. Uma chave de ativação é enviada por e-mail. Para instalar o JBuilder 7, por exemplo, foram seguidos os seguintes passos:

  • Foram descarregados três ficheiros ZIP: um para a aplicação, um para a documentação e um para os exemplos. Cada um destes ficheiros ZIP tem um link separado no site do JBuilder.
  • Primeiro, foi instalado o aplicativo, depois a documentação e, por fim, os exemplos
  • Quando inicia a aplicação pela primeira vez, é solicitada uma chave de ativação: esta é a que lhe foi enviada por e-mail. Na versão 7, esta chave é, na verdade, um ficheiro de texto completo que pode ser colocado, por exemplo, na pasta de instalação do JB7. Quando a chave é solicitada, deve então especificar o ficheiro em questão. Depois de feito isto, a chave não será solicitada novamente.

Existem algumas configurações úteis a definir se pretender utilizar o JBuilder para criar servlets Java. A chamada versão «Personal» do JBuilder é uma versão simplificada que não inclui todas as classes necessárias para o desenvolvimento web em Java. Pode configurar o JBuilder para utilizar as bibliotecas de classes fornecidas pelo Tomcat. Eis como:

  • Inicie o JBuilder

Image

  • ative a opção Ferramentas/Configurar JDKs

Image

Na secção Configurações do JDK acima, o campo Nome normalmente exibe JDK 1.3.1. Se tiver um JDK mais recente, utilize o botão Alterar para especificar o seu diretório de instalação. Acima, especificámos o diretório E:\Program Files\jdk14, onde foi instalado um JDK 1.4. A partir de agora, o JBuilder utilizará este JDK para as suas compilações e execuções. Na secção (Class, Source, Documentation), verá uma lista de todas as bibliotecas de classes que o JBuilder irá analisar — neste caso, as classes do JDK 1.4. As classes incluídas neste JDK não são suficientes para o desenvolvimento web em Java. Para adicionar bibliotecas de classes adicionais, utilize o botão Add e selecione os ficheiros .jar extra que pretende utilizar. Os ficheiros .jar são bibliotecas de classes. O Tomcat 4.x inclui todas as bibliotecas de classes necessárias para o desenvolvimento web. Estas encontram-se em <tomcat>\common\lib, onde <tomcat> é o diretório de instalação do Tomcat:

Image

Usando o botão Adicionar, vamos adicionar estas bibliotecas, uma a uma, à lista de bibliotecas analisadas pelo JBuilder:

Image

A partir de agora, pode compilar programas Java em conformidade com a norma J2EE, incluindo servlets Java. O JBuilder é utilizado apenas para a compilação; a execução é posteriormente tratada pelo Tomcat de acordo com os procedimentos explicados no curso.