Skip to content

10. Anexos - Ferramentas de Desenvolvimento Web

Aqui indicamos onde encontrar e como instalar ferramentas gratuitas para desenvolvimento web em Java, PHP, ASP e ASP.NET. Algumas ferramentas foram atualizadas, e as instruções aqui fornecidas podem já não se aplicar às versões mais recentes. Os leitores terão de se adaptar em conformidade... :

  • um navegador recente capaz de exibir XML. Os exemplos deste curso foram testados com o Internet Explorer 6.
  • Um JDK (Java Development Kit) recente. O 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, utilizamos o JBuilder 7.
  • Servidores Web: Apache, PWS (Personal Web Server, Cassini), Tomcat.
    • O Apache pode ser utilizado para desenvolver aplicações web em PERL (Practical Extracting and Reporting Language) ou PHP (Personal Home Page)
    • O PWS pode ser utilizado para desenvolver aplicações web em ASP (Active Server Pages) ou PHP em plataformas Windows. O Cassini suporta o desenvolvimento em ASP.NET.
    • O Tomcat é utilizado para desenvolver aplicações web utilizando servlets Java ou JSP (Java Server Pages)
  • Um sistema de gestão de bases de dados: MySQL
  • EasyPHP: uma ferramenta que integra o servidor web Apache, a linguagem PHP e o SGBD MySQL

10.1. Servidores Web, Navegadores, Linguagens de Script

  1. Principais servidores web
  • Apache (Linux, Windows)
  • Internet Information Server (IIS) (NT), Personal Web Server (PWS) (Windows 9x), Cassini (plataformas .NET)
  1. Principais navegadores
  • Internet Explorer (Windows)
  • Netscape (Linux, Windows)
  • Mozilla (Linux, Windows)
  • Opera (Linux, Windows)
  1. 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
  1. Linguagens de script do lado do navegador
  • VBScript (IE)
  • JavaScript (IE, Netscape)
  • PerlScript (IE)
  • Java (IE, Netscape)

10.2. Onde encontrar as ferramentas

Netscape
http://www.netscape.com/ (ligação para downloads)
Internet Explorer
http://www.microsoft.com/windows/ie/default.asp
Mozilla
http://www.mozilla.org
PHP
http://www.php.net
Active PERL
http://www.activestate.com
VBScript, JavaScript
http://msdn.microsoft.com/scripting (siga o link do Windows Script)
JAVA
http://java.sun.com/
Apache
http://www.apache.org/
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/
EasyPHP
http://www.easyphp.org/
Cassini
http://www.asp.net

10.3. EasyPHP

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

  • o servidor web Apache
  • um interpretador PHP
  • 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ã.

O «E» com um ponto vermelho deve estar a piscar se o servidor web Apache e a base de dados MySQL estiverem em funcionamento. Ao clicar com o botão direito do rato sobre ele, abre-se um menu com as seguintes opções:

Image

A opção «Administração» permite-lhe definir as configurações e realizar testes de funcionalidade:

Image

10.3.1. configuração do interpretador PHP

O botão PHP Info deve permitir-lhe verificar se a combinação Apache-PHP está a funcionar corretamente: deverá aparecer uma página de informações do 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» exibe 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.

10.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 «Validate», 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 tal não acontecer, 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:

dos>dir e:\data\serge\web\html\balises.htm

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

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

10.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-chave a ter em conta neste ficheiro de configuração:


linha(s)
função
ServerRoot "D:/Program Files/Apache Group/Apache"
indica a pasta que contém a árvore de diretórios do Apache
Porta 80
especifica qual a porta que o servidor web irá utilizar. Normalmente, esta é 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:/Program Files/EasyPHP/apache"
o diretório de instalação do servidor Apache. Quando nomes de arquivos relativos aparecem no arquivo de configuração, eles são relativos a este diretório.
DocumentRoot "E:/Program Files/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:/Arquivos de Programas/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 verificar que o servidor Apache não está a funcionar.
    ScriptAlias /cgi-bin/ "E:/Program Files/EasyPHP/cgi-bin/"
E:\Arquivos de Programas\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:\Arquivos de Programas\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

10.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 exibe as bases de dados atuais.
O número entre parênteses é o 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: o root, que é o administrador do MySQL. Ao clicar na ligação «Editar», pode alterar a sua palavra-passe, que atualmente está em branco — uma prática não recomendada para um administrador. Não entraremos em mais pormenores sobre o PhpMyAdmin, uma vez que se trata de uma ferramenta com inúmeras funcionalidades cuja descrição completa exigiria várias páginas.

10.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 ser utilizado 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 [date.php] e execute-o:

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

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

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:

dos>e:\perl\bin\perl.exe heure.pl
Il est 9:34:21

10.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 de sistemas
  • Internet Explorer. É então utilizado em páginas HTML, adicionando 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 realizar 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 se encontra e execute-o:

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

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 está localizado e execute-o:

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

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 a criação e utilização de dois dicionários: um no estilo clássico do Perl, o 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:

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

O PerlScript pode aceder a 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 sensato testá-lo fora do contexto web, dentro do contentor do Windows Script, tal como discutido 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 limitação, esta abordagem continua a ser útil, uma vez que a depuração de scripts em execução em servidores web ou navegadores é, geralmente, bastante impraticável.

10.7. JAVA

O Java está disponível no URL: http://www.sun.com 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:
dos>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. Deve obter um ficheiro chamado heure.class no mesmo diretório que o heure.java; este é o programa que agora será executado pela máquina virtual java.exe.

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

No comando acima, [c:\jdk1.3\bin\java] deve ser substituído pelo caminho exato para a máquina virtual Java [java.exe].

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

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

10.8.2. PHP - Ligação Apache

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

<? phpinfo() ?>

e coloque-o no diretório raiz do servidor Apache (DocumentRoot acima). Aceda à URL http://localhost/intro.php. Deverá ver uma lista de informações 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

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

10.9. O servidor PWS

10.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 realizar 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.

10.9.2. Testes iniciais

O diretório raiz das páginas web do PWS é drive:\inetpub\wwwroot, em que drive é a unidade em que instalou o PWS. Passaremos a assumir que essa unidade é a 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. Assim, no ficheiro de configuração do Apache [httpd.conf], substitua a linha Port 80 por Port 81; o Apache passará a funcionar na porta 81 e poderá ser utilizado em simultâneo com o PWS. Se o PWS tiver sido iniciado e solicitar a URL http://localhost, obterá uma página semelhante à seguinte:

Image

10.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 vá para o separador "Avançado". Clique no botão "Adicionar" para criar um diretório virtual:
Répertoire/Parcourir : d:\inetpub\wwwroot\php
Alias : php
Cocher la case exécuter.
  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. Aceda ao URL http://localhost/php/intro.php a partir do servidor PWS. Deverá ver a lista de informações PHP já apresentada com o Apache.

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

10.10.1. Instalação

O Tomcat está disponível no URL: http://jakarta.apache.org. Descarregue o ficheiro de instalação .exe. Quando executar este programa, ele solicita-lhe primeiro que selecione qual o JDK a utilizar. O Tomcat requer um JDK para instalar e, posteriormente, compilar e executar servlets Java. Deve, portanto, 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

basta 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 há 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

10.10.2. Iniciar/Parar o Servidor Web Tomcat

O Tomcat é um servidor Web, tal como o Apache ou o PWS. Para o iniciar, utilize as ligações 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 avançar 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 Execute para RequestParameters e, em seguida, no link para Source. Terá uma primeira ideia do que é um servlet Java. Pode fazer o mesmo com os links nas páginas JSP.

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

10.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, e é fácil navegar até elas
  • autocompletar código: ao utilizar um objeto Java, o JBuilder exibe 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 com 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 JDK Settings acima, o campo Name normalmente exibe "JDK 1.3.1". Se tiver um JDK mais recente, utilize o botão Change para especificar o seu diretório de instalação. No exemplo acima, especificámos o diretório E:\Program Files\jdk14, onde um JDK 1.4 foi instalado. 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 outras bibliotecas de classes, utilize o botão Add e selecione os ficheiros .jar adicionais 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.

10.12. O servidor Web Cassini

Para trabalhar com a plataforma .NET da Microsoft, pode utilizar o servidor Web Cassini. Este está disponível através de outro produto chamado [WebMatrix], que é um ambiente de desenvolvimento Web gratuito para plataformas .NET, disponível no URL:

Image

Siga cuidadosamente o procedimento de instalação do produto:

  • descarregue e instale a plataforma .NET (1.1 a partir de março de 2004)
  • descarregue e instale o WebMatrix
  • Descarregue e instale o MSDE (Microsoft Data Engine), que é uma versão limitada do SQL Server.

Assim que a instalação estiver concluída, o produto [WebMatrix] estará disponível nos programas instalados:

Image

O link [ASP.NET] do WebMatrix inicia o IDE de desenvolvimento ASP.NET:

Image

O link [Class Browser] abre uma ferramenta para explorar classes .NET:

Image

Para testar a instalação, vamos abrir o [WebMatrix]:

1234

Image

Ao iniciar o programa pela primeira vez, o [WebMatrix] solicita as especificações do novo projeto. Esta é a sua configuração predefinida. Pode configurá-lo para que esta caixa de diálogo não apareça no arranque. Pode então aceder a ela através da opção [Ficheiro/Novo Ficheiro]. O [WebMatrix] permite-lhe criar modelos para várias aplicações web. Acima, especificámos em (1) que queríamos criar uma aplicação [Página ASP.NET], que é uma página web. Em (2), especificamos a pasta onde esta página web será colocada. Em (3), introduzimos o nome da página. Deve ter a extensão .aspx. Por fim, em (4), especificamos que queremos trabalhar com a linguagem VB.NET; o [WebMatrix] também suporta as linguagens C# e J#.

Depois de feito isto, o [WebMatrix] apresenta uma página de edição para o ficheiro [demo1.aspx]. Introduzimos aí o seguinte código:

Image

  • O separador [Design] permite-lhe «desenhar» a página web que pretende criar. Funciona de forma semelhante a um IDE de desenvolvimento de aplicações Windows.
  • O design gráfico da página web em [Design] irá gerar código HTML no separador [HTML]
  • A página web pode conter controlos que geram eventos que requerem uma resposta, como um botão. Estes eventos serão tratados pelo código VB.NET colocado no separador [Code]
  • Em última análise, o ficheiro demo1.aspx é um ficheiro de texto que combina código HTML e código VB.NET, resultante do design gráfico criado em [Design], do código HTML adicionado manualmente em [HTML] e do código VB.NET colocado em [Code]. O ficheiro completo está disponível no separador [All].
  • Um programador ASP.NET experiente pode criar o ficheiro demo1.aspx diretamente utilizando um editor de texto, sem a ajuda de qualquer IDE.

Vamos selecionar a opção [All]. Podemos ver que o [WebMatrix] já gerou algum código:

<%@ Page Language="VB" %>
<script runat="server">

    ' Insert page code here
    '

</script>
<html>
<head>
</head>
<body>
    <form runat="server">
        <!-- Insert content here -->
    </form>
</body>
</html>

Não vamos tentar explicar este código aqui. Vamos transformá-lo da seguinte forma:

<html>
<head>
    <title>Démo asp.net </title>
</head>
<body>
    Il est <% =Date.Now.ToString("hh:mm:ss") %>
</body>
</html>

O código acima é uma mistura de HTML e código VB.NET. Foi colocado dentro de tags <% ... %>. Para executar este código, utilizamos a opção [View/Start]. O [WebMatrix] inicia então o servidor web Cassini, caso este ainda não esteja a funcionar

Image

Pode aceitar os valores predefinidos apresentados nesta caixa de diálogo e selecionar a opção [Iniciar]. O servidor web fica então ativo. O [WebMatrix] irá então iniciar o navegador predefinido no computador em que está a ser executado e solicitar o URL http://localhost:8080/demo1.aspx:

Image

É possível utilizar o servidor Cassini fora do [WebMatrix]. O executável do servidor encontra-se em <WebMatrix>\<versão>\WebServer.exe, onde <WebMatrix> é o diretório de instalação do [WebMatrix] e <versão> é o seu número de versão:

Image

Abra uma janela do Prompt de Comando e navegue até à pasta do servidor Cassini:

E:\Program Files\Microsoft ASP.NET Web Matrix\v0.6.812>dir
...
29/05/2003  11:00               53 248 WebServer.exe
...

Vamos executar o [WebServer.exe] sem quaisquer parâmetros:

E:\Program Files\Microsoft ASP.NET Web Matrix\v0.6.812>webserver

Aparece uma janela de ajuda:

Image

A aplicação [WebServer], também conhecida como servidor web Cassini, aceita três parâmetros:

  • /port: número da porta do serviço web. Pode ser qualquer número. O valor padrão é 80
  • /path: o caminho físico para uma pasta no disco
  • /vpath: a pasta virtual associada à pasta física anterior. Note que a sintaxe não é /path=path, mas sim /vpath:path, ao contrário do que indica o painel de ajuda acima.

Vamos colocar o ficheiro [demo1.aspx] na seguinte pasta:

Image

Vamos associar a pasta virtual [/webmatrix] à pasta física [d:\data\devel\webmatrix]. O servidor web pode ser iniciado da seguinte forma:

E:\Program Files\Microsoft ASP.NET Web Matrix\v0.6.812>webserver /port:100 /path:"d:\data\devel\webmatrix" /vpath:"/webmatrix"

O servidor Cassini está agora ativo e o seu ícone aparece na barra de tarefas. Se clicar duas vezes nele:

Image

Verá as definições de arranque do servidor. Também tem a opção de parar [Stop] ou reiniciar [Restart] o servidor web. Se clicar na ligação [Root URL], a raiz da árvore de diretórios web do servidor abrirá num navegador:

Image

Siga o link [demos]:

Image

depois o link [demo1.aspx]:

Image

Podemos ver que, se a pasta física P=[d:\data\devel\webmatrix] tiver sido mapeada para a pasta virtual V=[/webmatrix] e o servidor estiver a funcionar na porta 100, a página web [demo1.aspx], que está fisicamente localizada em [P\demos], ficará acessível localmente através do URL [http://localhost:100/V/demos/demo1.aspx].

Demonstrámos, neste caso específico, que o desenvolvimento web em ASP.NET pode ser feito utilizando um simples editor de texto para escrever páginas web e o servidor web Cassini para as testar. Isto é válido independentemente da complexidade da aplicação. O IDE [WebMatrix] oferece algumas facilidades de desenvolvimento, mas não muitas. Uma ferramenta como o Visual Studio.NET é muito mais poderosa, mas é um produto comercial.