RSS    

   Реферат: Организация доступа к базам данных в Интернет


2.6. Реализация доступа к базе данных

2.6.1. Общее описание

Поисковая программа (SearchEngein.class) написана на языке Java с использованием технологии Java servlets (17) на базе веб сервера Apache (16). Чтобы программа работала в системе, под управлением операционной системой Windows NT должны присутствовать следующие компанеты приведенные в списке:

1.                 Веб сервер Apache, по архитектуру Win32;

2.                 Apache Java server, так же под архитектуру Win32;

3.                 Виртуальная Java машина (JVM) также под архитектуру Win32;

4.                 Java Servlet Development Kit (JSDK) 2.0

Настройка и установка этих команентов была описана выше. Тонкости настройки для правильной работы программы буду описаны ниже.

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

Процессор с тактовой чистатой 266 или выше.

Память не меньше 64 мегабайт, чем больше, тем лучше.

Жесткий диск любой.

Остальное оборудование по усмотрению администратора сервера.

Выше было сказано, что ограничений нет, уточняю почему, так как программа откомпилирована в аппаратно-независимый код (байт-код)  оно с легкостью может быть перенесена на другую платформу MacOS или Unix-система. Нужно будет всего лишь переписать файлы классы на диск, естественно настроив систему соответствующим образом.

2.6.2. Описание алгоритма

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

А теперь более детально остановимся на алгоритме, ниже приведен формат одной отдельно взятой записи из базы данных в формате RUSMARC (см. Приложение 1).

00878nam  22002537  45000010000000330050003300172450005002442600029400153000030900096500031800636500038

10045653004260024653004500019653004690016020004850010091004950008092005030017090005200008852005280022852005500011040005610014041005750008008005830041   BOOK00000876    BOOK00000001 ‑19981027165203.0 ‑00­aАктуальные вопросы преподавания хореографического искусства­nВып. 7­bМатериалы межвуз. науч.-метод. конф. "Современные технологии обучения в гуманитарном вузе"­cСанкт-Петербургский гуманитарный ун-т профсоюзов; Редкол. А.С.Запесоцкий и др. ‑0 ­aСПб.­c1994 ‑  ­a22с.‑  ­aВысшая школа­xМетодика преподавания­xМатериалы конференции‑  ­aХореографическое искусство­xПреподавание‑  ­aТехнологии обучения‑  ­aФормы обучения‑  ­aКонференция‑  ­c2.100‑  ­aЩ32‑  ­a14.35.09­a18‑  ­cЩ32‑  ­bч/з­t2­hЩ32­iА437‑  ­bаб.­t3‑  ­aВСГАКИ-10‑  ­arus‑950614s1990    rur           00000 rus d‑

А теперь этаже запись только уже с пояснениями:

00878nam  22002537  4500 – Маркер 24 символа

– словарь 12 символов 1) Метка поля – 3 символа полный список всех меток приведен в Приложении 1.

2) Начальная позиция относительна начала записи -5 символов

3) Размер поля – 4 символа

1 - 001 00000 0033

2 - 005 00033 0017

3 - 245 00050 0244

4 - 260 00294 0015

5 - 300 00309 0009

6 - 650 00318 0063

7 - 650 00381 0045

8 - 653 00426 0024

9 - 653 00450 0019

10- 653 00469 0016

11- 020 00485 0010

12- 091 00495 0008

13- 092 00503 0017

14- 090 00520 0008

15- 852 00528 0022

16- 852 00550 0011

17- 040 00561 0014

18- 041 00575 0008

19- 008 00583 0041

Поля с данными

1 - ‑    BOOK00000876    BOOK00000001 

2 - ‑19981027165203.0

3 - ‑00­aАктуальные вопросы преподавания хореографического искусства­nВып. 7­bМатериалы межвуз. науч.-метод. конф. "Современные технологии обучения в гуманитарном вузе"­cСанкт-Петербургский гуманитарный ун-т профсоюзов; Редкол. А.С.Запесоцкий и др.

4 - ‑0 ­aСПб.­c1994

5 - ‑  ­a22с.

6 - ‑  ­aВысшая школа­xМетодика преподавания­xМатериалы конференции

7 - ‑  ­aХореографическое искусство­xПреподавание

8 - ‑  ­aТехнологии обучения

9 - ‑  ­aФормы обучения

10- ‑  ­aКонференция

11- ‑  ­c2.100

12- ‑  ­aЩ32

13- ‑  ­a14.35.09­a18

14- ‑  ­cЩ32

15- ‑  ­bч/з­t2­hЩ32­iА437

16- ‑  ­bаб.­t3

17- ‑  ­aВСГАКИ-10

18- ‑  ­arus

19- ‑950614s1990    rur           00000 rus d

Программа начинает работать после того когда от клиента приходит запрос на страницу по определенному URL (например: http://www.real.ulan-.ude.ru/serv/SearchEngein), для выполнения запроса пользователя веб-сервер запускает JServ, который в свою очередь обрабатывает запрос  и определяет какой именно сервлет требуется запустить и в какой зоне он находится. Информацию о зонах размещения всех сервлетов Jserv считывает из файла настройки. Чтобы сервлет начал выполняться JServ предварительно запускает виртуальную Java машину и только после этого начинает работать сервлет это значит что запрос пользователя будет обработан и пользователь получит запрошенную страничку. Что же происходит на стороне сервера в этот момент когда пользователь ждет пока загрузится страница. А происходит вот что,  управление по отображению всей информации в окне браучера переходит сервлету, программе написанной на Java. Рассмотрим это более детально. Сервлет инициализируется и начинает передачу данных в формате HTML пользователю. Первое что увидит пользователь это будет поисковая форма  (см. рис. 6) .

Рис. 6

Поисковая форма

Программный код поисковой формы выглядит так:

out.println("<form method=\"get\" action=\"/serv/SearchEngein\">"+

"<table width=\"461\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\">"+

"<tr bgcolor=\"#3399FF\"> "+

"<td width=\"266\" class=\"text\">&nbsp;&nbsp;&nbsp;Запрос</td>"+

"<td width=\"135\" class=\"text\">&nbsp;&nbsp;&nbsp;Каталог</td>  "+

"<td width=\"207\">&nbsp;</td>"+

"</tr>"+

"<tr>"+

"<td width=\"266\" valign=\"top\"> "+

"<input type=\"text\" name=\"Query\" maxlength=\"100\" size=\"38\" value=\"\">"+

"</td>"+

"<td width=\"135\" valign=\"top\"> "+

"<select name=\"select\" size=\"1\">"+

"<option value=\"MARCFILE.Book\" selected>"+ConvertISO(getINIVar("KATALOG.Book"))+"</option>"+

"<option value=\"MARCFILE.Stat\">"+ConvertISO(getINIVar("KATALOG.Stat"))+"</option>"+

"<option value=\"MARCFILE.Periud\">"+ConvertISO(getINIVar("KATALOG.Periud"))+"</option>"+

"<option value=\"MARCFILE.Podpis\">"+ConvertISO(getINIVar("KATALOG.Podpis"))+"</option>"+

"<option value=\"MARCFILE.Ucheb\">"+ConvertISO(getINIVar("KATALOG.Ucheb"))+"</option>"+

"</select>"+

"</td>"+

"<td width=\"207\" valign=\"top\"> "+

"<input type=\"submit\" name=\"Start\" value=\"Поиск\">"+

"</td>"+

"</tr>"+

"</table>"+

"</form>");

Рассмотрим код более пристально.

В тэге <form> присутствуют параметры metod и action.

1)      метод (metod) говорит браузеру о том что данные(запрос) будет отправлены серверу;

2)      действие (action) – в этом параметре находится путь к программе на старое сервера которая примет отправленный запрос для обработки.

Следующий интересующий нас неотъемлемый компонент это тэг <input>, который тоже имеет несколько параметров type, name, value. Этот тэг является строкой ввода, рассмотрим его параметры.

1)      тип (type)  равный “text” говорит о том что это строка ввода;

2)      имя (name) название запроса т.е. имя которое присваивается тексту введенному в строку ввода, в моей программе это Query;

3)      значение (value) значение строки по умолчанию при начальной загрузке.

Еще один значимый тэг формы <select> - это список для выбора базы в которой будет производится поиск. Данный тэг имеет свое имя которое указано в параметре name. Сам же список последовательно указан в тэге <option> относящимся к тэгу <select>. Каждая из строк начинающихся тэгом <option> является элементом списка для выбора. У тэга <option> есть параметр value в котором указан псевдоним выбранного пункта из списка – это нужно для определения какой пункт из списка выбран.

Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27


Новости


Быстрый поиск

Группа вКонтакте: новости

Пока нет

Новости в Twitter и Facebook

                   

Новости

© 2010.