Skip to content

10. Додатки — Інструменти веб-розробки

Тут ми вказуємо, де знайти та як встановити безкоштовні інструменти для веб-розробки на Java, PHP, ASP та asp.net. Деякі інструменти зазнали оновлень, і можливі випадки, коли наведені тут пояснення більше не відповідатимуть найновішим версіям. У такому разі читачеві доведеться пристосуватися... :

  • сучасний веб-браузер, здатний відображати XML. Приклади з курсу були перевірені в Internet Explorer 6.
  • останню версію JDK (Java Development Kit). JDK містить плагін Java 1.4 для веб-браузерів, що дозволяє їм відображати Java-аплети, які використовують JDK 1.4.
  • середовище розробки Java для написання Java-сервлетів. У даному випадку це JBuilder 7.
  • веб-сервери: Apache, PWS (Personal Web Server, Cassini), Tomcat.
    • Apache можна використовувати для розробки веб-додатків на PERL (Practical Extracting and Reporting Language) або PHP (Personal Home Page)
    • PWS можна використовувати для розробки веб-додатків на мові ASP (Active Server Pages) або PHP на платформах Windows. Cassini дозволяє розробляти на мові ASP.NET.
    • Tomcat використовується для розробки веб-додатків за допомогою Java-сервлетів або сторінок JSP (Java Server Pages)
  • система управління базами даних: MySQL
  • EasyPHP: інструмент, що об’єднує веб-сервер Apache, мову PHP та SGBD MySQL

10.1. Веб-сервери, браузери, мови скриптів

  1. Основні веб-сервери
  • Apache (Linux, Windows)
  • Interner Information Server IIS (NT), Personal Web Server PWS (Windows 9x), Cassini (різні платформи .NET)
  1. Основні веб-браузери
  • Internet Explorer (Windows)
  • Netscape (Linux, Windows)
  • Mozilla (Linux, Windows)
  • Opera (Linux, Windows)
  1. Серверні мови сценаріїв
  • VBScript (IIS, PWS)
  • JavaScript (IIS, PWS)
  • Perl (Apache, IIS, PWS)
  • PHP (Apache, IIS, PWS)
  • Java (Apache, Tomcat)
  • Мови .NET
  1. Мови скриптів на стороні браузера
  • VBScript (IE)
  • JavaScript (IE, Netscape)
  • PerlScript (IE)
  • Java (IE, Netscape)

10.2. Де знайти інструменти

Netscape
http://www.netscape.com/ (посилання на завантаження)
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 (перейдіть за посиланням на скрипт Windows)
JAVA
http://java.sun.com/
Apache
http://www.apache.org/
PWS
входить до складу NT 4.0 Option pack для Windows 95
входить до складу CD для 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

Ця програма дуже зручна тим, що об’єднує в одному пакеті:

  • веб-сервер Apache
  • інтерпретатор PHP
  • SGBD MySQL (3.23.x)
  • інструмент адміністрування MySQL: PhpMyAdmin

Інсталяційний файл має такий вигляд:

Image

Встановлення EasyPHP проходить без проблем, і у файловій системі створюється папкова структура:

Image

easyphp.exe
виконуваний файл програми
apache
дерево каталогів сервера Apache
mysql
дерево каталогів MySQL SGBD
phpmyadmin
дерево каталогів додатка phpMyAdmin
php
дерево php
www
коренева папка дерева веб-сторінок, що видаються сервером Apache з EasyPHP
cgi-bin
дерево, в якому можна розміщувати скрипти CGI для сервера Apache

Головна перевага EasyPHP полягає в тому, що програма постачається у попередньо налаштованому вигляді. Таким чином, Apache, PHP та MySQL вже налаштовані для спільної роботи. Коли запускати EasyPhp за посиланням у меню програм, у правому нижньому куті екрана з’являється піктограма.

Саме літера «E» з червоною крапкою має блимати, якщо веб-сервер Apache та база даних MySQL працюють. При натисканні на неї правою кнопкою миші відкриваються опції меню:

Image

Опція Administration дозволяє виконувати налаштування та перевіряти працездатність:

Image

10.3.1. Налаштування інтерпретатора PHP

Кнопка «Інформація про PHP» має дозволити вам перевірити правильну роботу комбінації Apache-PHP: має з’явитися інформаційна сторінка PHP:

Image

Кнопка «Розширення» відображає список встановлених розширень для PHP. Фактично це бібліотеки функцій.

Image

На екрані вище, наприклад, показано, що функції, необхідні для роботи з базою даних MySQL, дійсно присутні.

Кнопка «Параметри» відображає login/motdepasse адміністратора бази даних MySQL.

Image

Використання бази даних MySQL виходить за межі цього короткого огляду, але тут очевидно, що адміністратору бази даних слід встановити пароль.

10.3.2. Адміністрування Apache

Також на сторінці адміністрування EasyPHP посилання «Ваші псевдоніми» дозволяє визначити псевдоніми, пов’язані з певним каталогом. Це дає змогу розміщувати веб-сторінки не лише в каталозі www дерева каталогів easyPhp.

Image

Якщо на цій сторінці ввести таку інформацію:

Image

і натиснути кнопку valider, до файлу <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> позначає каталог інсталяції EasyPHP. httpd.conf — це файл конфігурації сервера Apache. Отже, те саме можна зробити, редагуючи цей файл безпосередньо. Зміни у файлі httpd.conf зазвичай одразу враховуються сервером Apache. Якщо це не сталося, слід зупинити сервер, а потім запустити його знову, використовуючи іконку easyphp:

Image

Щоб завершити наш приклад, тепер можна розмістити веб-сторінки в дереві каталогів e:\data\serge\web:

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

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

та завантажити цю сторінку, використовуючи псевдонім st:

Image

У цьому прикладі сервер Apache налаштовано на роботу на порту 81. Його порт за замовчуванням — 80. Цей параметр контролюється наступним рядком у файлі httpd.conf, з яким ми вже знайомилися:

Port 81

10.3.3. Файл конфігурації Apache [htpd.conf] htpd.conf

Якщо потрібно дещо детальніше налаштувати Apache, доводиться «вручну» редагувати його файл конфігурації httpd.conf, розташований у папці <easyphp>\apache\conf:

Image

Ось кілька моментів, на які варто звернути увагу в цьому конфігураційному файлі:


ligne(s)
роль
ServerRoot "D:/Program Files/Apache Group/Apache"
вказує папку, в якій знаходиться дерево каталогів Apache
Port 80
вказує, на якому порту працюватиме веб-сервер. Зазвичай це 80. Змінивши цей рядок, можна налаштувати веб-сервер на роботу на іншому порту
ServerAdmin root@istia.univ-angers.fr
адреса електронної пошти адміністратора сервера Apache
ServerName stahe.istia.uang
ім’я комп’ютера, на якому «працює» сервер Apache
ServerRoot "E:/Program Files/EasyPHP/apache"
каталог, у якому встановлено сервер Apache. Коли у файлі конфігурації з’являються відносні імена файлів, вони є відносними саме щодо цього каталогу.
DocumentRoot "E:/Program Files/EasyPHP/www"
коренева папка дерева веб-сторінок, що видаються сервером. Тут URL-адреса http://machine/rep1/fic1.html відповідатиме файлу E:\Program Files\EasyPHP\www\rep1\fic1.html
<Directory "E:/Program Files/EasyPHP/www">
визначає властивості попередньої папки
ErrorLog logs/error.log
папка з логами, тобто фактично <ServerRoot>\logs\error.log: E:\Program Files\EasyPHP\apache\logs\error.log. Саме цей файл слід перевірити, якщо ви помітили, що сервер Apache не працює.
    ScriptAlias /cgi-bin/ "E:/Program Files/EasyPHP/cgi-bin/"
E:\Program Files\EasyPHP\cgi-bin — це кореневий каталог дерева, куди можна розміщувати скрипти CGI. Отже, URL http://machine/cgi-bin/rep1/script1.pl — це URL-адреса скрипта CGI E:\Program Files\EasyPHP\cgi-bin\rep1\script1.pl.
<Directory "E:/Program Files/EasyPHP/cgi-bin/">
визначає властивості вищезазначеної папки
LoadModule php4_module "E:/Program Files/EasyPHP/php/php4apache.dll"
AddModule mod_php4.c
рядки завантаження модулів, що дозволяють Apache працювати з PHP4.
    AddType application/x-httpd-php .phtml .pwml .php3 .php4 .php .php2 .inc
визначає розширення файлів, які слід розглядати як файли, що мають оброблятися PHP

10.3.4. Адміністрування MySQL за допомогою PhpMyAdmin

На сторінці адміністрування EasyPhp натисніть кнопку PhpMyAdmin:

Image

У випадаючому списку під Accueil можна переглянути поточні бази даних.
Число в дужках — це кількість таблиць. Якщо вибрати базу даних, відобразяться її таблиці:

Веб-сторінка пропонує низку операцій з базою даних:

Image

Якщо натиснути на посилання Afficher з user:

Image

Тут є лише один користувач: root, який є адміністратором MySQL. Перейшовши за посиланням Modifier, можна змінити його пароль, який наразі порожній, що не рекомендується для адміністратора. Ми не будемо детальніше зупинятися на PhpMyAdmin, оскільки це багатофункціональне програмне забезпечення, яке заслуговує на опис обсягом у кілька сторінок.

10.4. PHP

Ми розглянули, як отримати PHP за допомогою програми EasyPhp. Щоб отримати PHP безпосередньо, перейдіть на сайт http://www.php.net. PHP можна використовувати не лише в веб-середовищі. Його також можна застосовувати як мову скриптів у Windows. Створіть наступний скрипт і збережіть його під назвою date.php:

<?
   // скрипт PHP, що відображає час
  $maintenant=date("j/m/y, H:i:s",time());
  echo "Nous sommes le $maintenant";
?>

У вікні DOS перейдіть до каталогу [date.php] і запустіть його:

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

Бажано, щоб Internet Explorer вже був встановлений. Якщо він є, Active Perl налаштує його так, щоб він підтримував скрипти PERL на сторінках HTML, які будуть виконуватися самим IE на стороні клієнта. Веб-сайт Active Perl знаходиться за адресою URL http://www.activestate.comA. Після встановлення PERL буде розміщено в каталозі, який ми назвемо <perl>. Він містить таку структуру:

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

Виконуваний файл perl.exe знаходиться в папці <perl>\bin. Perl — це мова скриптів, що працює під Windows та Unix. Крім того, вона використовується в програмуванні WEB. Напишемо перший скрипт:

# скрипт PERL, що відображає час

# модулі
use strict;

# програма
my ($secondes,$minutes,$heure)=localtime(time);
print "Il est $heure:$minutes:$secondes\n";

Збережіть цей скрипт у файлі heure.pl. Відкрийте вікно DOS, перейдіть до каталогу з попереднім скриптом і запустіть його:

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

10.6. Vbscript, Javascript, Perlscript

Ці мови є мовами скриптів для Windows. Вони можуть працювати в різних середовищах, таких як

  • Windows Scripting Host для безпосереднього використання в Windows, зокрема для написання скриптів системного адміністрування
  • Internet Explorer. У цьому випадку він використовується на сторінках HTML, надаючи їм певну інтерактивність, якої неможливо досягти лише за допомогою мови HTML.
  • Internet Information Server (IIS) — веб-сервер Microsoft для NT/2000 та його аналог Personal Web Server (PWS) для Win9x. У цьому випадку для програмування на стороні веб-сервера використовується VBScript — технологія, яку Microsoft називає ASP (Active Server Pages).

Файл інсталяції можна завантажити за посиланням URL: http://msdn.microsoft.com/scripting, після чого слід перейти за посиланнями «Windows Script». Встановлюються:

  • контейнер Windows Scripting Host, що дозволяє використовувати різні мови скриптів, такі як VBScript і JavaScript, а також інші, наприклад PerlScript, що входить до складу Active Perl.
  • інтерпретатор VBscript
  • інтерпретатор Javascript

Проведемо кілька швидких тестів. Створимо таку програму vbscript:

' клас
class personne
  Dim nom
  Dim age
End class

' створення об’єкта «особа»
Set p1=new personne
With p1
  .nom="dupont"
  .age=18
End With

' відображення властивостей особи p1
With p1
  wscript.echo "nom=" & .nom
  wscript.echo "age=" & .age
End With

Ця програма використовує об’єкти. Назвемо її objets.vbs (суфікс vbs позначає файл VBScript). Перейдемо до каталогу, в якому вона знаходиться, і запустимо її:

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

Тепер давайте створимо таку програму на JavaScript, яка використовує масиви:

// масив у варіанті
// порожній масив
tableau=new Array();
affiche(tableau);
// масив динамічно зростає
for(i=0;i<3;i++){
  tableau.push(i*10);
}
// відображення масиву
affiche(tableau);
// ще
for(i=3;i<6;i++){
  tableau.push(i*10);
}
affiche(tableau);

// багатовимірні масиви
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);

// кінець
WScript.quit(0);

// ---------------------------------------------------------
function affiche(tableau){
  // виведення масиву
  for(i=0;i<tableau.length;i++){
    WScript.echo("tableau[" + i + "]=" + tableau[i]);
  }//для
}//функція

// ---------------------------------------------------------
function affiche2(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
}//функція

Ця програма використовує масиви. Назвемо її tableaux.js (суфікс js позначає файл JavaScript). Перейдемо до каталогу, в якому вона знаходиться, і запустимо її:

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

Наостанок — ще один приклад на Perlscript. Щоб отримати доступ до Perlscript, потрібно встановити Active Perl.

<job id="PERL1">
  <script language="PerlScript">
       # класичного Perl
    %dico=("maurice"=>"juliette","philippe"=>"marianne");
    @cles= keys %dico;
    for ($i=0;$i<=$#ключі;$i++){
        $cle=$cles[$i];
      $valeur=$dico{$cle};
        $WScript->echo ("clé=".$cle.", valeur=".$valeur);
    }
     # на PerlScript із використанням об’єктів 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>

Ця програма демонструє створення та використання двох словників: одного у класичному стилі Perl, іншого — з використанням об’єкта Scripting Dictionary у Windows Script. Збережемо цей код у файлі dico.wsf (wsf — це розширення файлів Windows Script). Перейдемо до папки з цією програмою та запустимо її:

dos>cscript dico.wsf
Microsoft (R) Windows Script Host Version 5.6
Copyright (C) Microsoft Corporation 1996-2001. Tous droits réservés.

clé=philippe, valeur=marianne
clé=maurice, valeur=juliette
juliette
marianne

Perlscript може використовувати об'єкти контейнера, в якому він виконується. У даному випадку це були об'єкти контейнера Windows Script. У контексті веб-програмування скрипти VBscript, JavaScript, Perlscript можуть виконуватися або в браузері IE, або на сервері PWS чи IIS. Якщо скрипт є дещо складним, доцільно протестувати його поза веб-контекстом, у контейнері Windows Script, як це було розглянуто раніше. Таким чином можна протестувати лише ті функції скрипта, які не використовують об’єкти, властиві браузеру чи серверу. Навіть з цим обмеженням така можливість залишається цікавою, оскільки, як правило, налагоджувати скрипти, що виконуються на веб-серверах або в браузерах, досить незручно.

10.7. JAVA

Java доступна за адресою URL: http://www.sun.com і встановлюється в каталозі, який ми назвемо <java>, що містить такі елементи:

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

У папці bin знайдемо javac.exe — компілятор Java та java.exe — віртуальну машину Java. Можна виконати такі тести:

  1. Написати такий скрипт:
//програма на Java, що відображає час

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

public class heure{
  public static void main(String arg[]){
     // отримання дати та часу
     Date maintenant=new Date();
      // виведення на екран
     System.out.println("Il est "+maintenant.getHours()+
        ":"+maintenant.getMinutes()+":"+maintenant.getSeconds());
  }//main
}//клас
  1. Збережіть цю програму під назвою heure.java. Відкрийте вікно DOS. Перейдіть до каталогу, де знаходиться файл heure.java, і скомпілюйте його:
dos>c:\jdk1.3\bin\javac heure.java
Note: heure.java uses or overrides a deprecated API.
Note: Recompile with -deprecation for details.

У наведеному вище командному рядку [c:\jdk1.3\bin\javac] слід замінити на точний шлях до компілятора javac.exe. У тому ж каталозі, що й heure.java, має бути файл heure.class — це програма, яку тепер буде виконувати віртуальна машина java.exe.

  1. Запустіть програму:
dos>c:\jdk1.3\bin\java heure
Il est 10:44:2

У наведеному вище командному рядку [c:\jdk1.3\bin\java] слід замінити на точний шлях до віртуальної машини Java [java.exe].

10.8. Сервер Apache

Ми вже бачили, що сервер Apache можна отримати за допомогою програми EasyPhp. Щоб завантажити його безпосередньо, перейдіть на сайт Apache: http://www.apache.org. Під час інсталяції створюється дерево папок, у якому містяться всі необхідні для сервера файли. Назвемо цей каталог <apache>. Він містить дерево папок, подібне до наведеного нижче:

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
папка з конфігураційними файлами Apache
logs
папка з файлами журналів (моніторингу) Apache
bin
виконувані файли Apache

10.8.1. Конфігурація

У папці <Apache>\conf містяться такі файли: httpd.conf, srm.conf, access.conf. У останніх версіях Apache ці три файли було об’єднано в один — httpd.conf. Ми вже розглядали основні моменти цього конфігураційного файлу. У наведених нижче прикладах для тестування використовувалася версія Apache з файлом EasyPhp, а отже, і відповідний конфігураційний файл. У ньому DocumentRoot, що позначає корінь дерева веб-сторінок, — це e:\program files\easyphp\www.

10.8.2. Посилання на PHP — Apache

Для тестування створіть файл intro.php, що містить лише такий рядок:

<? phpinfo() ?>

і розмістіть його в кореневій папці веб-сторінок сервера Apache (DocumentRoot, зазначеної вище). Відкрийте сторінку http://localhost/intro.php. Повинно з’явитися таке інформаційне повідомлення:

Image

Наступний скрипт PHP відображає час. Ми вже з ним стикалися:

<?
   // time: кількість мілісекунд з 01.01.1970
   // «формат відображення дати та часу»
   // d: день (2 цифри)
   // m: місяць (2 цифри)
   // y: рік у двозначному форматі
   // H: година 0,23
   // i: хвилини
   // s: секунди
  print "Nous sommes le " . date("d/m/y H:i:s",time());
?>

Розмістимо цей текстовий файл у кореневому каталозі сервера Apache (DocumentRoot) і назвемо його date.php. Відкриємо у браузері сторінку URL за адресою http://localhost/date.php. Ми отримаємо таку сторінку:

Image

10.8.3. Посилання PERL-APACHE

Це реалізовано за допомогою рядка такого вигляду: ScriptAlias /cgi-bin/ "E:/Program Files/EasyPHP/cgi-bin/" у файлі <apache>\conf\httpd.conf. Його синтаксис такий: ScriptAlias /cgi-bin/ "<cgi-bin>", де <cgi-bin> — це папка, у яку можна розміщувати скрипти CGI. CGI (Common Gateway Interface) — це стандарт взаємодії між сервером WEB та додатками. Клієнт запитує у веб-сервера динамічну сторінку, c.a.d, тобто сторінку, згенеровану програмою. Отже, сервер WEB повинен звернутися до програми з проханням згенерувати цю сторінку. CGI визначає взаємодію між сервером і програмою, зокрема спосіб передачі інформації між цими двома об’єктами. За потреби змініть рядок ScriptAlias /cgi-bin/ на «<cgi-bin>» і перезапустіть сервер Apache. Потім виконайте таке тестування:

  1. Напишіть скрипт:
#!c:\perl\bin\perl.exe

# скрипт PERL, що відображає час

# модулі
use strict;

# програма
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. Помістіть цей скрипт у <cgi-bin>\heure.pl, де <cgi-bin> — це папка, яка може містити скрипти CGI (див. httpd.conf). Перший рядок #!c:\perl\bin\perl.exe вказує шлях до виконуваного файлу perl.exe. За необхідності його слід змінити.
  2. Запустіть Apache, якщо це ще не зроблено
  3. За допомогою браузера відкрийте файл URL за адресою http://localhost/cgi-bin/heure.pl. З’явиться така сторінка:

Image

10.9. Сервер PWS

10.9.1. Встановлення t

Сервер PWS (Personal Web Server) — це персональна версія сервера IIS (Internet Information Server) від Microsoft. Останній доступний на комп’ютерах з ОС NT та 2000. На комп’ютерах з ОС Win9x PWS зазвичай входить до складу інсталяційного пакета Internet Explorer. Однак він не встановлюється за замовчуванням. Необхідно виконати індивідуальну інсталяцію IE і вказати, щоб було встановлено PWS. Крім того, він доступний у пакеті NT 4.0 Option Pack для Windows 95.

10.9.2. Перші тести

Кореневий каталог веб-сторінок сервера PWS — це «диск:\inetpub\wwwroot», де «диск» — це диск, на якому ви встановили PWS. Далі ми припускаємо, що це диск D. Отже, URL-адреса http://machine/rep1/page1.html відповідатиме файлу d:\inetpub\wwwroot\rep1\page1.html. Сервер PWS інтерпретує будь-який файл із розширенням .asp (Active Server Pages) як скрипт, який він повинен виконати для створення сторінки HTML. PWS за замовчуванням працює на порту 80. Веб-сервер Apache також... Тому, якщо у вас встановлено обидва сервери, для роботи з PWS необхідно зупинити Apache. Інший варіант — налаштувати Apache так, щоб він працював на іншому порту. Для цього у файлі конфігурації Apache [httpd.conf] замінюємо рядок Port 80 на Port 81. Відтепер Apache працюватиме на порту 81 і його можна буде використовувати одночасно з PWS. Якщо PWS вже запущено, а ми вводимо адресу http://localhost, то отримаємо сторінку, схожу на таку:

Image

10.9.3. Посилання PHP — PWS

  1. Нижче наведено файл .reg, призначений для внесення змін до реєстру. Двічі клацніть на цьому файлі, щоб внести зміни до реєстру. Тут необхідний файл dll знаходиться у файлі d:\php4 разом із виконуваним файлом PHP. Внесіть зміни за потреби. У шляху до DLL символи \ слід подвоїти.
REGEDIT4

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\w3svc\parameters\Script Map]
".php"="d:\\php4\\php4isapi.dll"
  1. Перезапустіть комп'ютер, щоб зміни в реєстрі набули чинності.
  1. Створіть папку php у d:\inetpub\wwwroot, яка є кореневою папкою сервера PWS. Після цього запустіть PWS і перейдіть на вкладку «Додатково». Натисніть кнопку «Додати», щоб створити віртуальну папку:
Répertoire/Parcourir : d:\inetpub\wwwroot\php
Alias : php
Cocher la case exécuter.
  1. Підтвердіть всі зміни та перезапустіть PWS. Вставте у d:\inetpub\wwwroot\php файл intro.php, що містить лише такий рядок:
<? phpinfo() ?>
  1. Запитайте у сервера PWS файл URL http://localhost/php/intro.php. Ви маєте побачити список інформації PHP, яка вже відображається за допомогою Apache.

10.10. Tomcat: сервлети Java та сторінки JSP (Java Server Pages)

Tomcat — це веб-сервер, що дозволяє генерувати сторінки HTML за допомогою сервлетів (Java-програм, що виконуються веб-сервером) або сторінок JSP (Java Server Pages) — сторінок, що поєднують Java-код та HTML-код. Це еквівалент сторінок ASP (Active Server Pages) сервера IIS/PWS від Microsoft, де поєднуються код VBScript або JavaScript із кодом HTML.

10.10.1. Встановлення

Tomcat доступний за адресою URL: http://jakarta.apache.org. Завантажується інсталяційний файл .exe. При запуску цієї програми спочатку вказується, яку версію Java вона буде використовувати. Справа в тому, що Tomcat потребує Java для інсталяції, а також для подальшої компіляції та виконання Java-сервлетів. Тому перед встановленням Tomcat необхідно встановити JDK Java. Рекомендується використовувати найновішу версію JDK. У процесі встановлення буде створено каталог <tomcat>:

Image

Встановлення полягає просто в розпакуванні цього архіву в каталог. Виберіть каталог, шлях до якого містить лише імена без пробілів (наприклад, не «Program Files»), оскільки в процесі встановлення Tomcat є помилка. Наприклад, C:\tomcat або D:\tomcat. Назвемо цей каталог <tomcat>. У ньому буде папка з назвою jakarta-tomcat, а в ній — така структура каталогів:

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. Запуск/зупинка веб-сервера Tomcat

Tomcat — це веб-сервер, подібний до Apache або PWS. Щоб запустити його, можна скористатися посиланнями в меню програм:

Start Tomcat
для запуску Tomcat
Stop Tomcat
для його зупинки

Під час запуску Tomcat з’являється вікно командного рядка з таким вмістом:

Image

Це вікно командного рядка можна згорнути в іконку. Воно залишатиметься відкритим, доки Tomcat працюватиме. Після цього можна перейти до перших тестів. Веб-сервер Tomcat працює на порту 8080. Після запуску Tomcat відкрийте веб-браузер і введіть адресу http://localhost:8080. Ви повинні побачити таку сторінку:

Image

Перейдіть за посиланням «Servlet Examples»:

Image

Клацніть на посилання Execute на сторінці RequestParameters, а потім на посилання на сторінці Source. Ви отримаєте перше уявлення про те, що таке Java-сервлет. Те саме можна зробити з посиланнями на сторінках JSP.

Щоб зупинити Tomcat, скористайтеся посиланням «Stop Tomcat» у меню програм.

10.11. Jbuilder

JBuilder — це середовище розробки Java-додатків. Для створення Java-сервлетів без графічного інтерфейсу наявність такого середовища не є обов’язковою. Достатньо текстового редактора та JDK. Однак JBuilder має кілька переваг порівняно з попереднім методом:

  • зручність налагодження: компілятор позначає помилкові рядки програми, і до них легко перейти
  • підказки щодо коду: під час використання об’єкта Java JBuilder відображає список його властивостей та методів безпосередньо в рядку. Це дуже зручно, враховуючи, що більшість об’єктів Java мають дуже багато властивостей і методів, які важко запам’ятати.

JBuilder можна знайти на сайті http://www.borland.com/jbuilder. Щоб отримати програмне забезпечення, потрібно заповнити форму. Ключ активації надсилається електронною поштою. Наприклад, для встановлення JBuilder 7 було зроблено наступне:

  • було завантажено три zip-файли: для програми, для документації та для прикладів. Кожен із цих zip-файлів має окреме посилання на сайті JBuilder.
  • Спочатку було встановлено програму, потім документацію, а наостанок — приклади
  • під час першого запуску програми вимагається ввести ключ активації: це той ключ, який вам надіслали електронною поштою. У версії 7 цей ключ фактично є повним текстовим файлом, який можна, наприклад, розмістити в папці інсталяції JB7. У момент запиту ключа потрібно вказати цей файл. Після цього ключ більше не запитуватиметься.

Якщо ви хочете використовувати JBuilder для створення Java-сервлетів, потрібно виконати кілька корисних налаштувань. Справа в тому, що так звана «особиста версія JBuilder» є спрощеною версією, яка, зокрема, не містить усіх класів, необхідних для веб-розробки на Java. Можна налаштувати JBuilder так, щоб він використовував бібліотеки класів, що надаються Tomcat. Для цього потрібно:

  • запустити JBuilder

Image

  • увімкніть опцію «Tools/Configure» для JDKs

Image

У розділі «Налаштування» (Settings) JDK, показаному вище, у полі Name зазвичай вказано версію JDK 1.3.1. Якщо у вас є новіша версія JDK, скористайтеся кнопкою Change, щоб вказати каталог її встановлення. Вище було вказано каталог E:\Program Files\jdk14, де було встановлено JDK 1.4. Відтепер JBuilder використовуватиме цей JDK для компіляції та виконання. У розділі (Class, Source, Documentation) міститься список усіх бібліотек класів, які будуть аналізуватися JBuilder, у даному випадку — класи з JDK 1.4. Класів з цієї версії недостатньо для веб-розробки на Java. Щоб додати інші бібліотеки класів, використовуйте кнопку Add і вкажіть додаткові файли .jar, які ви хочете використовувати. Файли .jar — це бібліотеки класів. Tomcat 4.x містить усі бібліотеки класів, необхідні для веб-розробки. Вони знаходяться в <tomcat>\common\lib, де <tomcat> — це каталог інсталяції Tomcat:

Image

За допомогою кнопки Add ми додамо ці бібліотеки, одну за одною, до списку бібліотек, які сканує JBuilder:

Image

Відтепер можна компілювати Java-програми, що відповідають стандарту J2EE, зокрема Java-сервлети. JBuilder використовується лише для компіляції, а виконання згодом забезпечується Tomcat відповідно до інструкцій, викладених у курсі.

10.12. Веб-сервер Cassini

Для роботи з платформою .NET від Microsoft можна використовувати веб-сервер Cassini. Він доступний через інший продукт під назвою [WebMatrix], який є безкоштовним середовищем веб-розробки на платформах .NET, доступним за адресою:

Image

Слід уважно дотримуватися інструкцій з інсталяції продукту:

  • завантажити та встановити платформу .NET (версія 1.1 від березня 2004 року)
  • завантажити та встановити WebMatrix
  • завантажити та встановити MSDE (Microsoft Data Engine) — обмежену версію SQL Server.

Після завершення встановлення продукт [WebMatrix] буде доступний у списку встановлених програм:

Image

Посилання [ASP.NET] Web Matrix запускає IDE для розробки ASP.NET:

Image

Посилання [Class Browser] запускає інструмент перегляду класів .NET:

Image

Щоб перевірити встановлення, запустимо [WebMatrix]:

42

Image

Під час першого запуску [WebMatrix] запитує параметри нового projet.C — це його конфігурація за замовчуванням. Можна налаштувати програму так, щоб це діалогове вікно не з’являлося під час запуску. Це можна зробити за допомогою опції [File/New File]. [WebMatrix] дозволяє створювати шаблони для різних веб-додатків. Вище ми вказали за допомогою (1), що хочемо створити додаток [ASP.ET Page], який є веб-сторінкою. За допомогою (2) ми вказуємо папку, в якій буде розміщена ця веб-сторінка. У (3) ми вказуємо назву сторінки. Вона повинна мати розширення .aspx. Нарешті, у (4) ми вказуємо, що хочемо працювати з мовою VB.NET, причому [WebMatrix] також підтримує мови C# та J#.

Після цього [WebMatrix] відображає сторінку редагування файлу [demo1.aspx]. У ній ми розміщуємо такий код:

Image

  • вкладка [Design] дозволяє «намалювати» веб-сторінку, яку ми хочемо створити. Це відбувається так само, як у IDE для створення додатків для Windows.
  • Графічне проектування веб-сторінки у [Design] згенерує код HTML у вкладці [HTML]
  • Веб-сторінка може містити елементи управління, що генерують події, на які потрібно реагувати, наприклад, кнопку. Ці події оброблятиметься кодом VB.NET, який розміщуватиметься у вкладці [Code]
  • у підсумку файл demo1.aspx є текстовим файлом, що поєднує код HTML та код VB.NET, що є результатом графічного проектування, виконаного у [Design], коду HTML, який було додано вручну у файл [HTML], та коду VB.NET, розміщеного у файлі [Code]. Повний файл доступний у вкладці [All].
  • Досвідчений розробник ASP.ET може створити файл demo1.aspx безпосередньо за допомогою текстового редактора без використання будь-якого IDE.

Виберемо опцію [All]. Бачимо, що [WebMatrix] вже згенерував код:

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

    ' Вставте тут код сторінки
    '

</script>
<html>
<head>
</head>
<body>
    <form runat="server">
        <!-- Вставте вміст тут -->
    </form>
</body>
</html>

Ми не будемо тут намагатися пояснити цей код. Ми перетворюємо його наступним чином:

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

Наведений вище код є поєднанням коду HTML та коду VB.NET. Він розміщений у тегах <% ... %>. Для виконання цього коду ми використовуємо опцію [View/Start]. [WebMatrix] запускає веб-сервер Cassini, якщо він ще не запущений

Image

Можна прийняти значення за замовчуванням, запропоновані в цьому діалоговому вікні, і вибрати опцію [Start]. Веб-сервер тепер активний. [WebMatrix] запустить браузер за замовчуванням на комп’ютері, на якому він знаходиться, і запросить URL http://localhost:8080/demo1.aspx:

Image

Сервер Cassini можна використовувати поза межами [WebMatrix]. Виконуваний файл сервера знаходиться в <WebMatrix>\<версія>\WebServer.exe, де <WebMatrix> — це каталог інсталяції [WebMatrix], а <version> — його номер версії:

Image

Відкриємо вікно командного рядка та перейдемо до папки сервера Cassini:

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

Запустимо [WebServer.exe] без параметрів:

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

З'являється вікно довідки:

Image

Програма [WebServer], яку також називають веб-сервером Cassini, підтримує три параметри:

  • /port: номер порту веб-сервісу. Може бути будь-яким. За замовчуванням — 80
  • /path: фізичний шлях до папки на диску
  • /vpath: віртуальна папка, пов’язана з попередньою фізичною папкою. Зверніть увагу на те, що синтаксис не /path=шлях, а /vpath:шлях, на відміну від того, що зазначено у вікні довідки вище.

Помістимо файл [demo1.aspx] у таку папку:

Image

Прив’яжемо до фізичної папки [d:\data\devel\webmatrix] віртуальну папку [/webmatrix]. Веб-сервер можна запустити таким чином:

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

Сервер Cassini стає активним, і його піктограма з’являється на панелі завдань. Якщо двічі клацнути на ній:

Image

З’являться параметри запуску сервера. Також є можливість зупинити [Stop] або перезапустити [Restart] веб-сервер. Якщо натиснути на посилання [Root URL], у браузері відкриється коренева папка веб-дерева сервера:

Image

Перейдемо за посиланням [demos]:

Image

а потім посилання [demo1.aspx]:

Image

Отже, бачимо, що якщо фізична папка P=[d:\data\devel\webmatrix] була пов’язана з віртуальною папкою V=[/webmatrix], а сервер працює на порту 100, веб-сторінка [demo1.aspx], яка фізично знаходиться в [P\demos], буде доступна локально через URL та [http://localhost:100/V/demos/demo1.aspx].

На цьому конкретному прикладі ми показали, що веб-розробка ASP.NET може здійснюватися за допомогою простого текстового редактора для написання веб-сторінок та веб-сервера Cassini для їх тестування. Це справедливо незалежно від складності додатка. IDE [WebMatrix] дещо полегшує розробку, але не набагато. Такий інструмент, як Visual Studio.NET, є набагато ефективнішим, але це комерційний продукт.