Программа учебной практики для студентов 2 курса



бет4/4
Дата28.06.2016
өлшемі0.52 Mb.
#163448
түріПрограмма
1   2   3   4

Hello, world!

") %>

Так производится запись во внутренний буфер объекта Response. Когда скрипт заканчивает работу, весь буфер выдается клиенту. Надо заметить, что клиент получает "чистый" HTML, таким образом, программы на ASP.NET не зависят от клиентского ПО, что очень важно. Если внутри выводимой строки нужно использовать кавычку, кавычка удваивается. Другие методы и свойства Response позволяют управлять выводом. Так Response.Buffer регулирует, получает ли клиент данные по мере из записи в Response, или все сразу по завершении исполнения страницы. Метод Response.Redirect перенаправляет браузер на другую страницу. Чтобы им пользоваться, нельзя до него на странице использовать Response.Write.

Программа на ASP.NET не может явно спросить пользователя о чем-то. Она получает данные из других страниц, либо через URL. Передаваемые параметры помещаются во входной поток и доступны через объект Request. Чтобы передать переменную var в программу test.asp, надо написать:

test.asp?var=abc

Чтобы из программы получить значение этой переменной, надо написать:

var = Request("var")

Несколько переменных разделяется знаком &:

test.asp?var1=abc&var2=def

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










Исходная форма имеет вид:

При этом пользователь увидит форму из одного поля ввода (var1), в нем будет значение по умолчанию " default". Второе поле (var2) будет невидимо и будет передавать всегда фиксированное значение " значение 2". Кнопка "Submit Form" завершает заполнение формы и передает все переменные на test.asp (action).

Если method="get", переменные передаются через URL: test.asp?var1=default&var2=value2.

Если method="post", передаются вместе с запросом так, что внешне передача переменных не заметна.



2.2 Установка программного обеспечения для ASP.NET


Отметим, что для поддержки ASP.NET, как правило, необходим Internet Information Server и установленный Microft Net Framework. Это программная технология от компании Microsoft, предназначенная для создания обычных программ и WEB-приложений.

Установка программного обеспечения начинается со скачивания дистрибутива .NET Framework (с сайта Microsoft). ASP.NET распространяется как составная часть .NET Framework. Перед установкой .NET Framework, необходимо установить Internet Information Server (IIS), который, как правило, поставляется вместе с дистрибутивом Windows и устанавливается через меню «Пуск/Панель управления/Установка и удаление программ/Установка компонентов Windows».





Рис. 6. Инсталляция WEB-сервера IIS

Одной из основных идей Microsoft .NET является совместимость различных служб, написанных на разных языках. Например, служба, написанная на C++ для Microsoft .NET, может обратиться к методу класса из библиотеки, написанной на Delphi; на C# можно написать класс, наследованный от класса, написанного на Visual Basic .NET, а исключение, созданное методом, написанным на C#, может быть перехвачено и обработано в Delphi. Каждая библиотека (сборка) в .NET имеет сведения о своей версии, что позволяет устранить возможные конфликты между разными версиями сборок.

После установки .NET FrameForks, в Администраторе IIS можно постмотреть версию ASP.NET и месторасположения конфигурационного файла (рис.7).



Рис. 7. Просмотр свойств ASP.NET после инсталляиции .Net Framework

Отметим, что файлы ASP.NET имеют, как правило, расширение «*.aspx».

Обратите внимание, что после установки Net Framework такие файлы обрабатываются в IIS с помощью ISAPI фильтра – aspnet_isapi.dll (рис. 8).



Рис. 8. Просмотр ссылки на обработчик сценариев ASP.NET в Администраторе IIS.

Также для каждого виртуального каталога IIS можно создать единственный файл global.asax, с помощью которого управлять поведением сайта в зависимости от событий, связанных с поведением пользователей (например, события начала и окончания пользовательской сессии).



Пример, файла global.asaх.


2.3 Полезные конструкции на ASP.NET


Если на сервере установлены дополнительные компоненты, их можно использовать из ASP.NET Стандартные объекты (например, из библиотек ADO (Connection и Recordset) и Scripting (Dictionary, FileSystemObject)) доступны всегда. Установка новой компоненты обычно состоит в копировании dll-файла в каталог на сервере и ее регистрации с помощью программы regsvr32.exe.

Создать экземпляр объекта можно так:

Set var = Server.CreateObject("Class.Object")

Class.Object указываются в документации на компоненту.

В переменной var запоминается ссылка на созданный экземпляр объекта. Когда объект не нужен, ссылку нужно обнулить с помощью команды:

Set var = Nothing

Отметим что для передачи данных между страницами, можно воспользоваться механизмом сессий. ASP.NET, используя cookies, предоставляет программисту специальное средство - объект Session (сессия). Сессия стартует, когда новый пользователь обращается к любому aspx-файлу приложения. Сессия заканчивается при отсутствии активности пользователя в течение, как правило, 20 минут. Специальный объект Session хранит состояние сессии. Туда можно записывать переменные, которые доступны из любой страницы в этой сессии.

Записать данные в этот объект можно следующим образом:

Session("var") = var

Для считывания значения можно использовать такую запись:

var = Session("var")

Наряду с объектом Session существует объект Application. Если сессия создается для каждого нового пользователя, до Application существует в единственном экземпляре, и может использоваться всеми страницами приложения.

Application("var") = var

var = Application("var")


Чередование ASP.NET/HTML


Если нужно выдать большой кусок HTML, можно не пользоваться Response.Write. Если в asp-файле встречается кусок текста вне скобок <% %>, он трактуется просто как HTML, который надо вывести. Пример:

<% If var="VAL" Then %>

Выполняется первый блок HTML-кода



<% Else %>

Выполняется другой блок HTML-кода



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

<%

Dim dbs As Object

Dim rs1 as Object

dbs = CreateObject("ADODB.Connection")

…………………………………………………..

%>

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


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

include file="filename.inc" -->

2.4 Управляющие структуры ASP.NET


Вы можете использовать операторы цикла, такие как for и while.

<%

While (условие)

‘Здесь некоторый код на VB.NET

End While

for i=1 To J

‘Здесь некоторый код на VB.NET

Next i

%>
Отметим, что логические операторы также имеют довольно простую форму, например, следующую.



IF Not VarType(rs3.Fields(3).Value)=1 Then

var_name=CStr(rs3.Fields(3).Value)

else

var_name=""



End if

В этом примере, функция VarType() проверят соответствие переменной определенному типу по значению, и в зависимости, от результата, либо, считывает значение из СУБД, либо записывает в переменную var_name пустое значение. Функция CStr выполняет приведение текущего типа переменной к текстовому.


2.5 Работа с файловой системой


Для ASP.NET при работе с файловой системой целесообразно использовать объектную модель FSO (File System Object).

Ниже представлен пример создания файла на жестком диске с помощью ASP.NET скрипта с последующей записей значений, извлекаемых из некоторой СУБД, в формате XML.



<%

' rootPath – переменная, в которой храниться путь к папке, в которой создаем файл

‘rs2.Fields(2).Value – название файла (извлекаемое из СУБД)

fso = CreateObject("Scripting.FileSystemObject")

file = fso.CreateTextFile(rootPath+"\"+cStr(rs2.Fields(2).Value) + ".xml",true,true)

file.WriteLine("")

file.WriteLine("")

file.WriteLine(" ")

‘Здесь некторый блок кода, формирующий XML-поток

file.WriteLine("")

file.Close

2.6 Базы данных и ASP.NET


Из ASP.NET можно легко и просто работать с любыми СУБД. Это делается через две промежуточные технологии: ODBC и ADO (ADO.NET).

ODBC позволяет организовать доступ к любым СУБД через унифицированный интерфейс с помощью языка SQL. Специфика конкретных СУБД учитывается при помощи специальных драйверов БД. Такие драйверы существуют для всевозможных СУБД (в частности SQL Server, Oracle, Access, FoxPro). Поддержка ODBC обеспечивается на уровне операционной системы Windows. Настройка – через Панель управления/ODBC.





Рис. 9. Настройка источников данных ODBC.

Базовым понятием является источник данных или data source. Источник данных – это совокупность сведений о базе данных, включая ее драйвер, имя компьютера и файла, параметры. Чтобы воспользоваться базой, необходимо создать источник данных для нее. Важно, чтобы источник данных был "системным", в отличии от "пользовательского". После этого надо лишь знать имя источника данных.

ADO – это совокупность объектов, доступных из ASP.NET (ASP), позволяющих обращаться к источнику данных ODBC (или OLE DB). Фактически нужны лишь 2 объекта – Connection, представляющий соединение с базой данных и Recordset, представляющий набор записей, полученный от источника. Сначала необходимо открыть соединение, потом к нему привязать Recordset, потом, пользуясь методами Recordset, обрабатывать данные.
Пример 1. Доступ к СУБД через имя источника ("Data-Source-Name"), настроенного в Администраторе источников ODBC

Dim Conn, RS, strSQL, strOut

strOut = ""

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

Conn.Open "Data-Source-Name"

Set RS = Server.CreateObject("ADODB.Recordset")

strSQL = "SELECT * FROM AGENTS ORDER BY USER_ID"

RS.Open strSQL, Conn

RS.MoveFirst

strOut = strOut & "


Here is the data:"

strOut = strOut & ""

strOut = strOut & "

"

Do While Not RS.EOF

strOut = strOut & "

"

strOut = strOut & "

"

strOut = strOut & "

"

strOut = strOut & "

"

RS.MoveNext

Loop


strOut = strOut & "
USER_IDName
" & RS.Fields("USER_ID") & " " & RS.Fields("NAME") & "
"

strOut = strOut & "


"

strOut = strOut & "That's it!"

RS.Close


Set RS = Nothing

Conn.Close

Set Conn = Nothing

Response.Write strOut

%>
Пример 2. Доступ к СУБД через имя драйвера (на примере MS SQL Server).

dbs = CreateObject("ADODB.Connection")

dbs.ConnectionString = "driver={SQL Server};server=.\SQLEXPRESS;uid=sa;pwd=;database=GRAF"

dbs.ConnectionTimeout = 5

dbs.Open

dbs.CommandTimeout = 0


Отметим, что в настоящее время для ASP.NET рекомендуется также использовать объектную модель ADO.NET, существенно отличающуюся от объектной модели ADO.

ADO.NET поддерживает модель поставщиков. Поставщики для конкретного источника данных можно определить как совокупность классов в одном пространстве имен созданных специально для данного источника данных. Эта особенность несколько размыта для источников данных OleDb, ODBC, так как они по своей сути созданы для работы с любой базой данных совместимых с OLE и ODBC.

В подключаемой части ADO.NET имеются следующие основные классы подсоединенных объектов:


  • Connection. Этот класс, позволяющий устанавливать подключение к источнику данных. ( OleDbConnection, SqlConnection, OracleConnection)

  • Transaction. Объект транзакций (OleDbTransaction, SqlTransaction, OracleTransaction. В ADO.NET имеется пространство имен System.Transaction)

  • DataAdapter. Это своеобразный шлюз между автономными и подключенными аспектами ADO.NET. Он устанавливает подключение, и если подключение уже установлено, содержит достаточно информации, чтобы воспринимать данные автономных объектов и взаимодействовать с базой данных. (DataAdapter - SqlDataAdapter, OracleDataAdapter)

  • Command. Это класс представляющий исполняемую команду в базовом источнике данных.

  • Parameter. Объект параметр команды.

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

Объектная модель ADO.NET



Рис. 10. Объектная модель ADO.NET.

Обратите внимание. Для использования ADO.NET в ASP.NET нужно вначале импортировать соответствующее пространство имен.

<% 'ДЛЯ ADO Managed Provider %>

<%@ Import Namespace="System.Data" %>

<%@ Import Namespace="System.Data.ADO" %>

<% 'ДЛЯ SQL Managed Provider %>

<%@ Import Namespace="System.Data" %>

<%@ Import Namespace="System.Data.SQL" %>

Пример 3. Подключение к СУБД Access, считывание данных при помощи ADO.NET и вывод на WEB-страницу

<%@ Import Namespace="System.Data" %>

<%@ Import Namespace="System.Data.ADO" %>

<%

'путь к бд и имя таблицы для выполнения запроса


Dim DBFileName As String = "db\db.mdb"
Dim DBTableName As String = "[TableName]"
'инициализируем объекты для работы с бд
Dim cn As New OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & DBFileName)
Dim cmd As New OleDb.OleDbCommand("SELECT * FROM " & DBTableName, cn)
Dim da As New OleDb.OleDbDataAdapter(cmd)
Dim tbl As New DataTable
'заполняем набор данных
da.Fill(tbl)
'выводим данные
For Each Row As DataRow In tbl.Rows

Response.Write(Join$(Row.ItemArray())+"


")

Next Row
'освобождаем ресурсы


tbl.Dispose()
da.Dispose()
cmd.Dispose()
cn.Dispose()

%>

Раздел 3. Разработка приложений для WEB с использованием MySQL

3.1 Введение в MySQL


MySQL Server относиться к классу реляционных СУБД, максимально адаптированных для WEB-разработки и отличается расширенной функциональностью (возможность хранения данных терабайтного объема, поддержка хранимых процедур и триггеров, кроссплатформенность и т.д.) и вместе с тем относится к технологиям класса open source (открытого кода), т.е. не требует лицензирования и является свободно распространяемой СУБД.

Кроссплатформенная СУБД MySQL. (официально произносится, «май-эс-кью-эль») — бесплатно распространяемая система управления базами данных (СУБД). MySQL является собственностью компании Sun Microsystems, осуществляющей разработку и поддержку приложения. Распространяется под GNU General Public License и под собственной коммерческой лицензией, на выбор. Помимо этого компания MySQL AB разрабатывает функциональность по заказу лицензионных пользователей, именно благодаря такому заказу почти в самых ранних версиях появился механизм репликации. MySQL портирована на большое количество платформ: AIX, BSDi, FreeBSD, HP-UX, GNU/Linux, Mac OS X, NetBSD, OpenBSD, OS/2 Warp, SGI IRIX, Solaris, SunOS, SCO OpenServer, SCO UnixWare, Tru64, Windows 95, Windows 98, Windows NT, Windows 2000, Windows XP, Windows Server 2003, Windows Vista и Windows 7. Существует также порт MySQL к OpenVMS. Важно отметить, что компания MySQL AB предоставляет для свободной загрузки не только исходные коды СУБД, но и откомпилированные и оптимизированные под конкретные операционные системы готовые исполняемые модули. MySQL имеет API для языков Delphi, C, C++, Эйфель, Java, Лисп, Perl, PHP, Python, Ruby, Smalltalk и Tcl, библиотеки для языков платформы .NET, а также обеспечивает поддержку для ODBC посредством ODBC-драйвера MyODBC. Отметим, что максимальный объем Хранилища MySQL, начиная с версии 3.23+ : до 8 миллионов терабайт. (2 ^ 63).

MySQL разработал Михаэль Видениус (Michael Widenius, monty@analytikerna.se). MySQL является относительно небольшой и быстрой реляционной СУБД основанной на традициях Hughes Technologies Mini SQL (mSQL).

Последнюю версию MySQL можно скачать с www.tcx.se.

Важнейшие преимущества СУБД MySQL.


    • Кроссплатформенность (возможность инсталляции на различные операционные системы, в том числе Windows и Unix).

    • Многопоточность. Поддержка нескольких одновременных запросов.

    • Оптимизация связей с присоединением многих данных за один проход.

    • Записи фиксированной и переменной длины.

    • ODBC драйвер в комплекте с исходником.

    • Гибкая система привилегий и паролей.

    • До 16 ключей в таблице. Каждый ключ может иметь до 15 полей.

    • Поддержка ключевых полей и специальных полей в операторе CREATE.

    • Поддержка чисел длинной от 1 до 4 байт (ints, float, double, fixed), строк переменной длины и меток времени.

    • Интерфейс с языками PHP, .NET, C, perl и др.

    • Основанная на потоках, быстрая система памяти.

    • Утилита проверки и ремонта таблицы ( isamchk).

    • Все данные хранятся в формате ISO8859_1.

    • Все операции работы со строками не обращают внимания на регистр символов в обрабатываемых строках.

    • Псевдонимы применимы как к таблицам, так и к отдельным колонкам в таблице.

    • Все поля имеют значение по умолчанию. INSERT можно использовать на любом подмножестве полей.

    • Легкость управления таблицей, включая добавление и удаление ключей и полей.

Интерфейсы с другими языка программирования

Наиболее простой способ работы с MySQL сводится к использованию программы MySQL. Это клиентская часть СУБД MySQL. Можно выполнять команды SQL непосредственно из командной строки системы unix или из интерактивного режима MySQL. Подробнее о клиентских программах.

СУБД MySQL имеет библиотеку C API. Ее можно использовать для запросов к базе данных, вставки данных, создания таблиц и т.п. C API поддерживает все функции MySQL.

Язык perl поддерживается сразу двумя способами:



    • Портирован интерфейс с perl из mini-SQL, разработанный Андреасом Коенигом (Andreas Koenig a.koenig@mind.de ).

    • Есть модуль perl DBD

Также доступен 32-битный ODBC драйвер для MySQL. Он позволяет запрашивать и получать данные из других источников с поддержкой ODBC. С подробностями можно ознакомиться на домашней страничке MySQL (увы, только на английском языке).

Важнейшим преимуществом MySQL является возможность бесшовной (native) интеграции с языком программирования PHP.



3.2 Взаимодействие MySQL и PHP.

В этом примере показано как в PHP легко обрабатывать данные с HTML – форм.

Создадим простой HTML файл.



Запрос информации


Хотите больше знать о наших товарах?




Ваше имя:


Ваш email:




Меня интересуют:









Достарыңызбен бөлісу:
1   2   3   4




©dereksiz.org 2024
әкімшілігінің қараңыз

    Басты бет