42334

Технология программирования Active Server Pages

Книга

Информатика, кибернетика и программирование

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

Русский

2013-10-29

91.5 KB

4 чел.

ВВЕДЕНИЕ

Active Server Pages - это технология программирования, которая обеспечивает возможность комбинирования HTML, скриптов, и компонент для создания динамических web-приложений. Возможность встраивания в web-страницы скриптов (кода, написанного на языке программирования, например VBScript или JScript) позволяет логичным образом объединить оформление с данными полученными из различных источников, например, из баз данных.

Идеология создания современных web-приложений заключается в инкапсуляции бизнес-логики в отдельные компоненты, написанные по технологии COM. Технология ASP в данном случае является связующим звеном между этими компонентами и интерфейсом веб-приложения.

Использование Active Server Pages не требует специфичных броузеров. Все ASP-скрипты запускаются и выполняются на веб-сервере, причем броузер получает только результирующие HTML-файлы. Microsoft Internet Information Server, начиная с версии 3.0, поддерживает Active Server Pages.

Рассмотрим последовательность функционирования ASP. Клиент запрашивает ASP-страницу на веб-сервере. Сервер принимает запрос и начинает его обрабатывать. По расширению файла (".asp") определяет, что данный файл содержит ASP-скрипт и начинает анализировать его содержимое, последовательно интерпретируя и выполняя вставки ASP-кода. ASP-код, в свою очередь, может содержать обращения к различным источникам данных, осуществлять обработку полученных данных и добавлять содержимое генерируемой страницы. В результате формируется "обычная" HTML-страница (уже не содержащая ASP-кода), которая и отправляется обратно клиенту.

Внешне ASP функционирует также как CGI. Аналогичным образом передаются параметры (формат строки запроса) и осуществляется вывод результатов. Однако производительность ASP оказывается гораздо выше, т.к. при каждом запросе не происходит отдельной загрузки ASP-интерпретатора. Использование компонент ActiveX также значительно повышают производительность веб-сервера.

Помимо повышения производительности ASP решают также проблему оформления динамических web-страниц. Ранее при использовании CGI приходилось либо встраивать текст оформления web-страницы в программный код CGI-сценария, что затрудняло дальнейшее изменение дизайна, либо вынуждало разработчиков создавать свои собственные системы шаблонов. Использование ASP позволяет разработчику одновременно работать над программным кодом и над оформлением Web-страницы

В рамках цикла лабораторных работ требуется спроектировать и разработать несколько web-ориентированных программ с помощью технологи ASP позволяющих реализовать некоторые задачи, востребованные в сети Интернет. К таковым относятся различные задачи по обработке текстовой и числовой информации, задачи накопления Интернет–серверами пользовательский данных и т.д.

  1.  
    ТЕОРИЯ
    1.  Использование HTML-форм

На современном этапе развития HTML, web–страницы обладают очень строгой структурой. Для предоставления пользователю возможности вносить данные на Интернет-сервер очень часто используются так называемые HTML–формы. Формы в свою очередь включают в себя набор элементов ввода данных. Так, при вводе данных в форму используются различные управляющие элементы – текстовое поле, текстовая область, флажок, переключатель, раскрывающийся список, скрытые поля, кнопка отправки данных, кнопка сброса. В одних элементах пользователь вводит информацию с клавиатуры, в других он выбирает нужный вариант, щелкая кнопкой мыши. В формах могут присутствовать скрытые поля, которые поддерживаются самой формой; скрытые поля не отображаются пользователю, он не может изменить их содержимое.

Каждая страница может содержать несколько форм, поэтому необходимы средства, которые позволяли бы отличить одну форму от другой. Кроме этого, требуется сообщать форме, куда следует перейти, когда пользователь выполняет действие с формой (как правило, нажимает кнопку отправки данных). Обе задачи решаются заключением форм в следующие теги HTML:

<form name=имя action=действие method="метод">

</form>

Как видно из приведенного фрагмента, в тегах форм указываются три важных элемента: имя формы, действие и метод. Имя необходимо для обращения к форме при необходимости. Действие указывает, какой сценарий должен обрабатывать форму при выходе из формы по кнопке передачи данных, а метод определяет способ передачи данных этому сценарию. Чаще всего используются  два метода:

Метод get передает все данные формы в конце строки URL. Из-за различных ограничений, связанных со спецификой языков и длиной данных, этот метод весьма применяется редко.

Метод post передает все данные формы в теле запроса. Этот метод более распространен, чем get.

  1.  Тэги ASP

Для того чтобы сервер корректно воспринимал ASP-скрпт необходимо заключать его в ASP-тэги: <% (открывающий тэг) и  %> (закрывающий тэг). Отдельные строки скрипта отделяются знаком конца строки.

Пример:

<%

Response.Write(“Hello ”)

Response.Write(“world!”)

‘Данный код выводит в окно браузера сообщение Hello world!

%>

  1.  Передача данных методами GET, POST

Одним из методов осуществления передачи и извлечения параметров методами GET и POST является использование команды Request.

  1.  Request

Все значения переменных, передаваемые от странице к странице, возможно получить используя функцию Request:

переменная1=Request(“переменная3”);

переменная2=Request(“переменная4”);

Где «переменная 3» и «переменная 4» это имена переменных в передающем скрипте, а «переменная 1» и «переменная 2» имена переменных в принимающем значения скрипте. Таким образом, если мы хотим передать какие либо данные от одного скрипта, нам необходимо обратиться к принимающей странице следующим образом:

адрес?перменная1=значение переменной1&перменная2=значение переменной2… 

Либо предать данные с помощью полей формы.

  1.  Объявление переменных

Для того чтобы объявить переменную в ASP необходимо использовать команду Dim.

Dim var1 as Type

var1 – имя будущей переменной

Type – тип переменной (необязательный параметр). Это параметр можно не определять, так как в ASP осуществляется автоматическое преобразование переменных.

  1.  Основные функции ASP

В данном разделе перечислены основные функции, которые, скорее всего, потребуются при выполнении лабораторных работ.

  1.  Response.Write

Функция выводит в окно браузера содержимое передаваемой ей параметра.

Response.Write(“source”)

source – данные, выводимые в окно браузера.

Пример:

myString=”I know ASP!”

Response.Write(“Hello world! ”)

Response.Write(myString)

После выполнения на экране увидим Hello world! I know ASP!

  1.  Date

Функция необходима для получения текущей даты.

string Date

Функция возвращает значение текущей даты.

Пример:

MyDate=Date

Теперь переменная MyDate будет содержать значение 24.07.2006

  1.  Time

Функция необходима для получения текущего времени.

string Date

Функция возвращает значение текущего времени.

Пример:

MyTime=Time

Теперь MyTime будет содержать значение 22:06:04

  1.  Split

Функция Split

array Split(string in_str, string spliter);

Функция разделяет строку in_str на подстроки, используя заданный разделитель spliter.

Пример1:

MyStr=”userYHello world!Y21.05.2006”;

MyArray=split(MyStr, "Y");

После применения функции массив MyArray будет содержать соответственно следующие значения:

MyArray[0]=user

MyArray[1]=Hello world!

MyArray[2]=21.05.2006

  1.  +

Наряду с арифметическими функциями этот символ может выполнять функции конкатенации двух строк.

String Str1+Str2

Пример:

MyStr=”Hello”+” ”+”world”+”!”

После выполнения переменная MyStr будет содержать Hello world!

  1.  UBound

Функция возвращает верхний индекс массива.

Integer UBound(array s_array)

s_array – массив, верхний индекс которого необходимо получить. Функция возвращает число типа Integer.

Пример:

Dim MyArray(30) As Integer

MyIndex=UBound(MyArray)

После выполнения переменная MyIndex будет содержать значение 29, так как индексация массивов начинается с 0.

  1.  Trim

Функция удаляет лишние пробелы по краям строкового выражения

string Trim(string s_string)

s_string – строковое выражение, в котором необходимо удалить лишние пробелы по краям.

Пример:

MyString=” Hello world!   ”

NewMyString=Trim(MyString)

После выполнения кода, переменная MyString будет содержать значение ”Hello world!”.

  1.  Функции и выражения для работы с файлами

При осуществлении открытия фала в одном из режимов мы будем работать с объектом типа FileSystemObject, который обладает всеми необходимыми методами для работы с фалами.

  1.  CreateObject

Эта команда используется для создания объекта. В нашем случае с её помощью мы будем создавать объект типа FileSystemObject и использовать его для работы с файлами.

Set objNew = CreateObject("ObjectType")

objNewимя создаваемого объекта

ObjectType – тип создаваемого объекта. В нашем случае это будет Scripting.FileSystemObject

Пример:

Set objFSO = CreateObject("Scripting.FileSystemObject")

После выполнения будет создан объект типа Scripting.FileSystemObject с именем objFSO

  1.  OpenTextFile

Это метод возможно использовать  для открытия файла и получения его файлового дескриптора.

Set objTextFile = objNew.OpenTextFile(string Filename, integer Mode)

objTextFile – переменная, которая будет содержать дескриптор открытого файла

objNew – созданный ранее объект типа FileSystemObject

Filename – имя открываемого файла. При этом необходимо указывать полный путь к файлу. Например: «с:\Web\MySite\Docs\File.txt»

Mode – режим открытия файла. В нашем случае будем использовать 3 режима:

  •  1 – чтение
  •  2 – запись
  •  8 – добавление в конец файла

Пример:

Set objMFD = CreateObject("Scripting.FileSystemObject")

Set objNewTextFile = objMFD.OpenTextFile(“с:\MySite\Docs\File.txt”, 1)

После выполнения кода для чтения будет открыт файл new_file.txt.

  1.  AtEndOfStream

Функция возвращает TRUE при достижении конца файла.

Boolean objNewTextFile.AtEndOfStream

objNewTextFile – дескриптор файла, открытого в режиме чтения

Пример:

i=0

Set objMFD = CreateObject("Scripting.FileSystemObject")

Set objNewTextFile = objMFD.OpenTextFile(“new_file.txt”, 1)

Do While objNewTextFile.AtEndOfStream <> TRUE

sRead = objTextFile.Read(1)

Loop

При выполнении этого кода в переменную sRead будет читаться по 1 байту, пока не будет достигнут конец файла

  1.  ReadAll

Функция осуществляет чтение из файла всего содержимого.

String objNewTextFile.ReadAll

objNewTextFile – дескриптор открытого файла

Пример:

Пусть дескриптор objTextFile указывает на существующий файл, открытый на чтение, который содержит строку Hello world!

sReadAll = objTextFile.ReadAll

После выполнения чтения файла sReadAll ,будет содержать Hello world!

  1.  Write

Функция записывает в файл переданные ей данные

objNewTextFile.Write(string Source)  

Sourceданные, записываемые в файл

objNewTextFile – дескриптор открытого на запись файла

Пример:

Пусть objTextFile – дескриптор открытого на запись файла

MyStr=”world!”

objTextFile.Write(“Hello ”)

objTextFile.Write(MyStr)

После выполнения файл будет содержать Hello world!

  1.  WriteLine 

Функция является аналогом Write с тем лишь различием, что она записывает строку, т.е. в конце записываемого фрагмента добавляется символ конца строки.

  1.  Сlose

Функция закрывает открытый файл.

objNewTextFile.Close

objNewTextFile – дескриптор открытого ранее файла

Пример:

objTextFile.Close

  1.  Регулярные выражения

Регулярные выражения лежат в основе всех современных технологий поиска по шаблону. Регулярное выражение представляет собой последовательность простых и служебных символов, описывающих искомый текст (аналогия - strcmp в языке C++). Иногда регулярные выражения бывают простыми и понятными (например, слово dog), но часто в них присутствуют служебные символы, обладающие особым смыслом в синтаксисе регулярных выражений.

  1.  Replace

Функция Replace 

string Replace(string in_str, string str1, string str2);

in_str – строка, в которой следует произвести замену

str1 – заменяемая подстрока

str2 – та, на которую заменяем

Пример:

МуStr=”I have one gun”

NewMyStr=Replace(MyStr, “оne gun”, “any no gun”)

После выполнения функции переменная NewMyStr будет содержать значение «I have no any gun».

  1.  InStr

Функция производит поиск подстроки в строке и если таковая имеется - возвращает TRUE в ином случае FALSE.

Boolean InStr(str_src, str_srch)

str_src – где искать

str_srch – «объект» поиска

Пример:

SearchStr=”Hello world!\n”;

If InStr(SearchString, “llo”) Then

Reaponse.Write(“String found!”)

End if

В результате выполнения этого кода на экране вы увидите текст «String found!», так как подстрока будет найдена в строке.

 

 


  1.  ОПИСАНИЕ ЛАБОРАТОРНЫХ РАБОТ
    1.  Лабораторная работа №1

Тема: Извлечение данных из HTML–формы

  1.  Задание 

Разработать HTML-код, который при вызове в окно Web-браузера выводит  произвольную HTML-страницу с HTML-формой. На форме должны использоваться как минимум пять различных типов элементов форм, а также кнопка Submit («Отправить»). Например, форма может содержать поле ввода текта (text field), кнопку-флажок (checkbox), радио-кнопки (radio buttons), список (scrolling list), много-строчное поле ввода текста (text area) и т.д.

  1.  Ход выполнения работы

Реализуем скрипт, осуществляющий передачу и извлечение данных формы, через один единственный файл index.asp.

Итак, создадим скрипт, выводящий на экран форму. В нашем случае это форма со следующими элементами: поле ввода текста (text field), кнопку-флажок (checkbox), радио-кнопки (radio buttons), список (scrolling list) и многострочное поле ввода текста (text area).

Для того чтобы разграничить процессы первой загрузки страницы и процесс вывода значений полей формы, необходимо ввести какой либо параметр, по которому скрипт будет определять, что необходимо отображать данные, переданные формой. Такой параметр мы будем передавать через скрытое поле (<input type="hidden" name="act" value="do">). В нашем случае после нажатия кнопки «Отправить» на страницу передастся переменная act со значением «do». После того, как произведена проверка передачи данных, необходимо получить все значения полей формы с помощью функции Request и вывести их в нужном виде вместе с именами полей.

  1.  
    Лабораторная работа №2

Тема: Использование регулярных выражений в ASP

  1.  Задание 

Разработать программу преобразования текстовой информации.

Пояснения:

1) Входные данные должны быть преобразованы таким образом, чтобы все встреченные ссылки на Web- и FTP-документы, а также e-mail адреса, были заменены на соответствующие им ссылки в формате HTML, например:  

До: http://host.com/doc.html

После: <a href="http://host.com/doc.html">http://host.com/doc.html</a>

До: ftp://host.com/pub/

После: <a href="ftp://host.com/pub/">ftp://host.com/pub/</a>

До: user1@host.com

После:  <a href="mailto:user1@host.com">user1@host.com</a>

2) Входные данные, не содержащие Internet-ссылок, должны быть переданы в выходной поток без изменений.

3) Входные данные должны извлекаться из полей формы или из файлов, имена которых указываются пользователем. Весь обработанный текст должен выводиться пользователю в html-формате.

  1.  Ход выполнения работы

В качестве одного из вариантов решения задачи предлагается следующий обобщенный алгоритм.

Шаг 1. Отображение на html-странице формы с полями для ввода текста и имени файла, а также кнопкой «Обработать».

Шаг 2. При нажатии на кнопку, скрипт вызывается повторно, получив в качестве значения параметра введенный текст или имя загружаемого файла.

Шаг 3. Текст из многострочного поля или файла обрабатывается соответствующим образом и выводится в конец страницы.

Для работы с файлами потребуется использование рассмотренных ранее функций CreateObject, OpenTextFile, WriteLine и  Write.

  1.  Лабораторная работа №3

Тема: Разработка приложения для поддержки гостевой книги

  1.  Задание

Разработать программу, реализующую функции гостевой книги.

Пояснения:

1) Под гостевой книгой понимается Web-приложение, позволяющее посетителю Web-сайта ввести произвольное сообщение, которое будет сохранено на сервере вместе с другими сообщениями для последующего просмотра.   

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

3) При отсутствии данных в полях «Автор» или «Сообщение», программа должна выдавать пользователю соответствующие предупреждения.

  1.  Ход выполнения работы

В качестве одного из вариантов решения задачи предлагается следующий обобщенный алгоритм. Реализуем скрипт, осуществляющий работу гостевой книги, через один единственный файл index.asp, который будет содержать в себе и программный код для отправки сообщений и их дальнейшего отображения. Файл index.asp по сути будет скриптом, динамически генерирующим код страницы. Общая схема работы приложения приведена на рисунке ниже.

Рис. 1. Обобщенный алгоритм работы приложения «Гостевая книга»

  1.  
    Лабораторная работа №4

Тема: Разработка программы для подсчета количества слов

  1.  Задание 

Разработать программу, осуществляющую подсчет количества уникальных слов в произвольном тексте, вводимом в текстовом многострочном поле HTML-страницы или загружаемом из файла на сервере.

  1.  Ход выполнения работы

В данном разделе рассмотрен один из возможных вариантов решения данной задачи.

Пусть скрипт, осуществляющий подсчёт количества слов в тексте, хранится в файле index.asp. За слово примем последовательность символов, отделённую от других групп символов пробелом.

Создадим скрипт, генерирующий HTML страницу с формой, кнопкой и текстовым полем, в которое пользователь и будет помещать текст, подлежащий обработке.

Для того чтобы разграничить процессы первой загрузки страницы и процесс обработки данных, необходимо ввести какой либо параметр, по которому скрипт будет определять, что необходимо обработать данные. Алгоритм скрипта должен проверить, каков источник входной информации (файл или многострочное текстовое поле)? В обоих случаях, для удобства дальнейшей работы, можно занести всю входную информацию во временную переменную. В случае источника – файла, следует открыть файл на чтение и произвести из него загрузку данных. Затем можно перенести всю входную информацию из строковой переменной в массив.

Перед тем как начать подсчёт слов, необходимо обработать каждый элемент массива, для приведения его к нужному нам виду. Обработка подразумевает удаление из каждого элемента массива «ненужных» символов (точка, запятая, восклицательный и вопросительный знаки, и т.д.). Для этого можно воспользоваться функцией Replace.

После этого возможно приступить к подсчёту слов в массиве. При этом проверяется, есть ли очередное обрабатываемое слово в списке проверенных и подсчитанных элементов. Если есть – то находим соответствующий элемент массива, хранящий счётчик «встречаемости» данного слова в тексте и инкрементируем его, если такое слово встретилось впервые – создаём новый элемент в массиве счётчиков слов и также инкрементируем его.

Стоит отметить, что для хранения счётчиков встречаемости каждого слова и уникальных слов, можно использовать дополнительные массивы. Таким образом, первый массив будет содержать все слова из текста, второй – слова без повторений, третий частоты встречаемости уникальных слов.  После того, как произведены все необходимые подсчёты – выведем результаты в окне браузера.


 

А также другие работы, которые могут Вас заинтересовать

44589. Передача данных по сети 53.5 KB
  Пример передачи данных 1 Компьютер-отправитель устанавливает соединение с принтсервером. Если бы использовался более сложный протокол и соответствующие ему сетевые службы то время передачи увеличилось бы но зато повысилась бы достоверность передачи. Указанный в пакете адрес отправителя в этом случае использовался бы сетевой службой для формирования подтверждения и передачи его соответствующему приемнику.
44590. Стандарт 10BaseT 39.5 KB
  ЛВС стандарта 10BseT может обслуживать до 1024 компьютеров. Сеть стандарта 10BseT Достоинством является возможность использования распределительных стоек и панелей коммутации что позволяет легко перекоммутировать сеть или добавить новый узел без остановки работы сети.
44591. Стандарт 10Base2 59 KB
  С использованием репитеров может быть увеличена общая протяженность сети введением дополнительных сегментов. Два из пяти сегментов являются межрепитерными связями и служат только для увеличения длины сети . Максимальное число компьютеров до 1024 а общая длина сети до 925м.
44592. Стандарт 10Base5 38.5 KB
  Главный кабель к которому подключаются трансиверы для связи с РС имеет длину до 500 м и возможность подключения до 100 компьютеров. С использованием репитеров которые также подключаются к магистральному сегменту через трансиверы общая длина сети может составить 2500 м.
44593. Стандарт 10BaseFL 43 KB
  Сеть стандарта 10BseFL Особенность этих трансиверов в том что их передатчики преобразуют электрические сигналы от ЭВМ в световые импульсы а приемники – световые в электрические. Популярность использования 10BseFL обусловлена: высокой помехозащищенностью; возможностью прокладки кабеля между репитерами на большие расстояния т.
44594. Стандарт 100BaseX Ethernet 40.5 KB
  Его особенностью является то что он сохранил стандартный для Ethernet метод доступа CSM CD от которого отходили разработчики других технологий повышенной скорости передачи в сети. Сохранение метода доступа означает что имеющиеся в наличие драйверы для Ethernet будут работать без изменений. Преимуществом этой технологии появившейся в конце 1993 года является то что степень ее совместимости с Ethernet–сетями позволяет интегрировать ее в эти сети с помощью двухскоростных сетевых адаптеров или мостов.
44596. Сетевые архитектуры ArcNet и ArcNet Plus 48 KB
  Физическая топология звезда шина звезда – шина; логическая топология упорядоченное кольцо; широкополосная передача данных 25 Мбит с и 20 Мбит с для rcNet Plus; метод доступа маркерный; средой передачи может быть: коаксиальный кабель длиной 600 м при звезде и 300 м при шине; витая пара максимальная длина 244 м – при звезде и шине; Компьютеры могут быть коаксиальным кабелем связаны в шину или в иных случаях подключены к концентраторам которые могут быть: пассивными; активными; интеллектуальными....
44597. Token Ring (Маркерное кольцо) 61.5 KB
  Физическая топология звезда; логическая топология кольцо; узкополосный тип передачи; скорость передачи 4 и 16 Мбит с; соединение неэкранированной и экранированной витой пары; метод доступа – маркерное кольцо. Формат кадра используемый в сетях Token Ring Аппаратные компоненты Логическое кольцо в этой сетевой архитектуре организуется концентратором который называется модулем множественного доступа MSU – MultySttion ccess Unit или интеллектуальным модулем множественного доступа SMU – Smrt Multysttion ccess Unit....