Большой архив статей, книг, документации по программированию, вебдизайну, компьютерной графике, сетям, операционным системам и многому другому
 
<Добавить в Избранное>    <Сделать стартовой>    <Реклама на сайте>    <Контакты>
  Главная Документация Программы Обои   Экспорт RSS E-Books
 
 

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


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

Это первый урок по 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, которыми вы будете пользоваться во всех своих приложениях.

Ссылки

http://www.microsoft.com/ntserver/techresources/webserv/default.asp Информация о IIS от создателя ASP.

http://asponline.webware.ru/ Хороший русскоязычный сайт об ASP. Обязательно прочитайте раздел FAQ.

http://www.activeserverpages.ru Один из самых старых в рунете сайтов об ASP. Много интересных материалов, но последнее время редко обновляется. Есть форум, где можно задавать свои вопросы.

http://www.relib.com/ Сайт, на котором представлен обзор нескольких технологий программирования, в том числе и ASP. В разделе ASP на данный момент около 40 статей. Список постоянно пополняется. Есть форум.

http://www.aspfree.com/
Англоязычный ресурс, содержащий огромное количество информации по ASP и ссылок на другие сайты.

http://www.asp101com/
Еще один англоязычный сайт, где представлена масса информации по ASP. Здесь вы найдете и исходники и статьи и ссылки и еще массу всего интересного.

 

 
Интересное в сети
 
10 новых программ
CodeLobster PHP Edition 3.7.2
WinToFlash 0.7.0008
Free Video to Flash Converter 4.7.24
Total Commander v7.55
aTunes 2.0.1
Process Explorer v12.04
Backup42 v3.0
Predator 2.0.1
FastStone Image Viewer 4.1
Process Lasso 3.70.4
FastStone Image Viewer 4.0
Xion Audio Player 1.0.125
Notepad GNU v.2.2.8.7.7
K-Lite Codec Pack 5.3.0 Full


Наши сервисы
Рассылка новостей. Подпишитесь на рассылку сейчас и вы всегда будете в курсе последних событий в мире информационных технологий.
Новостные информеры. Поставьте наши информеры к себе и у вас на сайте появится дополнительный постоянно обновляемый раздел.
Добавление статей. Если вы являетесь автором статьи или обзора на тему ИТ присылайте материал нам, мы с удовольствием опубликуем его у себя на сайте.
Реклама на сайте. Размещая рекламу у нас, вы получите новых посетителей, которые могут стать вашими клиентами.
 
Это интересно
 

Copyright © CompDoc.Ru
При цитировании и перепечатке ссылка на www.compdoc.ru обязательна. Карта сайта.