GetInfo.Ru – Компьютерная библиотека
Последние поступления
Как выбрать систему управления базы данных
Базы данных03/09/14
Этапы загрузки UNIX (в схеме)
Unix27/03/12
Gatewall Antispam: тотальный контроль электронной почты
Спам21/04/11
Мастер-класс: создаем Интернет-магазин (Часть 1)
Обзоры ПО20/04/11
CorelDRAW Graphics Suite X5: Что нового?
Обзоры ПО20/07/10
Добавить статью
Самые читаемые материалы
Программирование на ASP. Введение или первый урок.(15828)
Отображение картинки из БД напрямую - создание своего HttpHandler(13327)
Использование шаблонов дизайна в ASP .NET(12394)
Кеширование ASP.NET страниц(11648)
Пакетная компиляция в ASP.NET(11388)
Всего статей: 793Всего авторов: 364Подразделов: 47Добавлено за сутки: 0
Статьи  СТАТЬИ Форум  ФОРУМ Рейтинг  РЕЙТИНГ Поиск  ПОИСК Контакты  КОНТАКТЫ
» Главная » ASP » Программирование на ASP. Введение или первый урок.

Программирование на ASP. Введение или первый урок.


Павел Коваленко
pavelk@rcsme.ru

Первый урок состоит в том, что в стартапе,
зависящим от передовых технологий,
все занимает больше времени и стоит дороже,
чем предполагалось.
Даже если при расчетах иметь в виду первый урок.
Говард Райнголд

Это первый урок по ASP, точнее, урок и введение. Тем, кто уже достаточно хорошо знаком с описываемой далее технологией могут пропустить этот урок. В тексте Вам встретятся примеры кода. Все эти примеры можно скачать и попробовать в действии. В конце урока есть ссылка на примеры. Если у вас возникнут вопросы или предложения - pavelk@rcsme.ru.

Active Server Pages (ASP) - это технология Microsoft, позволяющая создавать динамические web страницы. По запросу клиента ASP страница обрабатывается на сервере, после чего сервер возвращает клиенту удобочитаемый результат.


Только Windows? Изначально - да. Но есть и заделы под другие платформы. Например, продукт компании SUN "Chili!Soft ASP" (http://www.chilisoft.com). Этот продукт позволяет работать под Apache, Lotus, Netscape, O'Relly и Microsoft, запущенных под HP-UX, Linux, Windows NT, Sun Solaris and IBM AIX. У него есть одно неоспоримое преимущество - межплатформенность. Но при этом есть и серьезные недостатки. Хотя в состав "Chili!Soft ASP" и входят все стандартные компоненты (Browser Capabilities, Ad Rotator, Content Rotator, Content Linking, Content Rotator, MyInfo, Tools and Counters components), а так же несколько своих нестандартных (Chili!Mail, Chili!POP3 и Chili!Upload), вы не сможете перенести компоненты, написанные на VisualBasic. Если вы думаете, что таких объектов мало, то сильно заблуждаетесь. Очень много объектов для работы с ASP написано именно на этом языке. Кроме того, "Chili!Soft ASP" поддерживает ASP версии 2.0. Версия 3.0 и ASP.Net не поддерживаются.

Есть и другие продукты "Instant ASP" фирмы HalcyonSoftware, Inc (http://www.halcyonsoft.com).
Список платформ и серверов для этой "Instant ASP" вы найдете здесь: http://www.halcyonsoft.com/docs/iasp/config/supported.htm
На данный момент доступна версия 2.0, которая поддерживает:

  • ASP 3.0
  • VBScript 5.5
  • Jscript 5.5
  • ADO
  • CDO
  • Стандартные компоненты
  • Компилятор ASP в JAVA bytecode
  • и другие возможности

На мой взгляд, данные решения имеют право на существование лишь для ОЧЕНЬ специфических задач. Технология ASP не разрабатывалась под межплатформенность, а если нужна именно межплатформенность стоит использовать другие технологии и языки (PHP, PERL, и.т.д.), IMXO, конечно. Сейчас серверы на базе Windows стали достаточно распространены и вряд ли есть большая необходимость в нестандартных решениях.


Где взять?

ASP поставляется вместе с Microsoft Internet Information Server (IIS) для Windows NT. IIS же находится в составе Windows NT Option Pack. Для Windows 2000/XP Microsoft Internet Information Services (IIS) и ASP входят в состав дополнительных компонентов операционной системы.
Не оставлены без внимания и пользователи Windows 9x/Me. Для них есть Personal WEB Server (PWS), который находится на установочном диске или можно бесплатно скачать с сайта Micosoft ( http://www.microsoft.com/msdownload/ntoptionpack/askwiz.asp ).


Как все это работает и :первая программа

Основным языком ASP является VBScript (Visual Basic Script). Так же используется Jscript. Оба языка поставляются вместе с ASP фирмой Microsoft. Исчерпывающую информацию, а так же их новые версии можно найти по адресу http://msdn.microsoft.com/library/default.asp?url=/library/en-us/script56/html/vtoriMicrosoftWindowsScriptTechnologies.asp

VBScript это "родной" язык ASP, имеющий очень долгую историю. Его варианты используются в WSH (Windows Script Host), Microsoft Office (Visual Basic for Application) и во многих других продуктах. Практически все, что можно сделать с помощью VBScript доступно и в Jscript. Jscript это вариант языка JavaScript от Microsoft. В большинстве вещей он совместим с JavaScript, но имеет много усовершенствований, свойственных продуктам, где он используется. Jscript будет прекрасным вариантом для людей начинающих программировать с использованием технологии ASP и имеющих опыт работы с такими языками, как C, C++, Java, JavaScript.
Еще существует достаточно много сторонних разработок, это и Perl ( http:// www.activestate.com/ ), и Rexx ( http://wschaefer.purespace.de/rexx/rexxweb/wrw003.tml ), и Python и др.

ASP файлы, как правило, представляют собой HTML-файлы с интегрированными в них скриптами. ASP скрипт заключается в специальные тэги "<% %><%" и "%>".

Напишем первую программу на ASP. Наша программка будет выводить любимое всеми программистами словосочетание " Hello World ".

	<%@ Language=VBScript %>
	<html>
	<head>
	<title> Пример 1</title>
	</head>
	<body>
	<% Response.write "Hello world!" %>
	</body>
	</html>
После интерпретации на сервере клиент получит следующую HTML страничку:
	<html>
	<head>
	<title> Пример 1</title>
	</head>
	<body>
	 Hello world!
	</body>
	</html>

Рассмотрим, что происходит в этом примере. "Response" - один из нескольких встроенных ASP объектов.
"Write (arg)" - его метод, производящий запись аргумента(arg) клиенту.
В нашем случае аргументом была строка "Hello world!".
Для Jscript пример будет аналогичен, за исключением двух строк.
Первая строка, объявляющая используемый язык меняется с "<%@ Language=VBScript %> " на "<%@ Language=javascript %> ".
Вызов объекта "Response" поменяется с "<% Response.write "Hello world!" %> " на "<% Response.Write ("Hello world!"); %>".
Здесь следует обратить внимание на регистр, точку с запятой после вызова и скобки.

О встроенных ASP объектах мы поговорим в следующий раз.


Знакомство с переменными, операторами условного перехода, сравнения и др.

Записывая такой большой заголовок абзаца, я, совсем не хотел вас запутать.
Просто в нашем втором примере мы все это увидим в действии, а так же еще кое-что полезное.
Давайте перейдем ко второму примеру, что бы посмотреть на использование переменных, встроенных функций и условий.

             
	<%@ Language= VBScript
	%>
	<html>
	<head><title>Пример 2</title>
	</head>
	<%
	Dim GoodNight, GoodMorning

		GoodNight = "Good Night Everyone!"
		GoodMorning =   "Good	
	Morning
	Everyone!"
	%> <body><%if Hour(time)>18 orHour(time)<4 then             
	%> <%=GoodNight%>  
	<%else%> 
	<% Response.Write GoodMorning%> 
	
<%end if%> </body> </html>

В зависимости от времени на сервере, в этом примере будет выводиться одна из двух фраз.
Эти две строчки мы заранее занесли в переменные:
GoodNight = "Good Night Everyone!"
GoodMorning = "Good Morning Everyone!"
В VBScript необязательно объявлять переменные, но это крайне желательно,
что мы и сделали перед присвоением им строковых значений:
Dim GoodNight, GoodMorning
Следующая, интересующая нас строка содержит конструкция вида IF: THEN:
Это оператор условного перехода.
Hour и Time это встроенные функции VBScript. Функция Time возвращает текущее системное время, а функция Hour(arg) вернет нам цифру, содержащую количество часов в переменной, представленной аргументом arg. Значки "<" и ">" обозначают операторы сравнения меньше и больше соответственно.
Запись "OR"- это логический оператор, обозначающий логическое "ИЛИ".
Теперь нам понятен смысл конструкции:

	
	<%if Hour(time)>18 orHour(time)<4 then%>
	<%=GoodNight%>
	<%else%>
	<% Response.Write GoodMorning %>
	<%end if%>
Ее можно интерпретировать, как:
Если часов больше18 или меньше 4 то
выводим переменную GoodNight
Если это не так то
Выводим переменную GoodMorning
Закрываем условие

Обратите внимание на запись "<%=GoodNight%>".
Она эквивалентна записи "<% Response.Write GoodNight %>".

Как я уже и говорил, основной язык технологии ASP - Microsoft VBScript. Мы уже видели некоторые его функции и конструкции в действии. Чтобы использовать ASP, необходимо знать этот язык. Можно использовать и другие, но VBScript более распространен и наибольшее количество примеров, найденных вами, будет написано именно на нем.


Переменные.

Переменные в VBScript не требуют обязательного объявления, но, следуя правилам хорошего тона нужно их объявить. Делается это так:

	'объявление первой переменной.
	Dim myvar
	'объявление массива из трех элементов.
	Dim myarr(3)

В этом примере объявлено две переменных myvar и myarr. Все переменные в VBScript имеют один тип: Variant. Задать тип переменной при объявлении невозможно. Отсутствие строгой типизации достаточно серьезная проблема скриптовых языков, однако, в следующей версии ASP (ASP.NET) наконец введена строгая типизация. Знак "'" обозначает начало комментария. Все, что следует за ним в одной строке, не интерпретируется. С первой переменной все понятно, со второй не так прозрачно. Вторая переменная - массив из трех элементов. Важно, что, номер элемента массива обозначается круглыми скобками в VBScript, а в JScript - квадратными! Элементы в массиве нумеруются с нуля. Поэтому первых элемент массива будет myarr(0), а последний myarr(2).


Циклы.

В VBScript есть четыре оператора циклов: For : Next For : Each : Next Do:Loop While:Wend

For : Next используется когда следует выполнить какое-то действие n-ое количество раз.
Пример:

	<%@ Language=VBScript %>
	<html>
	<head>
	<title>Пример 3</title>
	</head>
	<body>
	<%
	Dim J
	' начало цикла
	for J=1 to 5 
		Response.Write J
	Next
	'конец цикла   
	%>
	</body>
	</html>

Результат: 12345
В этом примере переменной J последовательно присваиваться значения от 1 до 5.
Далее переменная выводится на экран.

В конструкции For : Next можно задавать шаг цикла. В предыдущем примере шаг не был задан, и интерпретатор использовал шаг по умолчанию - 1. Но можно задать и другой. Делается это следующим образом:
	<%@ Language=VBScript %>
	<html>
	<head>
	<title>Пример 4</title>
	</head>
	<body>
	<%
	Dim J
	' начало цикла
	for J=1 to 5 Step 3 
		Response.Write J
	next
	' конец цикла     
	%>
	</body>
	</html>

Результат: 14
Думаю, результат понятен.

For :Each : Next эквивалентен предыдущей конструкции с той разницей, что используется для массивов и коллекций.

Do:Loop. Этот цикл работает, до тех пор, пока не будет верно условие. В следующем примере мы получим результат, аналогичный результату примера 2:


	<%@ Language=VBScript %>
	<html>
	<head>
	<title>Пример 5</title>
	</head>
	<body>
	<%
	Dim J
	Dim is_True

		J =1
		is_True = False
	' начало цикла
	Do while not is_True 
		Response.Write J
		J = J + 1
		if J = 6 then 
			is_True= True
		end if
	loop 
	'конец цикла  
	%>
	</body>
	</html>

 

Цикл While:Wend практически не используется. Его заменяет конструкция Do:Loop, которая, несомненно, является более гибкой и удобной в использовании.


Условные выражения.В VBScript используются только два условных выражения. С одним из них мы уже встречались - это If : Then : Else. Использовать его достаточно легко. Вторая конструкция это - Select : Case. В следующем примере мы попробуем показать использование сразу двух условных выражений:
<%@ Language=VBScript %>
<html>
<head>
<title>Пример 6</title>
</head>
<body>
<%
Dim i
For i= 1 TO 5
If i > 4 Then
Select Case  i Case 1
Response.Write "i =  1<BR>" & vbNewLine
Case 2
Response.Write "i = 2<BR>" & vbNewLine
Case Else
Response.Write "i = 3<BR>"  & vbNewLine End
Select Else	
Response.Write "i >  3<BR>" & vbNewLine	
End if
Next
%>
</body>
</html>
Получаем следующий результат:
	
	i = 1
	i = 2
	i = 3
	i > 3
	i > 3

Здесь переменной I в цикле присваиваются значения от 1 до 5. Пока ее значение равно 1, 2, 3 мы попадаем в тело IF, где находится конструкция Select. Вариант 1 и 2 срабатывают, когда I принимает значение 1 и 2 соответственно. Вариант Case Else срабатывает во всех других случаях. Когда значение I становиться больше 3 (4,5) мы попадаем в ветвь Else.


Заключение

Первый урок можно считать завершенным. Это был вводный материал, и опытные программисты могли пропустить его. В конце урока приведен список полезных ссылок к этому уроку, а так же файлы примеров, которые вы можете скачать. В следующий раз мы будем знакомиться со встроенными объектами ASP, которыми вы будете пользоваться во всех своих приложениях.

 
14.01.2003
Версия для печати Версия для печати Запомнить ссылку Запомнить ссылку
Ваша оценка:  1   2   3   4   5     

 О проектеПерепечаткаАвторамПартнерыО нас пишут
Наверх
©2003—2007. GETINFO.RU. ВСЕ ПРАВА ЗАЩИЩЕНЫ.