Flight.
java
package bean;
import [Link];
public class Flight {
private String flightID;
private String flightNameID;
private String locationID;
private String time;
private String flightClass; // 'Class' is a reserved keyword, so we use
'flightClass'
private double price;
private Date date;
private String flightName;
public String getTime() {
return time;
}
public void setTime(String time) {
[Link] = time;
}
public String getFlightName() {
return flightName;
}
public void setFlightName(String flightName) {
[Link] = flightName;
}
// Getters and Setters
public String getFlightID() {
return flightID;
}
public void setFlightID(String flightID) {
[Link] = flightID;
}
public String getFlightNameID() {
return flightNameID;
}
public void setFlightNameID(String flightNameID) {
[Link] = flightNameID;
}
public String getLocationID() {
return locationID;
}
public void setLocationID(String locationID) {
[Link] = locationID;
}
public String getFlightClass() {
return flightClass;
}
public void setFlightClass(String flightClass) {
[Link] = flightClass;
}
public double getPrice() {
return price;
}
public void setPrice(double price) {
[Link] = price;
}
public Date getDate() {
return date;
}
public void setDate(Date date) {
[Link] = date;
}
}
[Link]
package bean;
public class FlightName {
private String flightNameID;
private String typeID;
private String name;
private int totalSeats;
// Getters and Setters
public String getFlightNameID() {
return flightNameID;
}
public void setFlightNameID(String flightNameID) {
[Link] = flightNameID;
}
public String getTypeID() {
return typeID;
}
public void setTypeID(String typeID) {
[Link] = typeID;
}
public String getName() {
return name;
}
public void setName(String name) {
[Link] = name;
}
public int getTotalSeats() {
return totalSeats;
}
public void setTotalSeats(int totalSeats) {
[Link] = totalSeats;
}
}
[Link]
package bean;
public class FlightName {
private String flightNameID;
private String typeID;
private String name;
private int totalSeats;
// Getters and Setters
public String getFlightNameID() {
return flightNameID;
}
public void setFlightNameID(String flightNameID) {
[Link] = flightNameID;
}
public String getTypeID() {
return typeID;
}
public void setTypeID(String typeID) {
[Link] = typeID;
}
public String getName() {
return name;
}
public void setName(String name) {
[Link] = name;
}
public int getTotalSeats() {
return totalSeats;
}
public void setTotalSeats(int totalSeats) {
[Link] = totalSeats;
}
}
[Link]
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts
Configuration 2.3//EN"
"[Link]
<struts>
<package name="default" extends="struts-default">
<action name="searchFlight" class="[Link]"
method="execute">
<result name="success">/views/[Link]</result>
<result name="error">/views/[Link]</result>
</action>
</package>
</struts>
[Link]
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<%@ taglib uri="/struts-tags" prefix="s" %>
<!DOCTYPE html>
<html>
<head>
<title>Flight Search</title>
<link rel="stylesheet" type="text/css" href="[Link]">
</head>
<body>
<h1>Search for Flights</h1>
<form action="searchFlight" method="post">
<select name="from" id="">
<option>From:</option>
<option>Yangon</option>
<option>Mandalay</option>
<option>Naypyidaw</option>
<option>Taungoo</option>
</select>
<select name="to" id="" >
<option>To:</option>
<option>Yangon</option>
<option>Mandalay</option>
<option>Naypyidaw</option>
<option>Taungoo</option>
</select>
<select name="flightClass" id="" >
<option>Flight Class:</option>
<option>Economy Class</option>
<option>Business Class</option>
</select>
Adults<select name="adults" id="" >
<option>0</option>
<option>1</option>
<option>2</option>
<option>3</option>
<option>4</option>
<option>5</option>
</select>
Child<select name="child" id="" >
<option>0</option>
<option>1</option>
<option>2</option>
<option>3</option>
<option>4</option>
<option>5</option>
</select>
Infant<select name="infant" id="" >
<option>0</option>
<option>1</option>
<option>2</option>
<option>3</option>
<option>4</option>
<option>5</option>
</select>
<input type="date" name="date" class="book_date" id="">
<button type="submit" class="search">Search</button>
</form>
</body>
</html>
[Link]
<%@ taglib uri="/struts-tags" prefix="s" %>
<!DOCTYPE html>
<html>
<head>
<title>Flight Search Results</title>
</head>
<body>
<h2>Available Flights</h2>
<form action="selectFlight" method="post">
<table>
<thead>
<tr>
<th>Select</th>
<th>Flight Name</th>
<th>Time</th>
<th>Price</th>
</tr>
</thead>
<tbody>
<s:iterator value="flightList">
<tr>
<td>
<input type="radio" name="selectedBusID"
value="<s:property value='busID' />" required>
</td>
<td><s:property value="flightName" /></td>
<td><s:property value="time" /></td>
<td><s:property value="price" /></td>
</tr>
</s:iterator>
</tbody>
</table>
<button type="submit">Proceed to Seat Selection</button>
<input type="hidden" name="from" value="<s:property
value='#[Link]' />">
<input type="hidden" name="from" value="<s:property
value='#[Link]' />">
<input type="hidden" name="to" value="<s:property
value='#[Link]' />">
<input type="hidden" name="date" value="<s:property
value='#[Link]' />">
</form>
<a href="[Link]">Back to Flight Search</a>
</body>
</html>
SQL
DROP TABLE IF EXISTS FlightName;
CREATE TABLE FlightName (
FlightNameID VARCHAR(255) PRIMARY KEY,
TypeID VARCHAR(255),
Name VARCHAR(255),
TotalSeats INT,
FOREIGN KEY (TypeID) REFERENCES TransportType(TypeID)
);
DROP TABLE IF EXISTS Flight;
CREATE TABLE Flight (
FlightID VARCHAR(255) PRIMARY KEY,
FlightNameID VARCHAR(255),
LocationID VARCHAR(255),
Time TIME,
FlightClass VARCHAR(50), -- Economy Class, Business Class
Price DOUBLE,
Date DATE,
FOREIGN KEY (FlightNameID) REFERENCES FlightName(FlightNameID),
FOREIGN KEY (LocationID) REFERENCES Location(LocationID)
);
CREATE TABLE FlightSeat (
FlightSeatID VARCHAR(255) PRIMARY KEY,
FlightID VARCHAR(255),
SeatNo VARCHAR(10), -- A1, A2, etc.
Status VARCHAR(50), -- Available, Unavailable
FOREIGN KEY (FlightID) REFERENCES Flight(FlightID)
);
-- Insert data into FlightName
INSERT INTO FlightName (FlightNameID, TypeID, Name, TotalSeats) VALUES
('F1', 'T1', 'Myanmar Airways International', 10),
('F2', 'T1', 'Air KBZ', 10),
('F3', 'T1', 'Myanmar National Airlines', 10);
-- Insert data into Flight
INSERT INTO Flight (FlightID, FlightNameID, LocationID, Time, Class, Price,
Date) VALUES
('FL1', 'F1', 'L1', '[Link]', 'Economy Class', 150.00, '2024-07-20'),
('FL2', 'F2', 'L2', '[Link]', 'Business Class', 300.00, '2024-07-21'),
('FL3', 'F1', 'L3', '[Link]', 'Business Class', 400.00, '2024-07-22');
INSERT INTO FlightSeat (FlightSeatID, FlightID, SeatNo, Status) VALUES
('FS1', 'FL1', 'A1', 'Available'),
('FS2', 'FL1', 'A2', 'Available'),
('FS3', 'FL1', 'A3', 'Available');
('FS4', 'FL1', 'A4', 'Available');
('FS5', 'FL1', 'A5', 'Available');
('FS6', 'FL1', 'A6', 'Available');
('FS7', 'FL1', 'A7', 'Available');
('FS8', 'FL1', 'A8', 'Available');