Лістинг 4.1. Простий приклад ASP.
<%@ LANGUAGE="VBSCRIPT" %>
<HTML> <head>
<MEТА HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=windows-1251">
<TITLE>Simple ASP Example by Mikle</TITLE> </HEAD><BODY BGCOLOR="#FFFFFF">
<%
Dim strGreeting
If Hour(Now)< 12 Then
strGreeting = "Добрий ранок!"
ElseIf Hour(Now)> 11 And Hour(Now)< 18 Then
StrGreeting = "Добридень"
ElseIf Hour(Now)> 17 Then
strGreeting = "Добрий вечір!"
End If
%>
<CENTER><H1><%=strGreeting%> </Н1>
</BODY></HTML>
Зверніть увагу на код в лістингу, оточений спеціальними символами: кутовими дужками і знаками відсотка (<%...%>). Такі символи означають, що це серверний код, який виконується перед тим, як сторінка буде насправді послана програмі перегляду. Якби Ви поглянули в Internet Explorer на результуючий HTML-текст, то побачили б наступне (у припущенні, що зараз ще не вечір, але вже не ранок):
<%@ LANGUAGE="VBSCRIPT" %>
<HTML><HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=windows-1251">
<TITLE>Simple ASP Example By Mikle</TITLE> </HEAD>
<BODY BGCOLOR="#FFFFFF"> <Н1>Добрий день!</Н1> </BODY> </HTML>
У цьому-то і полягає суть ASP. Результат виконання коду — звичайний HTML! Цю сторінку можна переглядати будь-якою програмою перегляду: не лише Internet Explorer, але і, наприклад, Netscape Navigator. Іншими словами, ASP надає розробникові справжню платформену незалежність
В представленої коду є ще декілька особливостей. Зверніть увагу на саму верхню строчку — вона визначає, на якій мові написаний сценарій на даній сторінці:
<%@ LANGUAGE="VBSCRIPT" %>
Швидше за все, Ви писатимете свої сценарії на VBScript, але ASP підтримує і JavaScript. На відміну від сценаріїв на клієнтській стороні, тут вибір мови абсолютно не створює проблем сумісності з різними програмами перегляду, оскільки весь код виконується на сервері.
А тепер зверніть увагу на той рядок, де і відбувається генерація HTML-текста. Тут для виведення вітання використовується змінна:
<H1><%=strGreeting%> </H1>
Змінна strGreeting поміщена в кутові дужки із знаками відсотка, як і весь останній серверний код, але, крім того, їй передує знак рівності. Така конструкція грає важливу роль в ASP, вказуючи, що в дане місце HTML-страницы потрібно вставити поточне значення цієї змінної.
Об'єкти і компоненты. На найпростішому рівні створення ASP-сторінки — це ні що інше, як написання серверної коду для здобуття очікуваного результату. Але VBScript не є повнофункціональною мовою і, як тільки Ви приступаєте до побудови складніших сторінок, його виразних засобів починає не хапати. Так, в VBScript немає вбудованих функцій доступу до даних; не уміє він і відкривати текстові файли. Власне кажучи, в VBScript відсутні які-небудь вбудовані засоби доступу до яких би то не було зовнішніх джерел даних. Оскільки ж в такому разі за допомогою ASP виконуються такі складні дії, як доступ до даних? Відповідь буде такою: потрібно доповнити VBScript об'єктами і компонентами ASP.
ASP-объекты і компоненты — це не що інше, як компоненты ACTIVEX, подібні звичайним DLL ACTIVEX, з якими Ви напевно працювали в Microsoft Visual Basic. Відмінність між об'єктами і компонентами ASP полягає в тому, яким чином вони з'являються в програмі. ASP-объекты — це елементи управління ACTIVEX, які в коді на VBScript доступні завжди: їх не потрібно створювати явно. У число об'єктів ASP входять Application, Session, Request, Response і Server. А ось ASP-компоненты є DLL, структури ASP, що існують зовні. Ці компоненты можуть бути написані на будь-якій мові, а деякі полезные ASP-компоненты просто поставляються в комплекті з Visual InterDev. ASP-компоненты потрібно явно створювати в коді. ASP підтримує компоненты Database Access, File Access, Browser Capabilities, Ad Rotator і Content Linking.
Файл GLOBAL.ASA. Одна з головних труднощів розробника для Інтернету, незалежно від того, яку технологію він використовує, полягає в тому, як складно створити в Інтернеті цей додаток. Взаємодія програми перегляду і Web-сервера є по суті позбавленою стану транзакцією, в ході якої сервер посилає клієнтові Web-сторінку і потім забуває про його існування. Коли клієнт запрошує іншу Web-сторінку, сервер нічого не пам'ятає про попередній запит. Корінна проблема для всіх Web-приложений така: як показати, що це саме застосування?
Визначити застосування в середовищі Microsoft Windows досить просто. Застосування запускается подвійним клацанням значка і завершується, коли в меню File вибраний пункт Exit. У проміжку між двома цими подіями дані зберігаються в змінних. Але для Інтернет-застосувань це не так. Як визначити, коли застосування починається, а коли закінчується? Можна сказати, що застосування почало роботу, якщо користувач зайшов на вузол і передивляється одну з його сторінок. Але що якщо він переходить до іншого вузла, а через п'ять хвилин повертається? Застосування все ще активно? А якщо користувач був відсутній годину або дві?
Проблема визначення моментів запуску і завершення застосування робить серйозний вплив на правильне управління змінними і послідовністю виконання. На щастя, ASP пропонує рішення. Воно полягає в тому, що для визначення початку і завершения — як всього застосування, так і окремих призначених для користувача сесій — використовується спеціальний файл під назвою GLOBAL.ASA. На цей файл покладено реагування на чотири ключові події вузла: Application_OnStart (запуск застосування), Application_OnEnd (завершення застосування), Session_OnStart (початок сесії) і Session_OnEnd (завершення сесії). У лістингу 4.2 приведений типовий файл GLOBAL.ASA.
Дата добавления: 2016-04-02; просмотров: 555;