Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методпособие РП.docx
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
5 Мб
Скачать
☆

Лабораторная работа №2. Gui приложение на Java Задание

Выбрать предметную область и реализовать приложение на Java, отвечающее требованиям, перечисленным ниже.

Требования:

  1. Реализовать приложение, содержащее не менее 4х-5ти классов (агрегация, ассоциация, наследование и т.д.) ;

  2. Приложения с графическим интерфейсом должно позволять работать со справочниками: добавление, удаление, получение всего списка;

  3. Приложения с графическим интерфейсом должно позволять работать с основной таблицей: добавление, удаление, получение всего списка, пересчет какого-нибудь вычисляемого поля.

Лабораторная работа №3. Реализация Java rmi Задание

Для выбранной предметной области реализовать приложение на Java RMI, включающее три компонента:

  1. Сервер

  2. Клиент консольный

  3. Клиент с графическим интерфейсом

Которое должно отвечать требованиям, перечисленным ниже.

Требования:

  1. Реализовать приложение, содержащее не менее 4х-5ти классов (агрегация, ассоциация, наследование и т.д.) ;

  2. Приложения с графическим интерфейсом должно позволять работать со справочниками: добавление, удаление, получение всего списка;

  3. Приложения с графическим интерфейсом должно позволять работать с основной таблицей: добавление, удаление, получение всего списка, пересчет какого-нибудь вычисляемого поля.

Реализация простого приложения Java rmi (консоль)

Структура серверного приложения:

Структура клиентского приложения:

Содержимое файлов:

  1. Определение удаленного интерфейса

Message.java

package base;

import java.rmi.Remote;

import java.rmi.RemoteException;

public interface Message extends Remote{

public String getMessage() throws RemoteException;

}

  1. Реализация удаленного интерфейса

MessageImpl.java

package base;

import java.rmi.RemoteException;

import java.rmi.server.UnicastRemoteObject;

public class MessageImpl extends UnicastRemoteObject implements Message {

public MessageImpl () throws RemoteException {

}

public String getMessage() throws RemoteException {

return "Сообщение от сервера";

}

}

  1. Реализация серверного приложения

RunServer.java

package base;

import java.rmi.registry.LocateRegistry;

import java.rmi.registry.Registry;

public class RunServer {

public static void main (String[] argv) {

try {

// создание экземпляров классов для регистрации

MessageImpl message = new MessageImpl();

// создаём реестр

Registry registry = LocateRegistry.createRegistry(12345);

// регистрация классов

registry.bind("rmiTest01", message);

System.out.println ("Message Server is ready.");

} catch (Exception e) {

System.out.println ("Message Server failed: " + e);

}

}

}

  1. Реализация клиентского приложения

RunClient.java

package base;

import java.rmi.Naming;

public class RunClient {

public static void main (String[] argv) {

try {

// вызывается метод lookup класса Naming для получения удаленной ссылки на удаленный объект Message с заданным URL.

Message message = (Message)Naming.lookup("//localhost:12345/rmiTest01");

System.out.println (message.getMessage());

} catch (Exception e) {

System.out.println ("Message Client exception: " + e);

}

}

}

Результаты выполнения:

Результат запуска сервера

Результат запуска клиента: