Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

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




РАБОЧИЕ ЗАДАНИЯ

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

Для выполнения заданий сначала нужно создать в среде Eclipse веб-проект, в котором затем создавать Java-классы и страницы.jsp,.xhtml согласно заданиям.

 

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

Задание 1. Программные компоненты для авторизации пользователей

 

Основная страница веб-приложения носит название index.jsp. Она является стартовой и при ее загрузке в браузере пользователь наблюдает окно, представленное на рис. 3.2 в разделе «Разработка пользовательского интерфейса» настоящего учебного пособия.

Обработку данных со страницы index.jsp осуществляет класс Login.class. Основными его задачами являются осуществление валидации полей формы по нулевым значениям и проверка наличия имени и пароля пользователя в БД. За валидацию введенных значений отвечает следующий код класса Login (рис. 5.4). Из примера кода видно, что, если пользователь оставил хотя бы одно поле (Имя или Пароль) пустым, то программа выдаст в окно браузера соответствующее сообщение об ошибке. Если оба поля заполнены, программа считывает введенные значения, соединяется с БД и посылает ей запрос на поиск значений. В БД для данного случая всего два значения – student и expert. Если пользовательские данные совпали со строкой БД student, то метод класса Login выдает значение success_student, если с expert, то success_expert (рис. 5.5).

 

 

Рис.5.4. Программный код валидации данных

 

Рис.5.5. Программный код поиска введенных значений в БД

 

На основе выданного классом Login значения механизм JSF осуществляет навигацию. Конфигурация навигации прописывается в файле faces-config.xml (рис. 5.6). Как видно из скриншота файла, навигация осуществляется следующим образом: если пользователь залогинился под именем student, то переход осуществляется на страницу welcome_student, если под именем expert – на страницу welcome_expert.

 

 

Рис.5.6. Навигация на основе значения, возвращаемого классом Login

 

Страница welcome_student выдает пользователю окно формы, соответствующее представленному на рис.3.3 в разделе «Разработка пользовательского интерфейса» настоящего учебного пособия. При помощи этой формы студент должен выбрать из списка свою группу, ФИО и ввести номер зачетки в качестве пароля. Если номер зачетки совпадет с номером для данных ФИО в БД, то авторизация пройдет успешно и пользователь будет переведен на страницу с выбором занятия для анкетирования.

Страница welcome_student работает с классом StudentsAuthGroup (см. рис. 5.3), отвечающим за вывод списка групп и ФИО студентов, а также за проверку введенного студентом значения номера зачетной книжки. При правильности введенных данных метод класса выдает значение success_StAuth, на основе которого осуществляется навигация на страницу AnketsMenu.xhtml (рис. 5.7).

 

Рис.5.7. Навигация на основе значения, возвращаемого классом StudentsAuthGroup

 

Задание 2. Программные компоненты для внесения анкетных данных в БД

Страница AnketsMenu.xhtml выдает пользователю окно формы, соответствующее представленному на рис.3.4 в разделе «Разработка пользовательского интерфейса» настоящего учебного пособия. При помощи этой формы пользователь может выбрать дисциплину и конкретное занятие по ней для введения анкетных данных. Страница AnketsMenu.xhtml работает с классами Student, DisciplineBean, Zanyatie, ZanyatieBean, AnketaForZan (см. рис. 5.3).

Класс Student должен осуществлять поддержку хранения профильных данных по студенту в течение всей сессии пользователя и отображение их на экран.

Страница AnketsMenu.xhtml должна связываться с классом DisciplineBean, брать от него данные по дисциплинам и выводить их на экран в виде выпадающего списка.

Класс DisciplineBean представляет собой ManagedBean с видимостью SessionScoped и осуществляет выбор всех дисциплин, имеющихся в БД в таблице disciplines, возвращая их в виде списка SelectItem.

После выбора дисциплины на интерфейс пользователю должны выводиться все проведенные занятия по этой дисциплине в двух таблицах – отдельно для лекций и для семинаров. Для каждого занятия должна быть представлена его тема и дата проведения. Также у каждого занятия должна стоять ссылка на анкету для этого типа занятия. При этом система должна видеть, заполнял ли уже данный пользователь анкету по конкретному занятию и, если заполнял, то не выдавать ссылки на анкету, а вместо этого писать серым цветом (аналог погашенной ссылки) строку «Анкета заполнена».

Данные о лекциях и о семинарах целесообразно отобразить на интерфейсе в виде структуры DataTable. За выдачу данных о занятиях отвечает класс ZanyatieBean, являющийся ManagedBean с видимостью SessionScoped. Данный класс осуществляет выбор всех занятий для указанной пользователем дисциплины по первичному ключу этой дисциплины и возвращает результат в виде списка занятий.

Определение статуса заполнения анкеты должно осуществляться с помощью метода anketaStatus класса ZanyatieBean. Данный метод соединяется с БД и осуществляет поиск в таблице lections_ankets на предмет наличия записи с ID занятия и ID студента. Если такой записи не обнаружено, то метод возвращает 0, если запись есть – 1.

При получении значения 0 программа AnketsMenu.xhtml отрисовывает у занятия ссылку «Заполнить анкету». Ссылка переводит на метод fillLecAnketa класса AnketaForZan, передавая ему в качестве параметров ID занятия, тему занятия и название дисциплины. При получении значения 1 программа AnketsMenu.xhtml не прорисовывает у занятия ссылку на анкету, выводя надпись «Анкета заполнена».

При нажатии на ссылку «Заполнить анкету» срабатывает метод fillLecAnketa класса AnketaForZan, который возвращает либо значение «blankLec», при работе с лекциями, либо «blankSem», при работе с семинарами. Данный метод призван только обеспечить управление навигацией, которая при значении «blankLec» осуществляется на страницу AnketaForLec.xhtml, а при значении «blankSem» – на AnketaForSem.xhtml.

После перехода на страницу AnketaForLec.xhtml пользователю выдается анкета для выбранной им лекции. В анкете присутствуют вопросы, полностью описанные в разделе «Разработка пользовательского интерфейса» настоящего учебного пособия и оценочная шкала от 1 до 5 для выбора соответствующей оценки. То же самое верно для семинаров.

AnketaForLec.xhtml взаимодействует с классом AnketaLecData, который является ManagedBean с видимостью RequestScoped. Этот класс собирает все оценки и заносит их в БД в таблицу lections_ankets (для лекций) или seminar_ankets (для семинаров) при помощи метода insertIntoDB. При успешном внесении информации в БД метод возвращает значение «insertOK», по которому осуществляется навигация обратно на страницу AnketsMenu.xhtml, на которой пользователь может либо продолжить заполнение анкет по другим занятиям, либо выйти из системы.

Задание 3. Программные компоненты обработки анкетных данных и вывода результатов

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

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

Также пропишите навигацию между интерфейсными окнами, представленными на рис. 3.6, 3.7, 3.8.

Задание 4. Отладка созданных программ

 

Проверьте созданный код на наличие ошибок и скомпилируйте его. Тестирование кода нужно провести после того, как разработчик БД предоставит свой результат в виде файла БД под управлением соответствующей СУБД.




Поделиться с друзьями:


Дата добавления: 2014-12-27; Просмотров: 506; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.009 сек.