close

Вход

Забыли?

вход по аккаунту

?

Отчет №5.1

код для вставкиСкачать
Міністерство освіти і науки України
Національний технічний університет
"Харківський політехнічний інститут"
Кафедра "Автоматизованих систем керування"
Лабораторна робота №5
з курсу "Сервис-ориентированная архитектура"
"Добавление классов сущностей и сеансовых компонентов"
Виконали: студенти групи ІФ-30А Копп А. М.
Крюков І. Д.
Перевірив: асс каф. АСУ Власенко О. М.
Харків 2013
Тема: добавление классов сущностей и сеансовых компонентов.
Цель: использовать технологии технологии Enterprise JavaBeans (EJB) и Java Persistence (JPA).
Задание
1. Добавить классы сущностей;
2. Добавить сеансовые компоненты;
3. Осуществить доступ к данным при помощи EJB.
Ход работы
Добавление классов сущностей
Был использован мастер создания классов сущностей из базы данных в среде IDE для создания классов сущностей на основе схемы nationallibrary. После выполнения вышесказанного действия был получен следующий результат:
Классы сущностей JPA созданы на основе таблиц базы
данных nationallibrary. Классы сущностей находятся в окне "Проекты", в только что созданном пакет entity. Новый блок сохранения состояния появляется в узле "Файлы настройки".
Рисунок 1 - Созданные классы сущностей JPA
Также, в файл persistence.xml было добавлено следующее свойство:
<persistence-unit name="AffableBeanPU" transaction-type="JTA">
<jta-data-source>jdbc/affablebean</jta-data-source>
<properties>
<property name="eclipselink.logging.level" value="FINEST"/>
</properties>
</persistence-unit>
Параметр протоколирования устанавливается в значение FINEST для просмотра всего вывода поставщика сохранения состояния при запуске приложения. Это позволяет увидеть запросы SQL к базе данных, используемые поставщиком сохранения состояния, и облегчает отладку.
Добавление сеансных компонентов
Для создания фасада сеанса каждого созданного класса сущностей используем мастер среды IDE "Сеансные компоненты для классов сущностей". В каждом сеансном компоненте содержаться основные методы доступа к соответствующему классу сущностей. После выполнения вышесказанного действия был получен следующий результат:
В среде IDE созданы сеансные компоненты для классов сущностей проекта. Они находятся в окне "Проекты", в только что созданном пакет sessions.
Рисунок 2 - Созданные сеансные компоненты для классов сущностей проекта.
Доступ к данным при помощи EJB
В данном разделе был удален код доступа к данным JSTL, написанный ранее для страницы "Index", страницы "Города" и страницы "Библиотеки". Вместо них были использованы методы доступа к данным сеансных компонентов, а данные теперь храняться в контекстных переменных, которые доступны из внешнего интерфейса. Также, были внесены изменения в класс ControllerServlet.
Файл index.jsp:
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<img src="${initParam.logoImagePath}" id="frontImage">
<div id="indexLeftColumn"> <div id="welcomeText"> <p>Wellcome to the National Technic Library site!</p>
</div>
</div>
<div id="indexRightColumn"> <div class="categoryBox"> <a href="libraries">
<span class="labelText">Libraries</span> </a>
<c:forEach var="library" items="${libraries}">
<p><span>${library.libraryName}</span>
</c:forEach>
</div>
<div class="categoryBox">
<a href="cities">
<span class="labelText">Cities</span>
</a> <c:forEach var="city" items="${cities}">
<p><span>${city.cityName}</span>
</c:forEach>
</div>
</div>
Файл cities.jsp:
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%--<%@taglib prefix="sql" uri="http://java.sun.com/jsp/jstl/sql"%>--%>
<p id="slogan">Cities</p>
<hr>
<%--<sql:query var="result" dataSource="jdbc/nationallibrary">
SELECT * FROM cities
</sql:query>--%>
<div id="centerColumn"> <c:forEach var="city" items="${cities}">
<div class="elementImageBox"> <span><img src="${initParam.citiesImagePath}/${city.cityImage}"></span>
</div>
<div class="elementDescriptionBox">
<span>${city.cityName}. ${city.cityDescription}</span>
</div>
</c:forEach>
</div>
Файл libraries.jsp:
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%--<%@taglib prefix="sql" uri="http://java.sun.com/jsp/jstl/sql"%>--%>
<p id="slogan">Libraries</p>
<hr>
<%--<sql:query var="result" dataSource="jdbc/nationallibrary">
SELECT * FROM libraries
</sql:query>--%>
<div id="centerColumn"> <c:forEach var="lib" items="${libraries}">
<div class="elementImageBox"> <span><img src="${initParam.librariesImagePath}/${lib.libraryImage}"></span>
</div>
<div class="elementDescriptionBox">
<span>${lib.libraryName}, ${lib.libraryAddress}, ${lib.libraryPhoneNumber}</span>
</div>
</c:forEach>
</div>
Выводы
В результате выполнения данной лабораторной работы были получены практические навыки при работе с технологиями JPA и EJB. Создан набор классов сущностей JPA, предоставляющих реализацию базы данных проектов на уровне Java. Затем в соответствии с шаблоном фасад сеанса создан набор сеансных компонентов EJB, которые расположены выше уровнем, чем классы сущностей, и предоставляют удобный доступ к ним. Также, проект NationalLibrary изменен для того, чтобы использовать новые сеансные компоненты и сущности для доступа к базе данных.
Документ
Категория
Рефераты
Просмотров
17
Размер файла
99 Кб
Теги
отчет
1/--страниц
Пожаловаться на содержимое документа