Название: WEB- программирование (А.В. Гунько)

Жанр: Информатика

Просмотров: 1831


2. краткие теоретические сведения

 

ASP есть не что иное, как сценарий на VBScript, который исполняется на сервере. Когда запрашивается страница, этот сценарий порождает HTML-текст. Код, окруженный специальными символами: угловыми скобками и знаками процента (< \%...\% >), – серверный код, выполняемый перед тем, как страница будет послана программе просмотра. Для вывода значения некоторой переменной str применяют конструкцию < \% = str \% >.

VBScript не является полнофункциональным языком. Для повышения функциональности VBScript дополнен объектами и компонентами ASP.

ASP-объекты и компоненты – это компоненты ActiveX, подобные обычным DLL ActiveX. ASP-объекты – это элементы управления ActiveX, которые в коде на VBScript доступны всегда: их не нужно создавать явно. В число объектов ASP входят Application, Session, Request, Response и Server. ASP-компоненты представляют собой DLL, существующие вне структуры ASP. Эти компоненты могут быть написаны на любом языке, а некоторые полезные ASP-компоненты просто поставляются в комплекте с Web-сервером. ASP-компоненты нужно явно создавать в коде. ASP поддерживает компоненты Database Access, File Access, Browser Capabilities, Ad Rotator и Content Linking.

Для передачи данных Web-серверу используется отправка формы. В форме содержатся текстовые поля, переключатели и

т. п. Клиент размещает введенные данные в этих полях и пересылает пакет серверу. Процессом передачи формы управляют два атрибута тега <FORM>: METHOD и ACTION. Первый атрибут – METHOD – определяет, каким именно образом данные пересылаются серверу. Атрибут может иметь два значения: POST и GET. POST диктует программе просмотра, что данные нужно поместить внутрь формы, а GET пересылает данные как составную часть URL целевой страницы. Второй атрибут – ACTION – задает целевую страницу для обработки отправленных данных. Следующий код посылает данные формы сценарию DATA.ASP методом POST:

<FORM METHOD ="POST" ACTION ="data.asp">

<P> <INPUT TYPE ="TEXT" NAME="Name"> </P>

<P> <INPUT TYPE ="SUBMIT"> </P> </FORM>

Элемент формы с типом SUBMIT – это кнопка, нажатие которой пользователем заставляет программу просмотра упаковать данные формы и отправить их. Данные имеют вид пар Поле = Значение, отсылаемых серверу в формате открытого текста. На сервере эти данные можно вновь разобрать по полям и использовать в любых целях. Для разбора полученных от клиента данных в ASP используется объект Request. Для работы с объектом Request ему сообщают имя поля, значение которого надо получить, и объект вернет это значение. Например, следующий код вернет значение поля Name:

< \% = Request.Form("Name") \% >

Если для отправки данных используется метод GET или сценарий вызывается с передачей параметров прямо в гиперссылке

<A HREF = data.asp?Name = NewTech > Для отправки щелкните здесь!</A>

то для разбора данных применяют метод Request. QueryString, который работает так же, как Request.Form. Следующий фрагмент кода вернет значение поля Name из гиперссылки:

< \% = Request.QueryString("Name") \% >

Среди компонентов ASP выделим компонент доступа к базам данных ActiveX Data Objects (ADO). Он и содержащиеся в нем объекты применяются для чтения и записи данных в источники данных ODBC. Объект Connection (подсоединение) создается методом CreateObject объекта Server, и ссылка на него помещается в переменную. Когда объект создан, его используют для открытия подсоединения к любому источнику данных ODBC. Источник данных ODBC создается апплетом Панели управления Windows, который при удаленной работе оказывается недоступен. В этой ситуации применяют файловый DSN (Data Source Name), создав который, можно скопировать файл с расширением .dsn в тот же каталог, что и сценарий, обращающийся к базе данных. Используется он так:

sDSNFil = "mysql.dsn"

sDSN = "filedsn=" & sPath & sDSNFil & ";"

где sPath – путь к файлу источника данных.

Чтобы не вставлять данный код в каждый сценарий, в котором требуется обращение к базе данных, применяют файлы включения (подобно include-файлам в языке С):

<!-- #include file ="dsn.asp" -->

Следующий фрагмент кода устанавливает подсоединение к источнику данных ODBC:

< \% Dim objConnection

Set objConnection = Server.CreateObject("ADODB.Connection")

objConnection.Open "Publications", "sa", "" \%>

Метод Open устанавливает подсоединение, принимая в качестве аргументов имя источника данных, идентификатор пользователя и пароль.

Когда подсоединение установлено, получать информацию из источника данных можно при помощи объекта Recordset (набор записей). Этот объект умеет выполнять оператор SELECT языка SQL и возвращать набор записей, удовлетворяющих этому запросу. Объект Recordset создается методом CreateObject. В следующем примере программа выполняет оператор SELECT над источником данных, представленным переменной objConnection:

< \% Dim objRecordset

Set objRecordset =

     = Server.CreateObject("ADODB.Recordset")

objRecordset. Open "SELECT * from peple", objConnection \%>

При применении файлового DSN подсоединение можно совместить с извлечением данных:

objRecordset.Open "SELECT name FROM people", sDSN

После того как записи получены, для передвижения по ним можно обращаться к методам MoveFirst, MoveLast, MoveNext и MovePrevious. Для перемещения по полям текущей записи можно применять следующий код:

For i = 1 to RS.Fields.Count-1

response.write RS.fields(i).name&": "&RS.fields(i).value

next

Здесь метод Write объекта Response помещает данные на Web-страницу.

Модифицировать данные можно при помощи SQL-операторов INSERT, UPDATE, DELETE:

sSQL = "UPDATE Users SET Users.Pswd= '" & pswd & "' WHERE Users.User_ID = '" & =id &'"

Rs.Open sSQL, sDSN

По окончании работы с базой данных необходимо освободить ресурсы, закрыв созданные объекты и очистив ссылки на них:

RS.Close

Set RS = Nothing