Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Резервирование авиабилетов.docx
Скачиваний:
1
Добавлен:
27.09.2019
Размер:
241.9 Кб
Скачать
  1. Схемы экранных форм

Рис. 2 Экранная форма №1 – Страница aircrafts.jspx

Рис. 3 Экранная форма №2 – Страница flights.jspx

Рис. 4 Экранная форма №3 – Страница reservations.jspx

  1. Описание функций

Форма №1 - aircrafts.jspx разработанного приложения представлена в виде пяти последовательно размещаемых блоков (таблиц):

Таблица для вывода актуальных данных по самолетам авиакомпании. Это номер (id) и название (name) самолета, количество пассажирских мест.

  1. Структурная организация системы

Разработанное J2EE-приложение «Резервирование авибилетов» включает четыре EJB и три страницы JSF. Его структура очевидна из рисунка.

EJB Aircraft, Flights, Reservation сгенерированы на основе таблиц Aircraft (ID_Aircraft, Name_Aircraft, PassengerSeats), Flights (ID_Flights, Name_Flights, Timetable, ID_Aircraft, TicketsAvailable), Reservation (ID_Reservation, FIO_Client, ID_Flights, ReservedTickets) из БД.

  1. Реализация

Обозрение кода Aircraft.java

package model;

import java.io.Serializable;

import java.util.List;

import javax.persistence.Column;

import javax.persistence.Entity;

import javax.persistence.Id;

import javax.persistence.NamedQueries;

import javax.persistence.NamedQuery;

import javax.persistence.OneToMany;

@Entity

@NamedQueries({

@NamedQuery(name = "Aircraft.findAll", query = "select o from Aircraft o order by o.idAircraft asc")

,

@NamedQuery(name = "Aircraft.findByID", query = "select o from Aircraft o where o.idAircraft = :p_id")

})

public class Aircraft implements Serializable {

@Id

@Column(name="ID_AIRCRAFT", nullable = true)

private Double idAircraft;

@Column(name="NAME_AIRCRAFT", nullable = false)

private String nameAircraft;

@Column(nullable = false)

private Double passengerseats;

@OneToMany(mappedBy = "aircraft")

private List<Flights> flightsList;

public Aircraft() {

}

public Aircraft(Double idAircraft, String nameAircraft,

Double passengerseats) {

this.idAircraft = idAircraft;

this.nameAircraft = nameAircraft;

this.passengerseats = passengerseats;

}

public Aircraft(String nameAircraft,

Double passengerseats) {

this.nameAircraft = nameAircraft;

this.passengerseats = passengerseats;

}

public Double getIdAircraft() {

return idAircraft;

}

public void setIdAircraft(Double idAircraft) {

this.idAircraft = idAircraft;

}

public String getNameAircraft() {

return nameAircraft;

}

public void setNameAircraft(String nameAircraft) {

this.nameAircraft = nameAircraft;

}

public Double getPassengerseats() {

return passengerseats;

}

public void setPassengerseats(Double passengerseats) {

this.passengerseats = passengerseats;

}

public List<Flights> getFlightsList() {

return flightsList;

}

public void setFlightsList(List<Flights> flightsList) {

this.flightsList = flightsList;

}

public Flights addFlights(Flights flights) {

getFlightsList().add(flights);

flights.setAircraft(this);

return flights;

}

public Flights removeFlights(Flights flights) {

getFlightsList().remove(flights);

flights.setAircraft(null);

return flights;

}

}

Обозрение кода Flights.java

package model;

import java.io.Serializable;

import java.sql.Timestamp;

import java.util.List;

import javax.persistence.Column;

import javax.persistence.Entity;

import javax.persistence.Id;

import javax.persistence.JoinColumn;

import javax.persistence.ManyToOne;

import javax.persistence.NamedQueries;

import javax.persistence.NamedQuery;

import javax.persistence.OneToMany;

@Entity

@NamedQueries({

@NamedQuery(name = "Flights.findAll", query = "select o from Flights o")

})

public class Flights implements Serializable {

@Id

@Column(name="ID_FLIGHTS", nullable = false)

private Double idFlights;

@Column(name="NAME_FLIGHTS", nullable = false)

private String nameFlights;

@Column(nullable = false)

private Double price;

private Double ticketsavailable;

@Column(nullable = false)

private Timestamp timetable;

@ManyToOne

@JoinColumn(name = "ID_AIRCRAFT")

private Aircraft aircraft;

@OneToMany(mappedBy = "flights")

private List<Reservation> reservationList;

public Flights() {

}

public Flights(Aircraft aircraft, Double idFlights, String nameFlights,

Double price, Double ticketsavailable, Timestamp timetable) {

this.aircraft = aircraft;

this.idFlights = idFlights;

this.nameFlights = nameFlights;

this.price = price;

this.ticketsavailable = ticketsavailable;

this.timetable = timetable;

}

public Flights(Aircraft aircraft, String nameFlights,

Double price, Double ticketsavailable, Timestamp timetable) {

this.aircraft = aircraft;

this.nameFlights = nameFlights;

this.price = price;

this.ticketsavailable = ticketsavailable;

this.timetable = timetable;

}

public Double getIdFlights() {

return idFlights;

}

public void setIdFlights(Double idFlights) {

this.idFlights = idFlights;

}

public String getNameFlights() {

return nameFlights;

}

public void setNameFlights(String nameFlights) {

this.nameFlights = nameFlights;

}

public Double getTicketsavailable() {

return ticketsavailable;

}

public void setTicketsavailable(Double ticketsavailable) {

this.ticketsavailable = ticketsavailable;

}

public Timestamp getTimetable() {

return timetable;

}

public void setTimetable(Timestamp timetable) {

this.timetable = timetable;

}

public Double getPrice() {

return price;

}

public void setPrice(Double price) {

this.price = price;

}

public Aircraft getAircraft() {

return aircraft;

}

public void setAircraft(Aircraft aircraft) {

this.aircraft = aircraft;

}

public List<Reservation> getReservationList() {

return reservationList;

}

public void setReservationList(List<Reservation> reservationList) {

this.reservationList = reservationList;

}

public Reservation addReservation(Reservation reservation) {

getReservationList().add(reservation);

reservation.setFlights(this);

return reservation;

}

public Reservation removeReservation(Reservation reservation) {

getReservationList().remove(reservation);

reservation.setFlights(null);

return reservation;

}

}

Обозрение кода Reservation.java

package model;

import java.io.Serializable;

import javax.persistence.Column;

import javax.persistence.Entity;

import javax.persistence.Id;

import javax.persistence.JoinColumn;

import javax.persistence.ManyToOne;

import javax.persistence.NamedQueries;

import javax.persistence.NamedQuery;

@Entity

@NamedQueries({

@NamedQuery(name = "Reservation.findAll", query = "select o from Reservation o")

})

public class Reservation implements Serializable {

@Column(name="FIO_CLIENT", nullable = false)

private String fioClient;

@Id

@Column(name="ID_RESERVATION", nullable = false)

private Double idReservation;

private Double reservedtickets;

@ManyToOne

@JoinColumn(name = "ID_FLIGHTS")

private Flights flights;

public Reservation() {

}

public Reservation(String fioClient, Flights flights,

Double idReservation, Double reservedtickets) {

this.fioClient = fioClient;

this.flights = flights;

this.idReservation = idReservation;

this.reservedtickets = reservedtickets;

}

public Reservation(String fioClient, Flights flights,

Double reservedtickets) {

this.fioClient = fioClient;

this.flights = flights;

this.reservedtickets = reservedtickets;

}

public String getFioClient() {

return fioClient;

}

public void setFioClient(String fioClient) {

this.fioClient = fioClient;

}

public Double getIdReservation() {

return idReservation;

}

public void setIdReservation(Double idReservation) {

this.idReservation = idReservation;

}

public Double getReservedtickets() {

return reservedtickets;

}

public void setReservedtickets(Double reservedtickets) {

this.reservedtickets = reservedtickets;

}

public Flights getFlights() {

return flights;

}

public void setFlights(Flights flights) {

this.flights = flights;

}

}