Skip to content

8. Anexos

8.1. Ferramentas para desenvolvimento web

Indicamos aqui onde encontrar e como instalar as ferramentas necessárias para o desenvolvimento web. Algumas ferramentas tiveram suas versões atualizadas e é possível que as explicações fornecidas aqui não sejam mais adequadas para as versões mais recentes. O leitor deverá, então, se adaptar... No curso de programação web, utilizaremos essencialmente 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 do curso foram testados com o JDK 1.4. Este JDK inclui o plug-in Java 1.4 para navegadores, o que permite que estes exibam applets Java que utilizam o Java 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 o desenvolvimento de aplicativos web em PERL (Practical Extracting and Reporting Language) ou PHP (Personal Home Page)
    • O PWS será utilizado para o desenvolvimento de aplicativos web em ASP (Active Server Pages) ou PHP
    • O Tomcat será utilizado para o desenvolvimento de aplicativos web por meio de servlets Java ou páginas JSP (Java Server Pages)
  • uma aplicação de gerenciamento de banco 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)
    • Servidor de Informações Interno IIS (NT), Servidor Web Pessoal 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/ (link 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 do Windows)
PERL
http://www.activestate.com http://www.activestate.com/Products/
http://www.activestate.com/Products/ActivePerl/
Vbscript, Javascript
http://msdn.microsoft.com/scripting (acesse o link do script do Windows)
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

Este aplicativo é muito prático, pois reúne em um ú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

O aplicativo de instalação apresenta-se da seguinte forma:

Image

A instalação do EasyPHP ocorre sem problemas e uma estrutura de diretórios é criada no sistema de arquivos:

Image

easyphp.exe
o executável do aplicativo
apache
a estrutura de diretórios do servidor Apache
mysql
a estrutura de diretórios do MySQL SGBD
phpmyadmin
a estrutura de diretórios do aplicativo phpMyAdmin
php
a estrutura de diretórios do PHP
www
Raiz da estrutura das páginas da web servidas pelo servidor Apache do EasyPHP
cgi-bin
árvore na qual é possível colocar scripts CGI para o servidor Apache

A principal vantagem do EasyPHP é que o aplicativo vem pré-configurado. Assim, o Apache, o PHP e o MySQL já estão configurados para funcionar em conjunto. Ao iniciar o EasyPhp por meio do atalho no menu de programas, um ícone é exibido no canto inferior direito da tela.

É o “E” com um ponto vermelho que deve piscar se o servidor web Apache e o banco de dados MySQL estiverem operacionais. Ao clicar nele com o botão direito do mouse, você acessa as opções do menu:

Image

A opção Administration permite realizar ajustes e testes de funcionamento:

Image

8.1.3.1. Administração PHP

O botão “Informações PHP” deve permitir que você verifique o bom funcionamento da combinação Apache-PHP: uma página de informações PHP deve ser exibida:

Image

O botão “Extensões” exibe a lista de extensões instaladas para o PHP. Na verdade, trata-se de bibliotecas de funções.

Image

A tela acima mostra, por exemplo, que as funções necessárias para o uso do banco de dados MySQL estão presentes.

O botão “Parâmetros” exibe o login/motdepasse do administrador do banco de dados MySQL.

Image

A utilização do banco de dados MySQL vai além do escopo desta breve apresentação, mas fica claro aqui que seria necessário definir uma senha para o administrador do banco de dados.

8.1.3.2. Administração do Apache

Ainda na página de administração do EasyPHP, o link “seus aliases” permite definir aliases associados a um diretório. Isso permite colocar páginas da Web em outros locais que não o diretório www da árvore de diretórios do easyPhp.

Image

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

Image

e utilizarmos o botão valider, as seguintes linhas serão adicionadas ao arquivo <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 o diretório de instalação do EasyPHP. httpd.conf é o arquivo de configuração do servidor Apache. Portanto, é possível fazer o mesmo editando diretamente esse arquivo. Uma alteração no arquivo httpd.conf é normalmente aplicada imediatamente pelo Apache. Caso contrário, seria necessário pará-lo e reiniciá-lo, sempre usando o ícone do EasyPHP:

Image

Para concluir nosso exemplo, agora podemos colocar páginas da web na estrutura 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 acessar essa página usando o alias st:

Image

Neste exemplo, o servidor Apache foi configurado para operar na porta 81. Sua porta padrão é a 80. Esse aspecto é controlado pela seguinte linha do arquivo httpd.conf, já mencionado anteriormente:

Port 81

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

Quando se deseja fazer um ajuste mais refinado no Apache, é necessário modificar “manualmente” seu arquivo de configuração httpd.conf, localizado aqui na pasta <easyphp>\apache\conf:

Image

Aqui estão alguns pontos importantes a serem lembrados sobre esse arquivo de configuração:

ligne(s)
função
ServerRoot "D:/Program Files/Apache Group/Apache"
indica a pasta onde está localizada a estrutura de diretórios do Apache
Port 80
indica em qual porta o servidor web irá operar. Normalmente, é a porta 80. Ao alterar essa linha, é possível fazer com que o servidor web opere em outra porta
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á “em execução”
ServerRoot "E:/Program Files/EasyPHP/apache"
o diretório de instalação do servidor Apache. Quando, no arquivo de configuração, aparecem nomes relativos de arquivos, eles são relativos a essa pasta.
DocumentRoot "E:/Program Files/EasyPHP/www"
a pasta raiz da árvore de páginas da Web servidas pelo servidor. Aqui, a URL http://machine/rep1/fic1.html corresponderá ao arquivo 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 de logs, ou seja, na verdade <ServerRoot>\logs\error.log: E:\Program Files\EasyPHP\apache\logs\error.log. Esse é o arquivo que você deve consultar caso perceba que o servidor Apache não está funcionando.
    ScriptAlias /cgi-bin/ "E:/Program Files/EasyPHP/cgi-bin/"
E:\Program Files\EasyPHP\cgi-bin será a raiz da árvore de diretórios onde será possível colocar scripts CGI. Assim, o URL http://machine/cgi-bin/rep1/script1.pl será a URL do 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 de carregamento dos módulos que permitem que o Apache funcione com o PHP4.
    AddType application/x-httpd-php .phtml .pwml .php3 .php4 .php .php2 .inc
define os sufixos dos arquivos que devem ser tratados pelo 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 abaixo de Accueil permite visualizar os bancos de dados atuais.
O número entre parênteses corresponde ao número de tabelas. Ao selecionar um banco de dados, as tabelas dele são exibidas:

A página da Web oferece diversas operações relacionadas ao banco de dados:

Image

Se clicarmos no link Afficher de user:

Image

Aqui há apenas um usuário: root, que é o administrador do MySQL. Ao seguir o link Modifier, seria possível alterar sua senha, que atualmente está em branco, o que não é recomendado para um administrador.

Não falaremos mais sobre o PhpMyAdmin, que é um software robusto e que mereceria uma descrição de várias páginas.

8.1.4. PHP

Vimos como obter o PHP por meio do aplicativo EasyPhp. Para obter o PHP diretamente, acesse o site http://www.php.net.

O PHP não é utilizável apenas na web. É possível usá-lo como linguagem de script no Windows. Crie o seguinte script e salve-o com o nome date.php:

<?
   // script PHP exibindo a hora
  $maintenant=date("j/m/y, H:i:s",time());
  echo "Nous sommes le $maintenant";
?>

Na janela DOS, navegue até o diretório de 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

É recomendável que o Internet Explorer já esteja instalado. Se estiver presente, o Active Perl irá configurá-lo para que aceite scripts PERL nas páginas HTML, scripts que serão executados pelo próprio IE no lado do cliente. O site do Active Perl é o URL http://www.activestate.comA. Após a instalação, o PERL será instalado em um 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á em <perl>\bin. O Perl é uma linguagem de script que funciona no Windows e no Unix. Além disso, é utilizado na programação do WEB. Vamos escrever um primeiro script:

# script PERL exibindo a hora

# módulos
use strict;

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

Salve este script em um arquivo chamado heure.pl. Abra uma janela DOS, navegue até o diretório do script anterior 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

Essas linguagens são linguagens de script para o Windows. Elas podem ser executadas em diversos ambientes, como

  • o Windows Scripting Host para uso direto no Windows, especialmente para escrever scripts de administração de sistemas
  • Internet Explorer. Nesse caso, ele é utilizado em páginas HTML, às quais confere uma certa interatividade impossível de ser alcançada apenas com a linguagem HTML.
  • Internet Information Server (IIS), o servidor web da Microsoft no NT/2000, e seu equivalente, o Personal Web Server (PWS), no Win9x. Nesse caso, o VBScript é utilizado para programação no lado do servidor web, tecnologia denominada ASP (Active Server Pages) pela Microsoft.

Baixe o arquivo de instalação do URL: http://msdn.microsoft.com/scripting e siga os links do Windows Script. São instalados:

  • o contêiner Windows Scripting Host, que permite o uso de diversas linguagens de script, como VBScript e JavaScript, além de outras, como PerlScript, que vem junto com o Active Perl.
  • um interpretador VBscript
  • um interpretador de JavaScript

Vamos apresentar alguns testes rápidos. Vamos criar o seguinte programa vbscript:

' uma classe
class personne
  Dim nom
  Dim age
End class

' criação de um objeto “pessoa”
Set p1=new personne
With p1
  .nom="dupont"
  .age=18
End With

' exibição das propriedades da pessoa p1
With p1
  wscript.echo "nom=" & .nom
  wscript.echo "age=" & .age
End With

Este programa utiliza objetos. Vamos chamá-lo de objets.vbs (o sufixo vbs indica um arquivo VBScript). Vamos acessar o diretório em que ele está localizado e executá-lo:

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 em JavaScript que utiliza matrizes:

// matriz em uma variante
// matriz vazia
tableau=new Array();
affiche(tableau);
// matriz que cresce dinamicamente
for(i=0;i<3;i++){
  tableau.push(i*10);
}
// exibição da matriz
affiche(tableau);
// novamente
for(i=3;i<6;i++){
  tableau.push(i*10);
}
affiche(tableau);

// tabelas multidimensionais
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);

// fim
WScript.quit(0);

// ---------------------------------------------------------
function affiche(tableau){
  // exibição da tabela
  for(i=0;i<tableau.length;i++){
    WScript.echo("tableau[" + i + "]=" + tableau[i]);
  }//para
}//função

// ---------------------------------------------------------
function affiche2(tableau){
  // exibição da tabela
  for(i=0;i<tableau.length;i++){
    for(j=0;j<tableau[i].length;j++){
      WScript.echo("tableau[" + i + "," + j + "]=" + tableau[i][j]);
    }// para j
  }//for i
}//função

Este programa utiliza matrizes. Vamos chamá-lo de tableaux.js (o sufixo js indica um arquivo JavaScript). Vamos acessar o diretório em que ele está localizado e executá-lo:

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 encerrar. É necessário ter o Active Perl instalado para ter acesso ao Perlscript.

<job id="PERL1">
  <script language="PerlScript">
       # do Perl clássico
    %dico=("maurice"=>"juliette","philippe"=>"marianne");
    @cles= keys %dico;
    for ($i=0;$i<=$#chaves;$i++){
        $cle=$cles[$i];
      $valeur=$dico{$cle};
        $WScript->echo ("clé=".$cle.", valeur=".$valeur);
    }
     # do PerlScript utilizando objetos do 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 o uso de dois dicionários: um no estilo clássico do Perl e outro com o objeto Scripting Dictionary do Windows Script. Vamos salvar esse código no arquivo dico.wsf (wsf é a extensão dos arquivos do Windows Script). Vamos acessar a pasta deste programa e executá-lo:

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 os objetos do contêiner no qual está sendo executado. Neste caso, eram objetos do contêiner do Windows Script. No contexto da programação web, os scripts VBscript, JavaScript e Perlscript podem ser executados tanto no navegador IE quanto em um servidor PWS ou IIS. Se o script for um pouco complexo, pode ser aconselhável testá-lo fora do contexto da Web, no contêiner do Windows Script, conforme visto anteriormente. Dessa forma, só será possível testar as funções do script que não utilizam objetos específicos do navegador ou do servidor. Mesmo com essa restrição, essa possibilidade continua sendo interessante, pois geralmente é bastante impraticável depurar scripts em execução em servidores da Web ou navegadores.

8.1.7. JAVA

O Java está disponível no URL: http://www.sun.com (ver início deste documento) e é instalado em uma árvore de diretórios que chamaremos de <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

Na pasta bin, encontraremos javac.exe, o compilador Java, e java.exe, a máquina virtual Java. Poderemos realizar os seguintes testes:

  1. Escreva o seguinte script:
//programa Java que exibe a hora

import java.io.*;
import java.util.*;

public class heure{
  public static void main(String arg[]){
     // recuperando data e hora
     Date maintenant=new Date();
      // exibindo
     System.out.println("Il est "+maintenant.getHours()+
        ":"+maintenant.getMinutes()+":"+maintenant.getSeconds());
  }//main
}//classe
  1. Salve este programa com o nome heure.java. Abra uma janela DOS. Navegue até o diretório do arquivo 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 do compilador javac.exe. Você deve obter, no mesmo diretório que o heure.java, um arquivo heure.class, que é o programa que agora será 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 é possível obter o servidor Apache com o aplicativo EasyPhp. Para obtê-lo diretamente, acessaremos o site do Apache: http://www.apache.org. A instalação cria uma estrutura de diretórios onde se encontram todos os arquivos necessários para o servidor. Vamos chamar esse diretório de <apache>. Ele contém uma estrutura 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
pasta dos arquivos de configuração do Apache
logs
pasta dos arquivos de log (monitoramento) do Apache
bin
os executáveis do Apache

8.1.8.1. Configuration

Na pasta <Apache>\conf, encontram-se os seguintes arquivos: httpd.conf, srm.conf, access.conf. Nas versões mais recentes do Apache, os três arquivos foram reunidos no httpd.conf. Já apresentamos os pontos importantes desse arquivo de configuração. Nos exemplos a seguir, foi utilizada para os testes a versão do Apache contida no EasyPhp e, portanto, seu arquivo de configuração. Nele, DocumentRoot, que indica a raiz da árvore de páginas da Web, é e:\program files\easyphp\www.

Para testar, crie o arquivo intro.php com apenas a seguinte linha:

<? phpinfo() ?>

e colocá-lo na raiz das páginas do servidor Apache (DocumentRoot acima). Solicite o URL http://localhost/intro.php. Deve aparecer uma lista de informações php:

Image

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

<?
   // time: número de milissegundos desde 01/01/1970
   // "formato de exibição de data e hora
   // d: dia com 2 dígitos
   // m: mês com 2 dígitos
   // y: ano com 2 dígitos
   // H: hora 0,23
   // i: minutos
   // s: segundos
  print "Nous sommes le " . date("d/m/y H:i:s",time());
?>

Vamos colocar esse arquivo de texto na raiz das páginas do servidor Apache (DocumentRoot) e renomeá-lo como date.php. Acessemos, usando um navegador, o endereço http://localhost/date.phpURL. Obteremos a seguinte página:

Image

Ele é criado por meio de uma linha no formato: ScriptAlias /cgi-bin/ "E:/Program Files/EasyPHP/cgi-bin/" do arquivo <apache>\conf\httpd.conf. Sua sintaxe é ScriptAlias /cgi-bin/ "<cgi-bin>", onde <cgi-bin> é a pasta onde poderão ser colocados os scripts CGI. CGI (Common Gateway Interface) é um padrão de comunicação entre o servidor WEB e os aplicativos. Um cliente solicita ao servidor web uma página dinâmica, c.a.d, ou seja, uma página gerada por um programa. O servidor WEB deve, portanto, solicitar a um programa que gere a página. CGI define a comunicação entre o servidor e o programa, especialmente o modo de transmissão de informações entre essas duas entidades.

Se necessário, altere a linha ScriptAlias /cgi-bin/ "<cgi-bin>" e reinicie o servidor Apache. Em seguida, faça o seguinte teste:

  1. Escreva o script:
#!c:\perl\bin\perl.exe

# script PERL exibindo a hora

# módulos
use strict;

# programa
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> é a pasta que pode receber scripts CGI (consulte httpd.conf). A primeira linha #!c:\perl\bin\perl.exe indica o caminho do executável perl.exe. Altere-o, se necessário.
  2. Inicie o Apache, caso ainda não tenha feito isso
  3. Acesse, usando um navegador, o arquivo URL em http://localhost/cgi-bin/heure.pl. Aparecerá a seguinte página:

Image

8.1.9. O servidor PWS

8.1.9.1. Installation

O servidor PWS (Personal Web Server) é uma versão pessoal do servidor IIS (Internet Information Server) da Microsoft. Este último está disponível nos sistemas NT e 2000. Nos computadores com Win9x, o PWS normalmente está disponível no pacote de instalação do Internet Explorer. No entanto, ele não é instalado por padrão. É necessário realizar uma instalação personalizada do IE e solicitar a instalação do PWS. Além disso, ele está disponível no NT 4.0 Option Pack para Windows 95.

8.1.9.2. Primeiros testes

A raiz das páginas da Web do servidor PWS é unidade:\inetpub\wwwroot, onde unidade é o disco no qual você instalou o PWS. Supomos, a seguir, que essa unidade seja D. Assim, a URL http://machine/rep1/page1.html corresponderá ao arquivo d:\inetpub\wwwroot\rep1\page1.html. O servidor PWS interpreta qualquer arquivo com a extensão .asp (Active Server Pages) como um script que deve ser executado para gerar uma página HTML.

O PWS opera, por padrão, na porta 80. O servidor web Apache também... Portanto, é necessário desligar o Apache para trabalhar com o PWS caso você tenha os dois servidores. A outra solução é configurar o Apache para que ele funcione em outra porta. Assim, no arquivo de configuração do Apache, substitui-se a linha “Port 80” por “Port 81”; a partir de então, o Apache funcionará na porta 81 e poderá ser utilizado ao mesmo tempo que o PWS. Se o PWS já tiver sido iniciado e solicitarmos o URL http://localhost, obteremos uma página semelhante à seguinte:

Image

  1. Abaixo, você encontrará um arquivo .reg destinado a modificar o Registro. Clique duas vezes nesse arquivo para modificar o Registro. Aqui, o dll necessário está localizado em d:\php4 junto com o executável do PHP. Modifique, se necessário. Os caracteres \ devem ser duplicados 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 Registro seja aplicada.
  1. Crie uma pasta php no d:\inetpub\wwwroot, que é a raiz do servidor PWS. Feito isso, ative o PWS e acesse a aba “Avançado”. Selecione o botão “Adicionar” para criar uma pasta virtual:

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

Alias: php

Marque a caixa de seleção “Executar”.

  1. Confirme tudo e reinicie o PWS. Coloque no d:\inetpub\wwwroot\php o arquivo intro.php, que contém apenas a seguinte linha:

<? phpinfo() ?>

  1. Acesse o servidor PWS solicitando a página http://localhost/php/intro.php. Deve ser exibida a lista de informações do PHP já apresentadas com o Apache.

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

O Tomcat é um servidor web que permite gerar páginas HTML por meio de servlets (programas Java executados pelo servidor web) ou páginas JSP (Java Server Pages), que combinam código Java e código HTML. É o equivalente às páginas ASP (Active Server Pages) do servidor IIS/PWS da Microsoft, nas quais se mistura código VBScript ou JavaScript com código HTML.

8.1.10.1. Installation

O Tomcat está disponível no endereço URL: http://jakarta.apache.org. Baixe um arquivo .exe de instalação. Ao executar esse programa, ele começa indicando qual JDK será utilizado. Na verdade, o Tomcat precisa de um JDK para se instalar e, posteriormente, compilar e executar os servlets Java. Portanto, é necessário que você tenha instalado um JDK Java antes de instalar o Tomcat. Recomenda-se o JD mais recente. A instalação criará uma estrutura de diretórios <tomcat>:

Image

consiste simplesmente em descompactar esse arquivo em um diretório. Escolha um diretório cujo caminho contenha apenas nomes sem espaços (por exemplo, não “Program Files”), pois há um bug no processo de instalação do Tomcat. Use, por exemplo, C:\tomcat ou D:\tomcat. Vamos chamar esse diretório de <tomcat>. Nele, você encontrará uma pasta chamada jakarta-tomcat e, dentro dela, 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. Inicialização/Desligamento do servidor web Tomcat

O Tomcat é um servidor Web, assim como o Apache ou o PWS. Para iniciá-lo, há links no menu de programas:

Start Tomcat
para iniciar o Tomcat
Stop Tomcat
para desligá-lo

Ao iniciar o Tomcat, é exibida uma janela do DOS com o seguinte conteúdo:

Image

É possível minimizar essa janela do DOS. Ela permanecerá aberta enquanto o Tomcat estiver ativo. Em seguida, podemos passar para os primeiros testes. O servidor web Tomcat opera na porta 8080. Após iniciar o Tomcat, abra um navegador da web e acesse http://localhost:8080. Você deverá ver a seguinte página:

Image

Acesse o link Exemplos de Servlets:

Image

Clique no link Execute de RequestParameters e, em seguida, no link de Source. Você terá uma primeira visão geral do que é um servlet Java. Você poderá fazer o mesmo com os links nas páginas JSP.

Para encerrar o Tomcat, use o link “Stop Tomcat” no menu de programas.

8.1.11. JBuilder

O JBuilder é um ambiente de desenvolvimento de aplicativos Java. Para criar servlets Java sem interfaces gráficas, não é imprescindível ter esse tipo de ambiente. Um editor de texto e um JDK são suficientes. Apenas o JBuilder traz algumas vantagens a mais em relação à técnica anterior:

  • facilidade de depuração: o compilador sinaliza as linhas com erros em um programa e é fácil localizar essas linhas
  • sugestão de código: ao usar um objeto Java, o JBuilder exibe na linha a lista de propriedades e métodos desse objeto. Isso é muito prático, já que a maioria dos objetos Java possui inúmeras propriedades e métodos que são difíceis de memorizar.

O JBuilder pode ser encontrado no site 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, seguiu-se o seguinte procedimento:

  • foram baixados três arquivos zip: para o aplicativo, para a documentação e para os exemplos. Cada um desses zip tem um link separado no site do JBuilder.
  • Primeiro, instalou-se o aplicativo, depois a documentação e, por fim, os exemplos
  • Ao iniciar o aplicativo pela primeira vez, é solicitada uma chave de ativação: trata-se daquela que lhe foi enviada por e-mail. Na versão 7, essa chave é, na verdade, o conteúdo completo de um arquivo de texto que pode ser colocado, por exemplo, na pasta de instalação do JB7. No momento em que a chave for solicitada, basta indicar o arquivo em questão. Feito isso, a chave não será solicitada novamente.

Há algumas configurações úteis a serem feitas caso se queira utilizar o JBuilder para criar servlets Java. De fato, a versão conhecida como “Jbuilder pessoal” é uma versão simplificada que, notavelmente, não vem com todas as classes necessárias para o desenvolvimento web em Java. É possível fazer com que o JBuilder utilize as bibliotecas de classes fornecidas pelo Tomcat. Para isso, proceda da seguinte forma:

  • execute o JBuilder

Image

  • ativar a opção Tools/Configure JDKs

Image

Na seção “JDK Settings” acima, normalmente aparece no campo “Name” a versão “JDK 1.3.1”. Se você tiver uma versão mais recente do JDK, use o botão Change para indicar o diretório de instalação dessa versão. Acima, foi especificado o diretório E:\Program Files\jdk14, onde estava instalado um JDK 1.4. A partir de agora, o JBuilder utilizará esse JDK para suas compilações e execuções. Na seção (Class, Source, Documentation), temos a lista de todas as bibliotecas de classes que serão exploradas pelo JBuilder; neste caso, as classes do JDK 1.4. As classes deste último não são suficientes para o desenvolvimento web em Java. Para adicionar outras bibliotecas de classes, usa-se o botão Add e indica-se os arquivos .jar adicionais que se deseja utilizar. Os arquivos .jar são bibliotecas de classes. O Tomcat 4.x traz consigo todas as bibliotecas de classes necessárias para o desenvolvimento web. Elas estão localizadas em <tomcat>\common\lib, onde <tomcat> é o diretório de instalação do Tomcat:

Image

Com o botão Add, vamos adicionar essas bibliotecas, uma a uma, à lista de bibliotecas exploradas pelo JBuilder:

Image

A partir de agora, é possível compilar programas Java em conformidade com a norma J2EE, incluindo servlets Java. O JBuilder serve apenas para a compilação; a execução é garantida posteriormente pelo Tomcat, conforme explicado no curso.