Когда вы пишете приложения на стороне сервера, используя ASP, вы должны полагаться на компоненты ActiveX для мощных функций веб-приложений, таких как: вам нужно подключиться к базе данных, эксплуатировать базу данных онлайн и т. Д.
В предыдущих двух статьях автор представил методы использования ротатора AD, доступ к базе данных и другие компоненты.
1. Компоненты возможностей браузера хорошо известны, и не все браузеры поддерживают все аспекты современных интернет -технологий. Есть некоторые функции, которые некоторые браузеры поддерживают, но другие нет, такие как: управления ActiveX, потоки изображений, динамические программы HTML, Flash и сценариев. Используя компонент возможностей браузера ASP, вы можете разработать интеллектуальные веб -страницы для представления контента в формате, который соответствует производительности браузера. Компонент возможностей браузера способен создавать объект браузертипе, который предоставляет пользовательские сценарии функциональные описания веб -браузера клиента. Причина, по которой этот компонент может распознать версию браузера клиента, заключается в том, что, когда клиент -браузер отправляет запрос страницы на сервер, он автоматически отправит пользовательский агент HTTP, который является символом ASCII, который объявляет браузер и его версию . нить. Компонент возможностей браузера отображает пользовательский агент в браузер, указанный в файле browcap.ini, и идентифицирует клиентский браузер через свойства объекта Browsertype. Если объект не может найти элемент, соответствующий заголовку в файле Browser.ini, будут использоваться свойства браузера по умолчанию. Если у объекта нет ни одного соответствия, и настройки браузера по умолчанию указаны в файле Browser.ini, он устанавливает каждое свойство для неизвестной строки. По умолчанию файл browser.ini хранится в каталоге Windows/System/Inersrv (если 95/98+PWS4) или NT/System32/inersrv (если NT), вы можете отредактировать этот текстовый файл, чтобы добавить Fordify файл его собственные атрибуты или основаны на последнем выпущенном файле обновления версии браузера. Пожалуйста, смотрите следующий процесс CheckCookie (), используйте атрибут cookie объекта BrowserCap, чтобы определить, поддерживает ли клиент -браузер файлы cookie и вернуть информацию:
< %
Sub checkcookie ()
SET BrowserCap = server.createObject (mswc.browsertype)
Если browsercap.cookie = true then
Ответ. Напишите ваш браузер поддерживает файлы cookie!
еще
response.write Извините, браузер, который вы используете, не поддерживает файлы cookie!
конец, если
Конец суб
%>
Для получения дополнительной информации о компоненте возможностей браузера см. Динамический дизайн веб-сайта восемнадцати боевых искусств-ASP (2).
2. Компонент доступа к файлам Если вы достаточно взрослые в сети, вы, должно быть, видели гостевую книгу CGI в эпоху Динозавра, которая является самым ранним прототипом веб -гостевой книги. В то время было очень сложно подключиться к базе данных бэкэнд сервера в интернет-веб-приложениях, поэтому историческая информация в гостевой книге не была сохранена в базе данных бэкэнд, как и сегодня. Так где же хранятся эти данные? Ответ - это текстовый файл. Информация о клиентах может быть сохранена, но написание таких программ CGI очень громоздко.
#!/usr/local/bin/perl
# Perl location один ваш сервер
Печать контента-тип: текст/plain/n/n;
if ($ env {'request_method'} eqpost) {
Читать (stdin, $ buffer, $ env {'content_length'});
} elsif ($ env {'request_method'} eqget) {
$ buffer = $ env {'Query_stirng'};
}
@pars = split (/&/, $ buffer);
foreach $ pare (@pairs) {
($ name, $ value) = split (/=/, $ pare);
$ value = ~ tr/+//;
$ value = ~ s/%([af af 0-9] [af af 0-9])/pack (c, hex ($ 1))/например;
$ Form {$ name} = $ value;}
$ file_name = guestbook.txt; #file name
#ОПРЕДЕЛИЧЕСКИЙ Контент
Open (File, >> $ file_name) || Ошибка Die при открытии файла;
Печать файла времени записи: $ date /n /n;
Печать файла имя: $ form {'name'};
Печать файлового блока: $ form {'company'}/n;
Печать файловой телефон: $ form {'phone'}
адрес файла печати: $ form {'Adder'}/n;
Распечатать файл почтовый индекс: $ form {'Zip'}
распечатать файл адрес электронной почты: $ form {'email'}/n;
Печать файла возврата Комментарий: $ form {'Content'}
закрыть (файл)
Вы можете почувствовать, что по сравнению с ASP этот тип программы CGI более плох в чтении и работой. Тогда вы должны захотеть спросить, может ли ASP также написать файлы непосредственно на сервере? Ответ, конечно, да. Но умные друзья могут подумать, что, поскольку связь между ASP и веб -базой данных настолько удобна, почему нам нужно написать информацию о клиентах в текстовых файлах? Действительно, для тех общих веб -приложений, таких как гостевые книги и BBS, мы не можем заменить базу данных на написание текстовых файлов с точки зрения эффективности выполнения программы или простоты использования, но в некоторых веб -приложениях. Написание текстовых файлов в поле Относительно удобный метод по сравнению с базой данных. Если вы знакомы с NT, вы должны знать, что NT имеет очень мощный механизм безопасности, который может автоматически сохранять почти все операции сервера и подключение к файлу с помощью имени суффикса Может использоваться в Интернете для записи некоторой информации о входе в систему с клиентами. В следующей программе используется функция чтения ASP и написания текстовых файлов для создания функции, которая автоматически записывает записи речевых речевых записей каждого пользователя в программе Web BBS.
< %
Установить fs = createObject (scripting.filesystemobject)
Forreding = 1
'Откройте файл в режиме только для чтения. Этот файл не может быть записан.
ПРИПЕТИНА = 8
'Откройте файл и напишите его в конце файла.
TristateUsedefault = -2
TristateTrue = -1
Tristatefalse = 0
'-------------------------------
Servermap = server.mappath (/bbs/log/)
'Система картирования физический путь
temp = server -map &/& yar (date) и месяц (дата) и///
'Получите физический путь и время системы и используйте его в качестве физического пути, хранящегося в файле журнала
Если не fs.folderexists (temp), тогда
fs.createfolder (Temp)
конец, если
'Проверьте, существует ли папка, иначе она будет создана автоматически
Dim Syslog
Dim Tempname
Tempname = дата
Syslog = Temp & Tempname & .log
'Имя файла e:/bbs/log/month/month Day.log
li = user &&& now && request.servervariables (remote_addr) && tempfile &&& witter && title
'Формат записи файла журнала: Имя пользователя и отправка времени IP и файла пользователя и области сообщений и заголовка букв
Если fs.fileexists (syslog), то
Установите ss = fs.opentextfile (syslog, forppending, true)
еще
Установить ss = fs.createtextfile (syslog, forwriting, false)
конец, если
'Проверьте, существует ли файл журнала.
Ss.WriteLine (l
я)
Ss.close
'------------------------------------------------- ------------------------------------------------------ ---------------------------
%>
Если вы не до конца понимаете вышеупомянутую программу, пожалуйста, послушайте инструкции автора. Компонент доступа к файлу предоставляет методы и свойства, которые можно использовать для доступа к файловой системе компьютера. Мы можем использовать компонент доступа к файлу для создания объекта FileSteMobject. После создания объекта вы можете получить доступ к нему. Существует два наиболее часто используемых метода для объекта файлового вещества, один используется для создания файлов, а другой используется для открытия и чтения и записи текстовых файлов. Метод CreatextFile получает указанное вами имя и создает файл.
Установить objtextStream = fileSystemobject.createTextFile (имя файла, [перевернуть], [Unicode])
Автор объяснит параметры метода CreateTexTfile ниже
1. Имя файла Строка, содержащая имя пути файла, может быть полным именем пути файла, включая имя диска и имя каталога, или это может быть просто имя файла. в корневом каталоге сайта.
2. Перезапись логического количества. Имя будет удалено.
3. Unicode Необязательные параметры. Логические значения указывают, создать ли файл в формате Unicode или ASCII. Это значение верно, если файл создается в формате файла Unicode, и False, если файл создан в формате файла ASCII. Если этот раздел опущен, предполагается, что файл ASCII будет создан.
В предыдущей программе мы используем SET SS = FS.CREATETEXTFILE (SYSLOG, FORWHITIC, FALSE) для создания файла и записи файла, когда файл журнала не существует здесь.
В отличие от метода CreateTextFile, метод OpenTextFile используется для получения указанного вами имени файла и открыть файл. так что вы можете управлять файлом после его открытия. Синтаксис метода OpenTextFile заключается в следующем:
Установить objtextStream = fileSystemobject.opentextfile (filename, [iomode], [create], [format])
Параметры следующие:
1. Имя файла является необходимой переменной, такая же, как имени файла CreateTextFile
2. Необязательная постоянная Iomode, со значением как одно из двух констант, подготовленных или предназначено.
3. Создать дополнительное логическое количество, указав, какую операцию выполняется, если файл, который вы хотите открыть, не существует. Если false, сообщение об ошибке будет сгенерировано, когда файл не найден.
4. Формат необязательное значение, вы можете выбрать три значения Tristate, чтобы указать формат файла, соответственно.
После открытия или создания текстового файла вы получаете объект Textstream, который имеет курсор, как курсор в программе обработки текстов, указывая, где будет отображаться персонаж, и это также указывает на местоположение персонажа, который вы хотите чтобы прочитать. Вы не можете создать объект Textstream через CreateBject.
Свойства и методы объекта TextStream перечислены ниже
Textstream.A
Служба чтения только для чтения
TextStream.atendofstream только для чтения
TextStream.column только для чтения целое число, подсчет количества символов от начала линии до текущей позиции курсора
TextStream.line Intley Intely Integer с указанием номера строки строки во всем файле, где находится курсор
TextStream.Close () закрывает поток и соответствующий текстовый файл
TextStream.read (num) указывает, что определенное количество символов считывается из текстового файла, начиная с текущей позиции курсора.
TextStream.readall () считывает весь поток в строку
TextStream.readline () считывает целую строку символов в строку
TextStream.Write (текст) Напишите строку в потоку
TextStream.WriteLine () записывает текстовую строку в потоку
TextStream.skip (num) в потоке переместите позицию курсора на определенное количество длины строк
Textstream.skiplines () в потоке перенесите курсор на определенное количество строк
TextStream.WriteBlank пишет определенное количество пустых линий в поток
строки (num)
Я считаю, что теперь могут почувствовать мощные функции компонента доступа к файлу ASP. На удаленном сервере прочитайте файл через компонент доступа к файлу и автоматически генерируйте совершенно новую HTML -страницу без необходимости усердно работать над обновлением файлов HTML один за другим. Если вы заинтересованы, вы можете использовать компонент доступа к файлу ASP, чтобы написать свой собственный полностью автоматический генератор HTML, чтобы полностью насладиться расширенным и легким ощущением поддержания веб -сайта.