logo
Разработка web-приложения для работы менеджера в автоматизированной системе учета расчетов с абонентами с использованием средств CGI-программирования и Java-апплетов

4.1 Реализация Java-апплетов

Для реализации поставленной в предметной области курсового проекта задачи необходимо разработать приложения для двух типов пользователей:

1) абонентов;

2) менеджеров.

Реализация взаимодействия пользователя и CGI-программы будет осуществляться с помощью апплетов. Необходимо разработать Java-апплеты для каждого типа пользователей.

Ограничение прав доступа к БД и системе в целом производится на уровне приложений (Java-апплетов). Это осуществляется ведением имен и паролей пользователей.

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

Приложение абонентов состоит:

1. Форма авторизации в системе.

2. Окно личной страницы, предусматривает действия: просмотр информации о себе, хранящейся в БД; добавление оплаты.

Приложение менеджеров состоит:

1. Форма авторизации в системе.

2. Форма отображения существующих тарифов и услуг. Возможны следующие действия: удаление, добавление, просмотр информации о тарифах и услугах.

3. Форма отображения зарегистрированных абонентов. Возможны следующие действия: просмотр списка абонентов, просмотр договоров каждого абонента и состояния оплаты по каждому договору.

4. Форма отображения зарегистрированных договоров. Возможны следующие действия: просмотр списка договоров, добавление, удаление договоров.

Апплет «Abonent.java» содержит элементы диалога с абонентом. Апплет «Admin.java» содержит элементы диалога с менеджером. Апплет «HTTPPost.java» реализует взаимодействие двух других апплетов с web-сервером. Он содержит класс URLconnection, производящий загрузку объекта, на который ссылается URL.

Классу HTTPPost передается переменная mes из апплетов «Admin.java» и «Abonent.java», содержащая значения переменных апплетов, которая выступает строкой запроса, обрабатываемой CGI-программой. Взаимодействие апплетов и CGI-программы представлено на рисунке 4.

Размещено на http://www.allbest.ru/

Рисунок 4 - Взаимодействие апплетов и CGI-программы

Варианты запросов, отсылаемых Java-апплетом «Abonent.java» CGI-скрипту приведены в таблице 1.

Таблица 1 - Варианты запросов, отсылаемых Java-апплетом “Abonent.java»

Строка запроса Java-апплета

Ответ CGI-приложения

Интерпретация

1

2

3

"what=reg&login="+s+

"&password="+p

true&номер абонента#фамилия#имя#отчество#адрес

Авторизация

"what=dog&chel_id="+ id_cheloveka

true&номер договора#номер тарифа@....@ номер договора#номер тарифа

Формирование списка договоров

"what=tar&tar_id="+ id_tar

true&номер тарифа#название@....@ номер тарифа#название

Формирование списка тарифов

"what=usl&tar_id="+ id_tar

true&номер услуги#название@....@ номер услуги#название

Формирование списка услуг

"what=opl&tar_id="+ id_tar+"&dog_id="+ id_dog+"&chel_id="+ id_chel

true&дата#сумма@....@дата#сумма

Формирование списка платежей

"what=addopl&tar_id="+ id_tar+"&dog_id="+ id_dog+"&chel_id="+ id_chel+"&dat_id="+ DatT.getText()+"&sum="+ SumT.getText()

true

Формирование данных по добавлению платежа

Варианты запросов, отсылаемых Java-апплетом “Admin.java» CGI-скрипту, приведены в таблице 2.

Таблица 2 - Варианты запросов, отсылаемых Java-апплетом “Admin.java»

Строка запроса Java-апплета

Ответ CGI-приложения

Интерпретация

1

2

3

"what=showabonent"

true&номер#фамилия#имя#отчество#адрес@.....

@номер#фамилия#имя#отчество#адрес

Формирование списка абонентов

"what=showdogovor"

true&номер договора@....@номер договора

Формирование списка договоров

"what=showtarif"

true&номер тарифа#название@....@ номер тарифа#название

Формирование списка тарифов

"what=usl&tar_id="+ id_tar

true&номер услуги#название@....@ номер услуги#название

Формирование списка услуг

"what=dog&chel_id="+ id_abon

true&номер договора#номер тарифа@....@ номер договора#номер тарифа

Формирование списка договоров абонента

"what=tar&tar_id="+ id_tar

true&номер тарифа#название@....@ номер тарифа#название

Показать информацию о тарифе

"what=showabonent_dogovor&dog_id="+ id_dog

true&номер#фамилия#имя#отчество#адрес

Вывести абонента договора

what=showtarif_dogovor&dog_id="+ id_dog

true&номер договора#....#номер договора

Вывести тариф договора

"what=addnewdog&ab_id="+ addab+"&t_id="+addtarid

true

Добавление договора

"what=addnewtar&tar_name="+ addtarname

true

Добавление тарифа

"what=addnewabonent&a_fam="+fam+"&a_name="+name+"&a_otch="+otch+"&a_adres="+adres+"&a_log="+log+"&a_pas="+pas

true

Добавление абонента

"what=addnewusl&usl_name="+ adduslname+"&tid="+ tar_name

true

Добавление услуги

"what=deltar&id_tar="+ tar_name

true

Удаление тарифа

«what=deldog&id_dog="+ dog_id

true

Удаление договора

"what=delabonent&id_ab="+ id_ab

true

Удаление абонента

"what=deluslug&id_usl="+ usl_name

true

Удаление услуги

"what=opl&tar_id="+ id_tar+"&dog_id="+ id_dog+"&chel_id="+ id_chel

true&дата#сумма@....@дата#сумма

Сформировать список платежей договора

При неудаче выполнения какого-либо запроса в качестве ответа Java-апплету возвращается false.