Дипломная работа: Разработка системы дистанционного обучения кафедры ВТИТ

Адрес базы данных url начинается со строки "jdbc:", потом записывается подпротокол (subprotocol), в данном примере используется мост JDBC-ODBC, поэтому записывается "odbc:". Далее указывается адрес (subname) по правилам подпротокола, здесь просто имя локальной базы "mydb". Второй и третий аргументы — это имя и пароль для соединения с базой данных.

Если в вашей вычислительной системе установлен пакет javax.sql, то вместо класса DriverManager лучше использовать интерфейс DataSource.

Связавшись с базой данных, можно посылать запросы. Запрос хранится в объекте, реализующем интерфейс Statement. Этот объект создается методом createStatement (), описанным в интерфейсе Сonnection, например:

Statement st = con.createStatement();

Затем запрос (query) заносится в этот объект методом execute () и потом выполняется методом getResultSet(). В простых случаях это можно сделать одним методом executeQuery (), например:

ResultSet rs = st.executeQuery("SELECT name, code FROM tbl1");

Здесь из таблицы tbl1 извлекается содержимое двух столбцов name и code и заносится в объект rs класса, реализующего интерфейс ResultSet.

SQL-операторы INSERT, UPDATE, DELETE, CREATE TABLE и другие в простых случаях ВЫПОЛНЯЮТСЯ методом executeUpdate ().

Остается методом next () перебрать элементы объекта rs — строки полученных столбцов — и извлечь данные многочисленными методами getxxx () интерфейса ResultSet, например:

while (rs.next()){

emp[i] = rs.getString("name") ;

num[i] = rs.getlnt("code");

i++; }

Методы интерфейса ResultsetMetaData позволяют узнать количество полученных столбцов, их имена и типы, название таблицы, имя ее владельца и прочие сведения о представленных в объекте rs сведениях [3].

Таким образом, JDBC позволяет проделать весь цикл работы с базой данных.

1.3.2 Сервлеты

Первоначально перед HTTP-серверами стояла простая задача: найти и отправить клиенту файл, указанный в полученном от клиента запросе. Запрос составлялся тоже очень просто по правилам протокола HTTP в специально придуманной URL.

Затем возникла необходимость выполнять на сервере процедуры. В запрос вставили вызов процедур, а на сервере реализовали технологию CGI (Сои Gateway Interface). Процедуру CGI можно написать на любом языке, лишь бы он воспринимал стандартный ввод и стандартный вывод. Неожиданную популярность получил язык Perl. Оказалось, что на нем удобно писать CGI-программы. Возникли специальные языки: PHP, ASP, серверный вариант JavaScript.

Технология Java не могла пройти мимо такой насущной потребности и отозвалась на нее созданием сервлетов и языком JSP (JavaServer Pages).

Сервлеты (servlets) выполняются под управлением Web-сервера подобно тому, как апплеты выполняются под управлением браузера, откуда и произошло их название. Для слежения за работой сервлетов и управления ими создается специальный программный модуль, называемый контейнером сервлетов (servlet container), "контейнер" в русском языке означает пассивную емкость стандартных размеров, но контейнер сервлетов активен, он загружает сервлеты, инициализирует их, передает запросы клиентов, принимает ответы. Сервлеты не могут работать без контейнера, как апплеты не могут работать без браузера. Жаргонное выражение "сервлетный движок", происходящее от английского "servlet engine", лучше выражает суть дела, чем выражение "контейнер сервлетов".

Web-сервер, снабженный контейнером сервлетов и другими контейнерами, стал называться сервером приложений (application server, AS).

Чтобы сервлет мог работать, он должен быть зарегистрирован в контейнере, по терминологии спецификации "Java Servlet Specification" установлен (deploy) в него. Установка (deployment) сервлета в контейнер включает получение уникального имени и определение начальных параметров сервлета, запись их в конфигурационные файлы создание каталогов для хранения всех файлов сервлета и другие операции. Процесс установки сильно зависит от контейнера. Одному контейнеру достаточно скопировать сервлет в определенный каталог, например, autodeploy/ или webapps/, и перезапустить контейнер, для другого надо воспользоваться утилитой установки, В стандартном контейнере J2EE SDK такая утилита называется deploytool.

Один контейнер может управлять работой нескольких установленных в него сервлетов. При этом один контейнер способен в одно и то же время работать в нескольких виртуальных машинах Java, образуя распределенное Web-приложение. Сами же виртуальные машины Java могут работать на одном компьютере или на разных компьютерах [3].

Контейнеры сервлетов создаются как часть Web-сервера или как встраиваемый в него модуль. Большую популярность получили встраиваемые контейнеры Tomcat, разработанный сообществом Apache Software Foundition в рамках проекта Jakarta, Resin фирмы Caucho, JRun фирмы Macromedia. Точное распределение обязанностей между Web-сервером и контейнером сервлетов выпадает на долю их производителей.

1.3.3 Страницы JSP

JavaServer Pages представляет собой расширение технологии сервлетов для упрощения доставки динамического Web-содержимого. Страницы JavaServer Pages дают возможность программистам Web-приложения создавать динамическое содержимое за счет многократного использования ранее определенных компонентов и за счет взаимодействия с компонентами путем написания сценариев, выполняющихся на стороне сервера. Программисты JavaServer Pages могут многократно использовать компоненты JavaBeans и создавать собственные библиотеки нестандартных тегов, которые инкапсулируют сложные динамические функциональные средства. Библиотеки нестандартных тегов также дают возможность дизайнерам Web-страниц, не знакомым с языком Java, усовершенствовать Web-страницы, добавляя средства динамического отображения содержимое и новые возможности по обработке.

В JSP имеются четыре ключевых компонента: директивы, действия, скриптлеты и библиотеки тегов. Директивы представляют собой сообщения для контейнера JSP, которые дают возможность программисту задавать параметры страницы, включать содержимое из других ресурсов и задавать собственные библиотеки нестандартных тегов для использования их в JSP странице. Действия инкапсулируют функциональные возможности в предопределенных тегах, которые программисты могут встраивать в JSP -страницу. Действия часто выполняются на основе информации, посылаемой на сервер в составе запроса от определенного клиента. Действия также могут создавать объекты Java для использования их в скриптлетах JSP. С?

К-во Просмотров: 349
Бесплатно скачать Дипломная работа: Разработка системы дистанционного обучения кафедры ВТИТ