Лабораторная работа №9 Создание Web приложений с базами данных в среде серверов iis и sql server



Скачать 305.59 Kb.
Дата11.07.2014
Размер305.59 Kb.
ТипЛабораторная работа

При загрузке страницы enter.asp ей передается из формы содержимое полей usr и pwd (идентификатор посетителя и его пароль соответственно). Серверный сценарий сохраняет эти строки в переменных с именами sUser и sPassword:

var sUser=Request("USR")(1);

var sPassword=Request("PWD")(1);

Далее сценарий создает объект Connection и открывает соединение с источником данных, вызывая для этого метод Open:

var connect;

connect = Server.CreateObject("ADODB.Connection");

connect.ConnectionTimeout = 15;

connect.CommandTimeout = 10;

connect.Open("DSN=BookStore", "dbo", "");

С целью обработки ошибок эта и последующие операции с базами данных выполняются сценарием в блоке try.

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

На следующем этапе сценарий создает объект Command, необходимый для выполнения хранимой процедуры аутентификации посетителя ClientLogin:

var cmd = Server.CreateObject("ADODB.Command");

cmd.CommandText = "ClientLogin";

cmd.CommandType = adCmdStoredProc;

cmd.ActiveConnection = connect;

Хранимая процедура ClientLogin имеет два входных параметра и один выходной. Входные параметры определяются в объекте Command следующим образом:

cmd.Parameters.Append(cmd.CreateParameter(

"User", adVarChar, adParamInput, 50, sUser));

cmd.Parameters.Append(cmd.CreateParameter(

"Pass", adVarChar, adParamInput, 50, sPassword));

Имена параметров указаны как User и Pass. Это текстовые строки, поэтому тип параметров мы указываем как adVarChar. Константа adParamInput определяет, что параметры являются входными. Длина текстовых строк, передаваемых через данные параметры, не превышает 50 байт. И наконец, значения параметров берутся из переменных sUser и sPassword.

Выходной параметр определяется аналогичным образом, но с применением константы adParamOutput:

var ParamOut = cmd.CreateParameter(

"Rights", adVarChar, adParamOutput, 50, " ");

После формирования параметров они добавляются к команде методом Append, после чего команда выполняется при помощи метода Execute:

cmd.Parameters.Append(ParamOut);

cmd.Execute();

Если в процессе создания соединения с источником данных, формирования команды и ее параметров, а также при выполнении команды не возникло никаких ошибок, соединение закрывается методом Close:

connect.Close();

Далее мы проверяем значение, полученное от хранимой процедуры ClientLogin через параметр ParamOut. Если аутентификация пользователя прошла успешно, в этом параметре будет находиться значение, отличное от null:

if(ParamOut.value != null)

{

Session("Rights")=ParamOut.value;



Session("Ok")="Ok";

Session("UserID")=sUser;

Response.Redirect("main.asp");

}

else



{

Session("Ok")="";

Session("UserID")="";

Session("Rights")="";

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

В качестве примера хранимой процедуры рассмотрим хранимую процедуру ClientLogin, к которой мы обращались из страницы enter.asp. Она имеет два входных параметра @User и @Pass и один выходной @Right:

CREATE PROCEDURE ClientLogin @User varchar(50), @Pass varchar(50),

@Rights varchar(16) output AS

SELECT @Rights=UserID FROM clients WHERE UserID=@User AND Password=@Pass

UPDATE clients SET LastLogin=GETDATE() WHERE UserID=@User

С помощью оператора SELECT процедура выбирает идентификатор пользователя из столбца UserID таблицы clients так, чтобы идентификатор, записанный в этом столбце, совпадал с содержимым параметра @User. Кроме того, проверяется совпадение пароля пользователя (хранящегося в столбце Password) и содержимого параметра @Pass.

Если в результате такого запроса в таблице clients найдена подходящая запись (аутентификация прошла успешно), процедура ClientLogin с помощью оператора UPDATE обновляет поле LastLogin найденного пользователя, записывая в него дату и время подключения, полученные от функции GETTIME.

После успешной аутентификации страница enter.asp загружает в окно браузера посетителя страницу main.asp, где с помощью тегов и мы определили три фрейма с именами left, rtop и rbottom:













<br /> <br /><body> <br /> <br /></p> <p>Для посещения нашего сервера нужен браузер, <p>способный работать с фреймами.</p></p> <br /> <br /></body> <br /> <br />

Фрейм left загружается страницей toc.asp, содержащей команды приложения покупателя - Выход и Оплатить покупки. Фрейм rtop используется для отображения списка книг, имеющихся в продаже, и загружается страницей booklist.asp. И наконец, фрейм rbottom используется для показа содержимого корзины с книгами, отобранными посетителем для покупки.

Чтобы исключить возможность прямой загрузки страницы main.asp в обход страницы аутентификации покупателей, в исходный текст этой и других страниц приложения покупателя включаются файлы header.asp и footer.asp.

На странице просмотра книг, формируемой файлом booklist.asp, посетитель может отобрать понравившиеся ему книги. Особенностью сценария, расположенного на этой странице, является работа с набором записей Recordset, полученным в результате выполнения хранимой процедуры.

После создания соединения с источником данных и открытия его необходимо запустить на выполнение хранимую процедуру, возвращающую набор записей из таблицы books. Однако вместо создания команды, определения ее параметров и запуска методом Execute (как это делали ранее в enter.asp) мы используем другой метод для запуска хранимой процедуры.

Вначале явным образом создается набор записей при помощи метода CreateObject объекта Server:

rs = Server.CreateObject("ADODB.Recordset")

Далее мы его открываем, указывая методу Open объекта Recordset имя выполняемой хранимой процедуры ListBooks, соединение с источником данных connect и другие параметры:

rs.Open("ListBooks", connect,

adOpenForwardOnly, adLockReadOnly, adCmdStoredProc);

Константа adOpenForwardOnly определяет для открываемого набора записей тип курсора, предназначенного для просмотра записей только в одном (прямом) направлении.

Константа adLockReadOnly сообщает ADO, что полученный набор записей изменяться не будет, поэтому его блокировать не надо.

И наконец, константа adCmdStoredProc, передаваемая методу Open через последний параметр, указывает, что первый параметр метода задает имя хранимой процедуры, подлежащей выполнению.

После получения набора записей мы проверяем свойство EOF:

if(rs.EOF)

{

%>





<%

}

else { … }



Если же записи есть, мы запускаем цикл формирования отчета в виде таблицы, содержащей поля извлеченного набора записей:

Сегодня в продаже



Министерство образования Российской Федерации

Тульский государственный университет

КАФЕДРА ЭЛЕКТРОННЫХ ВЫЧИСЛИТЕЛЬНЫХ МАШИН

ОПЕРАЦИОННЫЕ СРЕДЫ

ЛАБОРАТОРНАЯ РАБОТА № 9

Создание Web приложений с базами данных

в среде серверов IIS и SQL Server

Методические указания

для студентов направления 552800

«Информатика и вычислительная техника»

специальности 220100 «Вычислительные машины,

комплексы, системы и сети»

Тула 2002

1. ЦЕЛЬ И ЗАДАЧИ РАБОТЫ

Ознакомление с технологией создания баз данных в Интернете и, в частности, с методикой настройки сервера SQL Server и создания для него источника данных, с возможностями и набором объектов интерфейса ActiveX Data Object (ADO), с последовательностью подготовки таблиц и хранимых процедур, с особенностями создания виртуальных каталогов для административного и клиентского приложений Интернет-магазина.



2. ТЕОРЕТИЧЕСКИЕ СВЕДЕНИЯ

Существуют различные способы связи приложений с базами данных. На сегодняшний день наиболее перспективный из них, несомненно, связан с применением интерфейса ActiveX Data Objects (ADO). Посредством этого интерфейса приложения (как обычные, так и ориентированные на использование технологий Интернета) могут подключаться к базам данных, извлекать, обрабатывать и обновлять информацию в них.

ADO представляет собой интерфейс уровня приложений, созданный поверх объектного интерфейса OLE DB. При этом интерфейс OLE DB обеспечивает универсальный доступ к данным. Такой доступ обеспечивается в свою очередь с помощью провайдеров, таких, как Microsoft OLE DB Provider для ODBC (MSDASQL) или Microsoft OLE DB Provider для SQL Server (SQLOLEDB).

Программная модель ADO

Ключевыми элементами программной модели ADO является набор объектов, с помощью которых осуществляется соединение с базами данных, выполнение команд с параметрами, получение результата выполнения этих команд в виде переменных или наборов записей, обработка событий и ошибок.

Прежде чем обращаться к базе данных, приложение должно установить соединение с сервером базы данных. Эта операция выполняется с помощью объекта Connection.

Данный объект позволяет установить соединение с источником данных посредством интерфейса ODBC или напрямую. В первом случае Вам надо указать имя источника Data Source Name (DSN), а во втором - информацию об источнике данных: имя драйвера, имя сервера, пароль и т. д.

После установки соединения приложение должно подготовить объект Command, записав в его свойства команды, необходимые для доступа к данным. Это могут быть команды выполнения строк языка Transact-SQL (например, строки «select * from clients»), команда вызова хранимой процедуры SQL Server пo ее имени или имя таблицы.

При помощи объекта Parameter приложение может передать вместе с командой параметры.

Входные параметры позволяют передавать информацию в хранимые процедуры SQL Server, а выходные — принимать информацию из хранимой процедуры.

Один из методов объекта Command с именем Execute предназначен для инициирования выполнения команды. В зависимости от выполняемой команды он может возвращать результат в виде набора записей Recordset или через выходные параметры хранимой процедуры (если команда запускает такую процедуру).

Результатом выполнения команды может быть набор записей, представляемых объектом Recordset. Например, в результате выполнения команды SQL «select * from clients» создается набор записей Recordset, представляющих собой массив строк таблицы clients. Приложение способно просмотреть все записи из набора, сохранить их в своей локальной памяти или использовать каким-либо другим способом. В частности, Вы получаете право обновить полученный набор записей, если хотите обновить источник данных.

После обработки набора записей его нужно закрыть методом Close, предусмотренным для этой цели в объекте Recordset. После завершения работы с соединением его также необходимо закрыть, вызвав метод Close объекта Connection.

В процессе подготовки параметров команды и ее выполнения иногда возникают события, связанные с ошибками. Приложение должно уметь их обрабатывать. Заметим, что одна команда может порождать несколько сообщений об ошибках, запоминаемых в объекте Errors, поэтому обработка должна выполняться в цикле.



Создание файла базы данных на сервере SQL Server

Прежде чем приступать к созданию активных серверных страниц (страниц ASP) Web приложения, нужно создать базу данных. Предполагается, что на компьютере уже установлены Web сервер IIS (Internet Information Server) и сервер баз данных Microsoft SQL Server версии 7.0.

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

Запустите приложение SQL Server Enterprise Manager и откройте сервер базы данных. Затем выберите из меню Action строку New Database. На экране появится диалоговая панель Database Properties, где на вкладке General в поле Name введите имя базы данных, которое мы будем использовать в нашем проекте, - BookStore.

Затем на вкладке Data Files (рис. 1) в поле Location можно посмотреть и при необходимости изменить путь для размещения файла базы данных. Хотя для нашего проекта это и не требуется, Вы можете указать на этой вкладке параметры, влияющие на рост файла базы данных.

При создании новой базы данных на вкладке Data Files по умолчанию отмечается переключатель Automatically grow file, поэтому по мере добавления в таблицы базы данных новых записей размер файла базы данных будет увеличиваться. Величина прироста может быть указана либо в мегабайтах, либо в процентах. Пометив переключатель Restrict filegrowth в поле Maximum file size, Вы ограничите рост файла базы данных.



2.bmp

Рис. 1. Ввод параметров создаваемой базы данных

Вкладка Transaction Log (рис. 2) позволяет указать размер, прирост и ограничение для файла транзакций. О том, как правильно выбирать начальные параметры при создании базы данных, в деталях описано в документации SQL Server.

После создания файла базы данных можно проверить ее наличие в перечне баз данных нашего (локального) сервера баз данных (рис. 3).

Теперь, после создания базы данных, нам нужно определить в ней четыре таблицы, в которых будут храниться сведения о книгах, покупателях и персонале магазина. Этими таблицами будут таблицы managers, clients, books и orders. Сценарии SQL, создающие эти таблицы, представлены в каталоге Lab9\BookShopScripts.

3.bmp

Рис. 2. Вкладка настройки параметров файла транзакций



Подготовка таблиц базы данных BookStore

Таблица managers содержит информацию о персонале Интернет-магазина, управляющего его работой через Интернет с помощью специального административного приложения. Назначение полей таблицы managers объясняется в таблице 1.

Когда сотрудник подключается к административному приложению, он вводит свой идентификатор и пароль. Приложение проверяет, есть ли такой пользователь в таблице managers и правильно ли указан пароль. Ecли все верно, приложение выбирает из поля Rights текстовое описание прав сотрудника и обновляет поле LastLogin, фиксируя момент его подключения к системе.

Чтобы создать данную таблицу в базе данных Bookstore, запустите приложение SQL Server Enterprise Manager (если оно еще не работает), а затем выберите из меню Tools строку SQL Query Analyzer (рис. 4). В результате будет запущено приложение SQL Server Query Analyzer, главное окно которого показано на рис. 5.



4.bmp

Рис. 3. База данных BookStore после ее создания

Таблица 1. Поля таблицы managers

Поле

Тип

Описание

ManagerlD

int

Ключевое поле с атрибутом IDENTITY однозначно идентифицирует запись в таблице managers

Name

varchar(50)

Имя сотрудника, используется в качестве идентификатора при подключении к административному приложению Интернет-магазина

Password

varchar(5O)

Пароль сотрудника

LastLogin

datetime

Время, когда сотрудник подключался к системе в последний раз

Rights

varchar(16)

Права сотрудника

Следующий шаг очень важен.

Выберите в списке баз данных, расположенном в правой части инструментальной панели окна SQL Query Analyzer, базу данных Bookstore, как это показано на рис. 5. Теперь мы будем запускать программы SQL в контексте именно этой базы данных.



5.bmp

Рис. 4. Меню Tools приложения SQL Server Enterprise Manager

Далее воспользуйтесь строкой Open в меню File для выбора файла сценария SQL с именем dbo.managers.TAB, создающего таблицу managers. Содержимое этого файла показано в окне на рис. 5.6.bmp

Рис. 5. Приложение SQL Server Query Analyzer

Загрузив сценарий SQL в окно приложения SQL Server Query Analyzer, запустите его, щелкнув клавишу F5, кнопку запуска на инструментальной панели (с изображением треугольника зеленого цвета) или выбрав строку Execute из меню Query. Если Вы не допустили ошибок при вводе сценария SQL, в нижней части окна Query появится сообщение "The command(s) completed successfully" (рис. 6).7.bmp

Рис. 6. Результат выполнения сценария, создающего таблицу managers

После создания таблицы managers аналогично создаем таблицы clients, books и orders.Таблица clients содержит сведения, предоставленные посетителями Интернет-магазина при регистрации, а также дополнительные данные — дату регистрации и адрес IP, с которого выполнялась регистрация. Посетитель магазина работает с этой и еще одной таблицей (таблицей orders) при помощи приложения покупателя Интернет-магазина.

Некоторые поля таблицы clients предусмотрены для будущего расширения проекта. Например, поле Language Вы можете использовать в том случае, если страницы Интернет-магазина написаны на нескольких языках. В этом случае посетитель при регистрации может указать, какой язык должен быть использован при отображении страниц.

Поле Status позволяет проверить, какие посетители зарегистрировались, но долго не делали никаких покупок (например, больше года). Выяснив это, Bы можете удалить их регистрационные записи. В этом поле удобно отмечать активность покупателя, например, символом «А». Отмеченные таким образом записи удалять не следует.

Поле spam применяют для организации автоматической рассылки рекламных сообщений покупателям Вашего магазина. Если при регистрации покупатель проявил желание получать такие материалы, в это поле он может записать строку Yes, а если нет — строку No.

Поля RegisterDate и RegisterIP полезны для «разборок» с недобросовестными посетителями. Средствами утилит трассировки можно определить по адресу регистрации IP доменное имя сервера поставщика услуг Интернета, которым пользуется покупатель, а затем с его помощью вычислить и самого покупателя.

Хотя это и не предусмотрено в данном проекте, Вы можете собирать и хранить к таблице clients другую информацию о посетителях, например, версию использованной ими операционной системы, название и версию браузера, доменное имя рабочей станции. Все эти данные поступают на сервер Web в заголовках HTTP, их легко получить при помощи сценария ASP.

Для создания в базе Bookstore таблицы clients воспользуйтесь (как и в случае таблицы managers) приложснием SQL Server Query Analyzer и файлом сценария SQL с именем dbo.clients.TAB.

Отметим, что ограничения CONSTRAIN, определенные в таблице clients, задают начальные значения при добавлении в таблицу clients новых записей, например:

...

[Status] [char] (1) NOT NULL



CONSTRAINT [DF_clients_Status] DEFAULT ('N'},

[LastLogin] [dateline] NOT NULL

CONSTRAINT [DF_clients_LastLogin] DEFAULT (0),

[RegisterDate] [datetime] NULL

CONSTRAINT [DF_clients_RegisterDate] DEFAULT (getdate()),

...


Состояние пользователя, хранящееся в ноле Status, отмечается символом «N». Когда посетитель сделает первую покупку, Вы можете записать сюда другое значение, например, «А».

Поля UserlD и Email являются уникальными:

CREATEUNIQUEINDEX [idxUserID] ON [dbo].[clients]([UserID]) ON [PRIMARY] GO

CRЕАТЕUNIQUEINDEX [idxEMail] ON [dbo].[clients]([Email]) ON [PRIMARY]

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

В таблицу books сотрудники Вашего Интернет-магазина будут заносить сведения о продаваемых книгах, используя для этого административное приложение. Покупатели также будут обращаться к этой таблице, но с помощью другого приложения, созданного специально для них. В таблице books покупатели выбирают нужные книги и кладут их в свою виртуальную электронную «корзину».

Создавая реальный проект Интернет-магазина, Вы можете добавить в таблицу books и другие поля, например номер ISBN, сведения о поставщиках и т. п.

Сценарий SQL, предназначенный для создания таблицы books, находится в файле dbo.books.TAB.

Когда покупатели отбирают понравившиеся им книги для покупки, записи добавляются в таблицу orders. В ней поля booksID и ClientID представляют собой внешние ключи к таолицам books и clients соответственно. Используя эти поля, мы можем определить, какую книгу отобрал тот или иной покупатель.

Поле AddDate, хранящее дату и время выбора книги, применяют для автомагической очистки корзин от старых записей. Например, Вы можете принудительно удалять записи об отобранных книгах, сделанные более года назад.

Сценарий SQL, создающий таблицу orders, представлен в файле Lab9\BookShopScripts\dbo.orders.TAB.

Подготовка хранимых процедур

В каталоге Lab9\BookShopScripts находятся подготовленные хранимые процедуры для приложений нашего Интернет-магазина. Серверные сценарии, расположенные на страницах ASP этих приложений, будут обращаться к хранимым процедурам для выполнения всех операций с базой данных.

Например, процедура ClientLogin, предназначенная для подключения к Интернет-магазину зарегистрированных покупателей, находится в файле dbo.ClientLogin.PRC. В качестве входных параметров мы передаем этой процедуре идентификатор пользователя @User и пароль пользователя @Pass:

CREATE PROCEDURE ClientLogin @User varchar(50), @Pass varchar(5O),

@Rights varchar(16) output AS

SELECT @Rights=UserID FROM clients WHERE UserID=@User AND Password=@Pass UPDATE clients SET LastLogin=GETDATE() WHERE UserID=@User

Результат аутентификации записывается процедурой ClientLogin в выходной параметр @Rights. Попутно наша процедура обновляет поле LastLogin таблицы clients, записывая в нее время и дату подключения, полученные от встроенной функции GETDATE.

Чтобы добавить процедуру ClientLogin в базу данных BookStore, необходимо использовать приложение SQL Server Query Analyzer. Как и в случае сценариев SQL для создания таблиц, воспользуйтесь строкой Open в меню File для выбора файла хранимой процедуры с именем dbo.ClientLogin.PRC. Загрузив хранимую процедуру в окно приложения SQL Server Query Analyzer, запустите ее, щелкнув клавишу F5, кнопку запуска на инструментальной панели (с изображением треугольника зеленого цвета) или выбрав строку Execute из меню Query. Если Вы не допустили ошибок при вводе хранимой процедуры, в нижней части окна Query появится сообщение "The command(s) completed successfully".

Аналогично добавляются в базу данных и остальные хранимые процедуры, находящиеся в каталоге Lab9\BookShopScripts.

Далее необходимо предоставить пользователям Интернета права на выполнение этих процедур. Для этого запустите приложение SQL Server Enterprise Manager, откройте базу данных Bookstore и папку с хранимыми процедурами Stored Procedures. Выберите процедуру и щелчком правой клавиши мыши откройте страницу Stored Procedure Properties, показанную на рис. 7.9.bmp

Рис. 7. Страница Stored Procedure Properties

Здесь Вы можете редактировать текст процедуры. Для сохранения изменений щелкните кнопку ОК. Что же касается прав на выполнение процедуры, то их нужно добавить кнопкой Permissions. Открыв панель Object Properties, отметьте на вкладке Permissions переключатели в столбце ЕХЕС в строках тех пользователей, которым Вы хотите предоставить доступ на выполнение процедуры.



Создание источника данных для Web сервера

Теперь, когда мы создали базу данных с таблицами и хранимыми процедурами, необходимо обеспечить доступ к ней со стороны сервера Web, т.е. доступ из сценариев ASP. А для этого нужно определить источник данных.

Откройте на компьютере, играющем роль сервера Web, папку Control Panel, а затем выберите Administrative Tools-> Data Sources (ODBC). После того как на экране появится панель ODBC Data Sources Administrator, откройте вкладку System DSN и нажмите кнопку Add (рис. 8). Вы увидите страницу мастера создания источников данных с названием Create New Data Source (рис. 9).

Рис. 8. Вкладка System DSN панели администратора

ODBC Data Sources Administrator

В списке, расположенном на этой странице, выберите драйвер SQL Server, a затем щелкните кнопку Finish. На экране появится первая страница мастера создания источника данных для сервера SQL Server, показанная на рис. 10.



В поле Name этой страницы введите имя создаваемою источника данных - Bookstore. В поле Description Вы также можете описать источник данных.

11.bmp

Рис. 9. Страница Create New Data Source



12.bmp

Рис. 10. Первая страница мастера создания источника данных

для сервера SQL Server

Далее в списке Server выберите сервер базы данных, к которому будет выполняться подключение. Если серверы Web и SQL Server установлены на одном компьютере (как у нас), можно выбрать в этом списке строку (local), если она там имеется. Если же сервер SQL Server работает на другом компьютере, в этом списке укажите нужный сервер базы данных. На рис. 10 выбран сервер MAIN, находящийся на компьютере W2K-1.

Заполнив поля на первой странице, щелкните кнопку Next.

На следующей странице мастера (рис. 11) Вы должны выбрать способ аутентификации при подключении к SQL Server.



15.bmp

Рис. 11. Выбор способа аутентификации

При использовании аутентификации Windows NT/2000 Вы можете оставить переключатели в том положении, как они показаны на рис. 11. Щелчок кнопки Client Configuration позволит Вам выбрать сетевую библиотеку и указать параметры подключения для выбранной библиотеки (рис. 12).

При создании источника данных для Интернет-магазина Вы можете оставить эти параметры в исходном состоянии.

Чтобы продолжить процесс, щелкните кнопку Next в панели выбора способа аутентификации, показанной на рис. 11. На экране появится третья панель мастера, на которой нужно выбрать базу данных по умолчанию (рис. 13). Остальные элементы управления, расположенные в этой панели, можно не менять.

16.bmp

Рис. 12. Выбор сетевой библиотеки и настройка ее параметров



17.bmp

Рис. 13. Выбор базы данных по умолчанию

Снова щелкните кнопку Next. В панели, показанной на рис. 14, укажите нужный язык системных сообщений и пометьте переключатель Use regional settings when outputting currency, numbers, dates and times.

Для завершения работы мастера щелкните в этой панели кнопку Finish. На экране появится описание конфигурации созданного источника данных (рис. 15).



18.bmp

Рис. 14. Последняя панель мастера создания источника данных



19.bmp

Рис. 15. Описание конфигурации созданного источника данных

Теперь Вам нужно проверить работоспособность источника, например, при помощи кнопки Test Data Source. Щелкните ее, и если Вы все сделали правильно, на экране появится сообщение об успешном завершении теста (рис. 16).

20.bmp

Рис. 16. Сообщение об успешной проверке источника данных

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

Подготовка виртуальных каталогов сервера Web

Наш Интернет-магазин состоит из двух приложений ASP. Первое предназначено для сотрудников магазина, и мы назовем его административным. Bтopoе приложение будут запускать посетители Вашего магазина. Мы назовем его приложением покупателя.

В виртуальном каталоге приложения покупателя хранятся страницы ASP, доступные покупателям. Они предназначены для просмотра списка товаров (книг) отбора товаров в корзину и расплаты за покупку.

Этот виртуальный каталог, так же как и виртуальный каталог административного приложения, создается средствами управляющей консоли Microsoft Management Console. Укажите имя каталога как BookShopClient, проследив за тем чтобы для него были разрешены чтение и исполнение сценариев. Для этого в панели BookShopClient Properties откройте вкладку Virtual Directory.

Разрешите также настройку серверных и клиентских сценариев на вкладке Арр Debugging и с помощью переключателей Enable ASP server-side script debugging и Enable ASP client-side script debugging. Для того, чтобы эти изменения вступили в силу, закройте панель и перезагрузите компьютер.

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

Виртуальный каталог BookShop содержит страницы ASP, предназначенные для просмотра только сотрудниками Вашего магазина. Обычные посетители не должны иметь к нему никакого доступа.

Создайте виртуальный каталог с именем BookShop, воспользовавшись для этого приложением Microsoft Management Console. Для ограничения доступа отредактируйте свойства виртуального каталога BookShop, открыв в панели BookShop Properties вкладку Directory Security (рис. 17).



d:\osr\21.bmp

Рис. 17. Настройка доступа к виртуальному каталогу

Прежде всего, на этой вкладке Вы можете запретить доступ анонимных пользователей Интернета к данному каталогу. Для этого щелкните кнопку Edit в поле Anonymous Assess and Authentication Control. На экране появится панель Authentication Methods (рис. 18).

d:\osr\22.bmp

Рис. 18. Отмена доступа анонимных пользователей

Снимите н этой панели отметку у переключателя Allow Anonymous Access и оставьте ее у переключателя Windows NT Challenge/Response.

Следующий шаг - создание списка адресов IP для администраторов, выполняется в случае, если SQL Server установлен на компьютере с операционной системой Windows 2000 Server.

Щелкните кнопку Edit в поле IP Address and Domain Name Restrictions на вкладке Directory Security (рис. 17). Вы увидите панель редактирования списка адресов IP. Отметьте в этой панели переключатель Denied Access. В результате к данному виртуальному каталогу будет запретен доступ со всех адресов IP, за исключением перечисленных в списке. Список редактируется с помощью кнопок Add (добавление нового адреса), Remove (удаление адреса) и Edit (редактирование адреса).

Бы должны добавить в список IP-адреса рабочих станций сотрудников Вашего магазина, работающих с административным приложением. При этом позаботьтесь о том, чтобы у них были постоянные, а не динамические адреса IP.

Дополнительный уровень безопасности административного приложения реализуется парольной системой ограничения доступа, встроенной в само приложение.

Web приложение покупателя

Приложение покупателя располагается в виртуальном каталоге BookShopClient. При этом файл global.asa не содержит обработчиков или переменных. Для возможности использования констант интерфейса ADO в серверных страницах ASP в начало файла global.asa помещена следующая ссылка на библиотеку типов ADO:

FILE="d:\programfiles\common files\system\ado\msado20.tlb" -->

Необходимо отредактировать путь, указанный в параметре FILE тега METADATA, таким образом, чтобы он указывал на файл msado20.tlb Вашего сервера Web.

Кроме этого, необходимо настроить Web сервер так, чтобы при просмотре пользователями виртуального каталога BookShopClient в браузер пользователя посылался файл с именем default.asp. Необходимо также запретить посетителям прямой просмотр виртуальных каталогов сервера Web.

Страница default.asp содержит две формы. Первая форма предназначена для входа зарегистрированных покупателей:





Вход для покупателей

















Имя
Пароль

Она ссылается на страницу enter.asp. Вторая форма содержит кнопку с надписью Регистрация, щелкнув которую, посетитель попадает на страницу регистрации regdataenter.asp:





Пожалуйста, зарегистрируйтесь













[Нет записей]


<%

while (!rs.EOF)

{

%>







<%

rs.MoveNext();

}

rs.Close();



}

connect.Close();

Для каждой книги мы вставляем в создаваемую таблицу ссылку на страницу order.asp, которая позволяет добавить книгу в электронную корзину покупателя. Когда пользователь щелкнет ссылку, начнет загружаться страница order.asp. При этом ей будут переданы два параметра - идентификатор книги ID и флаг FIRST.

Параметр ID содержит идентификатор, по которому можно найти книгу в таблице books нашей базы данных. Безнего мы бы незнали, какую именно книгу нужно добавить в корзину. Что же касается флага FIRST, то его значение, равное 0, свидетельствует, что страница order.asp загружается для добавления новой книги в список отобранных книг, а не для простого просмотра этого списка.



Административное Web приложение

Страницы default.asp и Enter.asp в основном совпадают с одноименными страницами приложения покупателей.

Главная страница main.asp административного приложения содержит определение двух фреймов. В левом фрейме loc.asp находятся команды в виде ссылок на другие страницы, а в правом (с именем main) отображаются результаты выполнения этих команд:

<%@ LANGUAGE = "JScript" %>

Администрирование книжного маназина









<body> <br /> <br /></p> <p>Для просмотра этой страницы нужен браузер, способный работать с фреймами.</p> <br /> <br /><span lang="en-us"></frame></frame></meta></html></body>

<%=rs.Fields("Author")%>. <%=rs.Fields("Title")%>




<%=rs.Fields("Publisher")%>
<%=rs.Fields("Price")%> у.е.

&FIRST=0"

target="rbottom">Положить в корзину

Аннотация:


<%=rs.Fields("Annotation")%>

Похожие:

Лабораторная работа №9 Создание Web приложений с базами данных в среде серверов iis и sql server iconЛабораторная работа №5 Создание Web приложений с базами данных в среде ado. Net
Один из них связан с применением интерфейса Activex data Objects (ado). Посредством этого интерфейса приложения
Лабораторная работа №9 Создание Web приложений с базами данных в среде серверов iis и sql server iconНазвание курса 2072 Администрирование баз данных Microsoft sql server 2000
Курс обеспечивает слушателей знаниями и навыками, требующимися для установки, конфигурирования, управления, поиска неисправностей...
Лабораторная работа №9 Создание Web приложений с базами данных в среде серверов iis и sql server iconПопов Олег Владимирович Цель резюме : Разработчик. Net, sql server, vba
Сертифицированный Microsoft профессионал (mcp id 436060, mcp id 7421333). Разработчик решений Microsoft. Разработка приложений net,...
Лабораторная работа №9 Создание Web приложений с базами данных в среде серверов iis и sql server iconЛабораторная работа №1 3 Создание ситуационного плана миигаиК 3 Лабораторная работа №2 8 Оцифровка части карты и создание базы данных 8
«Геоинформационные технологии сбора и обработки информации» в среде MapInfo Professional
Лабораторная работа №9 Создание Web приложений с базами данных в среде серверов iis и sql server iconКнига представляет собой практическое руководство по созданию серверов Web в глобальной сети Internet или в глобальных корпоративных сетях Intranet. Здесь вы найдете все, что вам потребуется для создания собственных документов html, как
Отдельная глава посвящена установке и настройке серверов Microsoft Information Server и Microsoft Peer WebServices в среде операционной...
Лабораторная работа №9 Создание Web приложений с базами данных в среде серверов iis и sql server iconКонструктор sql-запросов для управления базами данных через web-интерфейс
Одной из наиболее привлекательных возможностей web-технологий является использование web-интерфейса для доступа к базам данных –...
Лабораторная работа №9 Создание Web приложений с базами данных в среде серверов iis и sql server iconЛекция №1: Стандарты языка sql
Субд. Однако на практике термин субд часто заменяют термином бд (база данных). Для того чтобы c различными базами данных, такими...
Лабораторная работа №9 Создание Web приложений с базами данных в среде серверов iis и sql server iconИнструкция по переносу данных по «Луч» из бд ms access в бд ms sql server Москва, 2011 Аннотация Настоящая Инструкция по переносу данных по «Луч» из бд ms access в бд ms sql server далее
Является техническим документом Небанковской кредитной организации закрытого акционерного общества «Национальный расчетный депозитарий»...
Лабораторная работа №9 Создание Web приложений с базами данных в среде серверов iis и sql server iconЛабораторная работа Основы разработки с sql azure
Субд microsoft sql server для Windows Azure. Работа с sql azure будет достаточно простой для большинства разработчиков, поскольку...
Лабораторная работа №9 Создание Web приложений с базами данных в среде серверов iis и sql server iconРабота с Microsoft sql server Описание и сравнение версий sql server
Субд. Это версии Microsoft sql server 2005 Express Edition и Microsoft® sql server® 2008 Express Edition. Обе версии отличаются от...
Разместите кнопку на своём сайте:
ru.convdocs.org


База данных защищена авторским правом ©ru.convdocs.org 2016
обратиться к администрации
ru.convdocs.org
    Главная страница