Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
2013_1 / КСТ / Разработка веб-приложений.pdf
Скачиваний:
160
Добавлен:
23.02.2015
Размер:
2.74 Mб
Скачать

<h:outputText value="Просмотр всех" /> </h:commandLink>

</h:form>

<br/>

<h:form>

<h:commandLink action="queryAge"> <h:outputText value="Запрос по возрасту" />

</h:commandLink>

</h:form>

</td>

</tr>

</table>

</f:view>

</body>

</html>

20.7. Использование шаблонов и стилей

Для унификации внешнего вида страниц приложения технология Java EE 6

предлагает использовать шаблоны страниц (темплеты), определяющие общие эле-

менты страниц и их оформление.

Создадим файл шаблона (Создать – JavaServer Faces – Facelets Template) с

именем template.xhtml в корневой папке приложения:

Файл template.xhtml

<?xml version='1.0' encoding='UTF-8' ?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"

xmlns:ui="http://java.sun.com/jsf/facelets"

xmlns:h="http://java.sun.com/jsf/html">

<h:head>

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

<title><ui:insert name="title">Default Title</ui:insert></

title>

<h:outputStylesheet name="css/jsfcrud.css"/> </h:head>

<h:body>

<h1>

<ui:insert name="title">Default Title</ui:insert> </h1>

<p>

<ui:insert name="body">Default Body</ui:insert>

</p>

</h:body>

</html>

263

Заменим во всех страницах приложения (файлы с расширением xhtml):

начальный фрагмент

<h:head>

<title> . . . </title> </h:head>

<h:body>

на

<ui:composition template="/template.xhtml"> <ui:define name="title">

<h:outputText value=" . . . "></h:outputText> </ui:define>

<ui:define name="body">

конечный фрагмент

</body>

на

</ui:define>

</ui:composition>

Здесь многоточие соответствует ранее использованному тексту заголовка

страницы.

Добавим файлстаблицейстилейjsfcrud.css впапку.../Example/web/resources/css.

Внешний вид модифицированных страниц существенно изменится в лучшую сторону.

Файл jsfcrud.css

root {

display: block;

}

body {

font-family: Arial, Helvetica, sans-serif; color: green;

background-color: #ccffff; font-size: small;

}

a {

color: blue;

}

table {

empty-cells: show;

}

form.jsfcrud_list_form th, td th { font-size: x-small;

color: #3b4c57; border-top-style: solid;

border-bottom-style: solid; border-left-style: solid; border-right-style: solid; border-top-width: 1px; border-bottom-width: 1px; border-left-width: 1px;

264

border-right-width: 1px; border-top-color: #6e828c; border-bottom-color: #6e828c; border-left-color: #6e828c; border-right-color: #6e828c; letter-spacing: 3px; text-align: left; padding-top: 6px; padding-bottom: 6px; padding-left: 6px; padding-right: 6px; background-color: #b2d5d6;

}

td {

vertical-align: top; padding-bottom: 8px; font-size: small;

}

form.jsfcrud_list_form td, td td { border-top-style: solid; border-bottom-style: solid; border-left-style: solid; border-right-style: solid; border-top-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-right-width: 1px; border-top-color: #6e828c; border-bottom-color: #6e828c; border-left-color: #6e828c; border-right-color: #6e828c; vertical-align: baseline; padding-bottom: 0px;

}

tr.jsfcrud_odd_row { background-color: #fefeff; color: #4e6a71;

}

tr.jsfcrud_even_row { background-color: #eff5fa;

color: #4e6a71;

}

#busyImage {

position: absolute; left: 50%;

top: 50%;

}

265

20.8.Защита приложения паролем

20.8.1.Регистрация пользователя на сервере

1.Запустите Administration Console, если вы еще не сделали это. Для того

чтобы запустить Administration Console, откройте окно просмотра веб и задайте URL http://localhost:4848/.

2.В дереве навигации разверните узел Configurations, затем разверните узел server-config.

3.Разверните узел Security.

4.Разверните узел Realms.

5.Выберите область file, в которую вы добавляете пользователей. Страница

Edit Realm открывается.

6.Щелкните кнопку Manage Users на странице Edit Realm. Открывается страни-

ца File Users.

7.На странице File Users сделайте щелчок по кнопке New, чтобы добавить нового пользователя к области. Открывается страница New File Realm User.

8.Занесите значения в поля User ID, Group List, New Password и Confirm New

Password. Например (рис. 20.1):

User ID

petrov

Group List

student

New Password

dfcbkbq

Confirm New Password

dfcbkbq

 

 

 

 

 

 

Рис. 20.1. Регистрация пользователя на сервере

9. Нажать кнопку ОК.

10. Выйти из консоли администратора.

266

20.8.2.Установка защиты ресурсов приложения

1.Развернуть узел web.xml и вкладку «Безопасность»

2.В узле «Настройки входа» установить режим «Основной». Ввести имя об-

ласти file.

3.В узле «Роли безопасности» добавить роль student с произвольным описанием.

4.В узле «Ограничения безопасности» нажать кнопку «Добавление ограниче-

ния безопасности» и отредактировать содержимое предложенной формы (рис. 20.2).

Отображаемое имя задаёт показываемый текст ограничения. Установить ре-

жим проверки подлинности. Задать имя роли student для контроля полномочий пользователя. Ранее это имя роли задано как принадлежность к группе. В набор (сбор)

защищаемых веб-ресурсов добавить ресурс и отредактировать форму на рис. 20.3.

Рис. 20.2 .Добавление ограничения безопасности

Рис. 20.3 Задание/изменение веб-ресурса

Имя ресурса обычно совпадает с именем приложения или его части. Шаблон

адресов содержит список защищаемых ресурсов через запятую. На рисунке приве-

ден пример защиты страницы добавления клиента некоторого условного приложения.

Защита всех страниц может быть сделана шаблоном /faces/*

5. Сохранить все сделанные изменения.

267

21. Курсовое проектирование

по дисциплине "Клиент-серверные технологии"

Задачей курсового проекта является демонстрация студентом компетенций

разработчика веб-приложений на примере небольшой информационной системы.

Стандартными компетенциями в этой области являются следующие:

1.Разработка информационной модели предметной области и ее погружение

всвязанные таблицы реляционной СУБД. Умение создавать описания нормализованных таблиц с первичными и внешними ключами, с данными наи-

более употребительных типов: числа, строки, даты, деньги.

2.Создание на основе имеющихся в БД таблиц схемы БД в среде разработки

веб-приложений, например, NetBeans.

3.Разработка интерфейсных классов сущностей, фасадов и видов, необходимых для создания страниц приложения.

4.Разработка бизнес-логики приложения и ее погружение в интерфейсные

классы.

5.Разработка страниц для отображения данных и размещения органов управления приложением.

6.Отладка приложения на веб-сервере в операционной системе Linux.

7.Развертывание веб-приложения на сервере заказчика.

8.Подготовка технической документации в соответствии с ГОСТ на примере пояснительной записки к курсовому проекту [10].

9.Публичная защита результатов проектирования перед комиссией.

Рекомендуемые задачи для курсового проектирования

Исходя из перечисленных целей курсового проектирования, студенту рекомен-

дуется выбрать предметную область, хорошо знакомую по его прошлому опыту, что-

бы быстро преодолеть проблемы первых двух требований и приступить к проектированию классов и интерфейсов приложения. Такими предметными областями могут быть учет состояния и подготовка справок по заказу пользователя небольшой группы (два–три) связанных объектов.

1.Ежедневник — перечень событий, запланированных и состоявшихся в произ-

вольный период времени.

2.Контроль выполнения работником поручений.

3.Состояние библиотеки книг, дисков и других материалов.

4.Состояние запасов расходных материалов.

5.Учет заказов на услуги сервисного предприятия.

6.Учет состава офисного оборудования на предприятии.

7.Учет посещаемости и успеваемости студентов группы.

8.Учет кадрового состава проекта.

268

Соседние файлы в папке КСТ