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

TOP-10 программ
Symantec Norton Ghost 9.0
Partition Magic 8.0.2 Pro
Xilisoft 3GP Video Converter v3.1.7.0616b
Norton AntiVirus 2005
Xilisoft 3GP Video Converter v2.1.52.831b
Антивирус Касперского Personal 5.0.303 beta 2
RAR Password Cracker 4.12
ABBYY PDF Transformer v1.00.820
MP3 To Ringtone Gold v3.02
Mobtime Cell Phone Manager v5.3.1
 
Наши сервисы
Рассылка новостей. Подпишитесь на рассылку сейчас и вы всегда будете в курсе последних событий в мире информационных технологий.
Новостные информеры. Поставьте наши информеры к себе и у вас на сайте появится дополнительный постоянно обновляемый раздел.
Добавление статей. Если вы являетесь автором статьи или обзора на тему ИТ присылайте материал нам, мы с удовольствием опубликуем его у себя на сайте.
 
 

   Интернет технологии -> 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. Здесь вы найдете и исходники и статьи и ссылки и еще массу всего интересного.

 
Популярные книги

SQL для "чайников", 5-е издание

Подробнее

Практические работы по Excel на уроках информатики

Подробнее

Windows XP для всех

Подробнее

 

 
Новости ИТ
01.12.2008  Buffalo выпустил миниатюрные USB-накопители
01.12.2008  VENTO TA-U1 - стильный корпус представлен Asus
01.12.2008  Fujitsu-Siemens выпускает в продажу внешний ускоритель для ноутбуков
01.12.2008  Оригинальные чехлы для ноутбуков от Choiix
01.12.2008  Опубликован код драйвера для беспроводных карт Atheros
01.12.2008  Лучший блог 2008
01.12.2008  Linux запустили на Apple iPhone
01.12.2008  LG KC780
01.12.2008  MSI дополнит линейку Wind-нетбуков двумя моделями
01.12.2008  Nikon D3X - 24,5 млн пикселей для профессионалов
01.12.2008  Киловаттник HIPER M1000 с КПД выше 85%
01.12.2008  AMD впервые снизила цены линейки Radeon HD 4800
01.12.2008  Чистильщики: Wise Registry Cleaner v.3.8.2
01.12.2008  Антивирусы: RemoveIT Pro v4 SE (30.11.2008)
01.12.2008  Корпус ASUS Vento TA-U1 можно поставить вместо новогодней ёлки
01.12.2008  Диагностика: PC Wizard 2008 v.1.871
01.12.2008  Диагностика: NextSensor v.2.7.6.0 Build 1130
01.12.2008  Тестовые приложения: PassMark BurnInTest v.6.0 Build 1000 Beta 15
01.12.2008  Неофициальные драйверы для модемов Motorola
01.12.2008  Драйверы и утилиты для сетевых хранилищ D-Link
 
Полезно

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