Регистрация
Среда программирования: Java
Название работы: 4 лабораторные работы на языке Java. Выбранный вариант - геометрические фигуры. Классы потомки: Круг.
Вид работы: Лабораторная работа
Описание: Необходимо сделать 4 лабораторные работы на языке Java.
Лабораторная работа №1. Разработка классов на Java
Выбрать два класса объектов данных. Эти классы должны иметь как общие, так и специфичные черты (например, студент и абитуриент, ПК и ноутбук, собака и кошка). Описать класс-предок и классы потомки, в т.ч. поля, методы, конструкторы. Методы: чтение и задание полей (get и set), вычисляемые атрибуты (например вычисление возраста по дате рождения и текущей дате), toString(); equals(Object obj), hashCode(). Создать экземпляры объектов и поместить их в коллекцию. Вывести содержимое коллекции в консоль (порядковый номер, описание каждого объекта, значение его хеш-кода, номера идентичных объектов).
Лабораторная работа №2. Создание web-сайта с функциями регистрации и авторизации Java
Порядок выполнения:
1. "SimpleWebApp" Это заготовки Web-приложения. В качестве wch-cepeepa используется Jetty. Сервер работает на локальной машине по адресу 127.0.0.1:8080/
2. Запустить проект на исполнение
3. Открыть в браузере страницу 127.0.0.1:8080/index
Появится форма авторизации В системе зарегистрирован единственный пользователь (test, lest)
4. Открыть в браузере страницу 127.0.0.1:8080/authorization Если пользователь еще не проходил авторизацию. то выйдет сообщение «пользователь не авторизован», иначе отобразить данные учетной описи пользователя.
5. Открыть в браузере страницу 127.0.0.1:8080/registration.
Результат сообщение «Вызван метод doGet в классе Registration Servlet»
Лабораторная работа № 3. Работа с базой данных посредством JDBC
Порядок ознакомления:
1. Ознакомиться с JDBC: https://ru.wikipedia.org/wiki/Java_Database_Connectivity
2. Взять у преподавателя заготовки кода работы с базой данных.
3. Изучить заготовки.
Класс/Интерфейс
Описание
main.Main
Простой пример использования DBService.
dbService.DBService
Сервис, скрывающий работу с базой данных.
При создании соединяется с базой данных.
Содержит все функции, связанные с работой с ба-зой данных, которые другие компоненты системы могут попросить сделать. Вся работа с базой данных идет че-рез DBService.
DBService выполняет свою работу с помощью DAO-объектов.
dbService.DBException
Исключение, которое может выбрасывать DBService.
dbService.dao.UserProfileDAO
Data Access Object (DAO) – широко распространен-ный паттерн для сохранения объектов бизнес-области в базе данных.
В самом широком смысле, DAO – это класс, содер-жащий CRUD методы (create, read, update, delete) для конкретной сущности (в данном случае, для сущности UserProfile).
DAO решает следующие задачи:
1) получает экземпляр сущности и сохраняет его в базу данных;
2) выдает экземпляр сущности, собирая его на основе запросов к базе данных.
Для выполнения запросов DAO использует Executor.
Паттерн DAO имеет следующие преимущества:
- отделяет бизнес-логику, использующую данный паттерн, от механизмов сохранения данных и используемых ими API;
- сигнатуры методов независимы от содержимого класса-сущности. Если вы добавите поле telephoneNumber в класс-сущность UserProfile, не будет необходимости во внесении изменений в UserProfileDAO или использующих его классах.
Для DAO часто заводят интерфейс, что позволяет иметь множество различных DAO-реализаций, рабо-тающих с разными типами баз данных и/или фреймвор-ками.
dbService.executor.Executor
Экземпляр класса Executor позволяет выполнять SQL-запросы к базе данных.
Этот класс инкапсулирует такие действия как соз-дание Statement (понятие JDBC), загрузка текста запро-са в Statement, выполнение запроса, получение ResultSet (понятие JDBC), обработка ResultSet, закрытие ResultSet, закрытие Statement.
Executor позволяет скрыть детали работы с поня-тиями Statement и ResultSet.
Класс Executor содержит два метода:
- public void execUpdate(String update) – выполнение запроса на вставку, обновление и удаление;
- public <T> T execQuery(String query, ResultHandler<T> handler) – выполнение запроса на получение данных. Во входной параметр handler надо подать свой обработчик ResultSet.
dbService.executor.ResultHandler
ResultHandler<T> – интерфейс с параметром. Описывает функциональность обработчика результата выполнения запроса к базе данных.
Содержит сигнатуру одного метода:
T handle(ResultSet resultSet) – обработать ResultSet (результат выполнения запроса к БД) с целью создания объекта типа параметра T.
В качестве параметра T подставляется, например, сущность UserProfile, если SQL-запрос заключается в чтении пользовательского профиля из базы данных.
Для каждого конкретного запроса к базе данных пишется отдельная реализация ResultHandler, обычно в форме анонимного класса при вызове метода execQuery у объекта Ex-ecutor.
Порядок выполнения:
1. Установить СУБД MySQL Community Server.
2. Установить GUI-клиент MySQL Workbench.
3. С помощью MySQL Workbench создать базу данных, которая будет хранить:
– пользователей (ЛР 2);
– объекты из ЛР 1.
В БД должна быть связь о том, к какому пользователю относятся объекты из ЛР 1. Каждый пользователь на разрабатываемом сайте будет создавать и редактировать собственный набор объектов.
4. В Java-проекте, полученном в результате выполнения ЛР 2, в зависимости Maven (файл pom.xml) добавить драйвер к СУБД MySQL:
<dependency>
<groupId>mysql</groupId>
Лабораторная работа № 4. Реализация основного функционала web-приложения
Данная работа выполняется на основе результатов выполнения предыдущих лабо-
раторных работ.
Постановка задачи:
Реализовать возможность выполнения следующих действий авторизованным поль-
зователем на разрабатываемом сайте:
– создавать новые объекты (из ЛР 1);
– просматривать список всех объектов;
– редактировать атрибуты отдельного объекта;
– удалять выбранные объекты;
– производить сортировку объектов по определенным атрибутам.
Требования:
– каждый пользователь может видеть все объекты, созданные им и другими пользовате-
лями, но редактировать и удалять ему разрешено только свои объекты;
– одним из отображаемых атрибутов объекта должен быть его автор (лицо, создавшее
объект);
– все изменения объектов должны сохраняться в базе данных;
– должна быть обеспечена пагинация списка объектов (отображение на странице лишь не-
большой части большого списка с возможностью перехода на другие страницы);
– сортировка объектов должна быть реализована через Comparator; алгоритм сортировки –
любой (своя реализация или просто вызов метода стандартной библиотеки);
– обеспечение синхронизованной работы Jetty-потоков, обслуживающих одновременные
запросы пользователей, с общими данными; для этого следует добавить в свой код
synchronized-блоки и/или применить concurrent-коллекции вместо обычных;
– (упрощение) пользователь видит изменения, произведенные другими пользователями, не
мгновенно, а в результате выполнения нового запроса к серверу.
Содержимое отчета:
1. Титульный лист.
2. Постановка задачи.
3. Исходный код программы.
4. Примеры работы программы.
Год: 2017
Данный заказ (лабораторная работа) выполнялся нашим сайтом в 2017-м году, в рамках этого заказа была разработана программа в среде программирования Java. Если у Вас похожее задание на программу, которую нужно написать на Java, либо на другом языке программирования, пожалуйста заполните форму, приведённую ниже, после чего Ваше задание в первую очередь рассмотрит наш программист, выполнявший в 2017-м году этот заказ, если он откажется, то Ваше задание оценят другие наши программисты в течение 48-и часов, если оценка нужна срочно, просим Вас оставить пометку об этом - напишите в тексте задания фразу "СРОЧНЫЙ ЗАКАЗ".
Тел.: ![]() Viber: ![]() Telegram: ![]() ВКонтакте: ![]() ![]() E-mail: ![]() Skype: ![]() |