View
1
Download
0
Category
Preview:
Citation preview
Annexes
Sommaire Annexe 1 : diagramme de classes des objets "métier" .............................................................................................................................. 1
Annexe 2 : La classe Zone ....................................................................................................................................................................... 3
Annexe 3 : La classe ZoneEco ................................................................................................................................................................ 4
Annexe 4 : La classe Vol ......................................................................................................................................................................... 5
Annexe 5 : Javadoc de la classe Passager ............................................................................................................................................ 9
Annexe 6 : Javadoc de la classe BilletFactory .............................................................................................................................. 11
Annexe 7 : La servlet ConnexionServlet ....................................................................................................................................... 12
Annexe 8 : La page JSP Billets.jsp ............................................................................................................................................... 13
Annexe 9 : Extraits de l’API javax.servlet.http ....................................................................................................................... 14
Classe HttpServlet ...................................................................................................................................................................... 14
Interface HttpServletRequest .................................................................................................................................................. 15
Interface HttpSession ................................................................................................................................................................... 16
Interface RequestDispatcher ..................................................................................................................................................... 16
1
Annexe 1 : diagramme de classes des objets "métier"
2
3
Annexe 2 : La classe Zone
package im2ag.airlines.com.model;
/**
* classe Zone. Représente une zone dans un Vol
*/
................................................... {
/** numéro de la place débutant la zone */
protected int noPlaceDebut;
/** nombre de places de la zone */
protected int nbrePlaces;
/** le tarif de base des billets pour cette zone */
protected double tarifBase;
protected Zone(int noPlaceDebut, int nbPlaces, double tarif) {
.................
.................
.................
}
public int getNbPlaces() {
return nbrePlaces;
}
public int getNoPlaceDebut() {
return noPlaceDebut;
}
/** @return numéro de la dernière place de la zone */
public int getNoPlaceFin() {
return noPlaceDebut + nbrePlaces - 1;
}
public double getTarifBase() {
return tarifBase;
}
/**
* calcule le supplément pour cette zone
* @return la valeur du supplément pour cette zone
*/
.................
.................
.................
/**
* calcule le le tarif de la zone
* @return la valeur du tarif pour cette zone.
*/
public double getTarif() {
.................
.................
}
@Override
public String toString() {
return "nombre de places : " + nbrePlaces + "\n" +
"n° première place : " + noPlaceDebut + "\n" +
"tarif de base : " + tarifBase;
}
}
4
Annexe 3 : La classe ZoneEco
/**
* classe ZoneEco. Représente une zone économique dans un Vol
*/
......................................................... {
....................... double SUPPLEMENT_REPAS = 20.0;
........................ double SUPPLEMENT_VIDEO_INDIV = 10.0;
/** nombre de repas servis dans cette zone */
protected int nbreRepas;
/** indique si cette zone est equipe ou non en video individuelle */
protected boolean videoIndividuelle;
public ZoneEco(...........................................................
........................ ........................ ) {
.................
.................
.................
}
public int getNbreRepas() {
return nbreRepas;
}
public boolean hasVideoIndividuelle() {
return videoIndividuelle;
}
@Override
public double getSupplement() {
.................
.................
.................
.................
.................
.................
}
/**
* Retourne un représentation textuelle de la zone sous la forme suivante
*
* Zone Economique
* nombre de places : 40
* n° première place : 64
* tarif de base : 600
* nombre de repas : 2
* video individuelle : true
*
* @return la chaîne représentant la zone
*/
@Override
public String toString() {
.................
.................
.................
.................
.................
.................
}
}
5
Annexe 4 : La classe Vol et la classe ImagAirlinesException
package im2ag.airlines.com.model;
import java.util.Date;
import java.util.Iterator;
import java.util.List;
....................................
/**
* Représent un vol
*/
public class Vol implements Iterable<Zone> {
private String numero; // le numero du vol
private Date dateDepart; // la date de départ du vol
private int duree; // la durée du vol
private Aeroport aeroportDepart; // l'aéroport de départ du vol
private Aeroport aeroportArrivee; // l'aéroport d'arrivée du vol
private List<Zone> zones; // la liste des zones dans la cabine du vol
private String places[]; // l'affectation des places
/**
* Constructeur d'un Vol
*
* @param numero le nom du vol
* @param dateDepart la date de départ du vol
* @param duree la durée du vol
* @param aeroportDepart l'aéroport de départ du vol
* @param aeroportArrivee l'aéroport d'arrivée du vol
* @param nbPlaces le nombre de places du vol
*/
public Vol(String name, Date dateDepart, int duree, Aeroport aeroportDepart,
Aeroport aeroportArrivee, int nbPlaces) {
this.numero = name;
this.dateDepart = dateDepart;
this.duree = duree;
this.aeroportArrivee = aeroportArrivee;
this.aeroportDepart = aeroportDepart;
this.places = ..................................................
this.zones = ...................................................
}
/**
* ajoute une zone à la liste des zones de l'avion
*
* @param z la zone à ajouter
*/
public void addZone(Zone z) {
zones.add(z);
}
/**@return le nombre de zones dans l'avion
*/
public int nbZone() {
return zones.size();
}
/**
* @param i le numéro de la zone à retourné
* @return la ième zone de l'avion
*/
public Zone getZone(int i) {
return zones.get(i);
}
6
/** @return un iterateur sur les zones définies sur ce vol */
@Override
public Iterator<Zone> iterator() {
return zones.iterator();
}
/** @return le nombre de places sur le vol */
public int nbPlaces() {
return places.length;
}
/** @return le nombre de places en zone économique */
public int nbPlacesEconomiques() {
.................
.................
.................
.................
.................
.................
.................
}
/**
* calcule et retourne le nombre de places en zone business
* @return le nombre de places en zone business
*/
public int nbPlacesBusiness() {
return nbPlaces() - nbPlacesEconomiques();
}
/**
* @param noPlace le numéro d'une place
* @return true si la place n'est pas attribuée, false sinon
*/
public boolean placeLibre(int noPlace) {
return places[noPlace-1] == null;
}
/**
* @param noPlace le numéro d'une place
* @return null si la place n'est pas attribuée, l'identifiant du passager sinon
*/
public String getOccupant(int noPlace) {
return places[noPlace-1];
}
/**
* retourne la zone d'une place donnée
*
* @param noPlace le numéro de la place
* @return la zone de la place, null si la zone n'existe pas (par exemple si
* noPlace > au nombre de places de l'avion)
*/
public Zone zonePlace(int noPlace) {
.................
.................
.................
.................
.................
.................
.................
.................
.................
}
7
/**
* Attribue une place à un passager
*
* @param noPlace le numéro de la place
* @param idPassager l'identifiant du passager
* @throws imag.airline.com.model.ImagAirlinesException si la place est déjà
* occupée
*/
public void attribuerPlace(int noPlace, String idPassager)
throws ImagAirlinesException {
.................
.................
.................
.................
.................
.................
.................
}
}
package im2ag.airlines.com.model;
/**
* classe d'exceptions utilisée par l'application
*/
public class ImagAirlinesException extends Exception {
public ImagAirlinesException(String mess) {
super(mess);
}
public ImagAirlinesException(String mess, Throwable cause) {
super(mess, cause);
}
}
8
9
Annexe 5 : Javadoc de la classe Passager
10
11
Annexe 6 : Javadoc de la classe et BilletFactory
12
Annexe 7 : La servlet ConnexionServlet
13
Annexe 8 : La page JSP Billets.jsp
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<jsp:useBean id=" A COMPLETER en fonction de votre réponse à 10.b"
scope=" A COMPLETER en fonction de votre réponse à 10.b"
class="im2ag.airlines.com.model.Passager" />
<%@page import="im2ag.airlines.com.model.Billet"%>
<%@page import="java.util.Iterator"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Vos billets</title>
<link rel="stylesheet" href="styles/im2agAirlines.css" />
</head>
<body>
<%-- inclusion d'un fragment JSP qui se charge d'afficher l'en tête
et la barre de navigation commune à toutes les pages du site --%>
<%@include file="jspfs/navigationBar.jspf" %>
<h1>Billets de A COMPLETER nom etprenom du passager </h1>
<ul>
A COMPLETER affiche chaque billet comme un item de la liste </ul>
</ul>
</body>
</html>
exemple d'affichage produit : (avec CSS)
exemple d'affichage produit : (sans CSS)
14
Annexe 9 : Extraits de l’API javax.servlet.http
javax.servlet.http Class HttpServlet java.lang.Object
javax.servlet.GenericServlet
javax.servlet.http.HttpServlet
All Implemented Interfaces: Serializable, Servlet, ServletConfig
public abstract class HttpServlet
extends GenericServlet
implements Serializable
Provides an abstract class to be subclassed to create an HTTP servlet suitable for a Web site. A subclass of HttpServlet
must override at least one method, usually one of these:
doGet, if the servlet supports HTTP GET requests
doPost, for HTTP POST requests
doPut, for HTTP PUT requests
doDelete, for HTTP DELETE requests
init and destroy, to manage resources that are held for the life of the servlet
getServletInfo, which the servlet uses to provide information about itself
Servlets typically run on multithreaded servers, so be aware that a servlet must handle concurrent requests and be careful
to synchronize access to shared resources. Shared resources include in-memory data such as instance or class variables
and external objects such as files, database connections, and network connections. See the Java Tutorial on Multithreaded
Programming for more information on handling multiple threads in a Java program.
Author: Various
See Also: Serialized Form
Constructor Summary
HttpServlet()
Does nothing, because this is an abstract class.
Method Summary
protected
void doDelete(HttpServletRequest req, HttpServletResponse resp)
Called by the server (via the service method) to allow a servlet to handle a DELETE request.
protected
void doGet(HttpServletRequest req, HttpServletResponse resp)
Called by the server (via the service method) to allow a servlet to handle a GET request.
protected
void doHead(HttpServletRequest req, HttpServletResponse resp)
Receives an HTTP HEAD request from the protected service method and handles the request.
protected
void doOptions(HttpServletRequest req, HttpServletResponse resp)
Called by the server (via the service method) to allow a servlet to handle a OPTIONS request.
protected
void doPost(HttpServletRequest req, HttpServletResponse resp)
Called by the server (via the service method) to allow a servlet to handle a POST request.
protected
void doPut(HttpServletRequest req, HttpServletResponse resp)
Called by the server (via the service method) to allow a servlet to handle a PUT request.
protected
void doTrace(HttpServletRequest req, HttpServletResponse resp)
Called by the server (via the service method) to allow a servlet to handle a TRACE request.
protected
long getLastModified(HttpServletRequest req)
Returns the time the HttpServletRequest object was last modified, in milliseconds since midnight January 1, 1970 GMT.
protected
void service(HttpServletRequest req, HttpServletResponse resp)
Receives standard HTTP requests from the public service method and dispatches them to the doXXX methods defined in
this class.
15
void service(ServletRequest req, ServletResponse res)
Dispatches client requests to the protected service method.
Methods inherited from class javax.servlet.GenericServlet
destroy, getInitParameter, getInitParameterNames, getServletConfig, getServletContext,
getServletInfo, getServletName, init, init, log, log
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Interface HttpServletRequest
Method Summary
Object getAttribute(String name)
Returns the value of the named attribute as an Object, or null if no attribute of the
given name exists.
Enumeration getAttributeNames()
Returns an Enumeration containing the names of the attributes available to this request.
String getCharacterEncoding()
Returns the name of the character encoding used in the body of this request.
int getContentLength()
Returns the length, in bytes, of the request body and made available by the input stream,
or -1 if the length is not known.
String getContentType()
Returns the MIME type of the body of the request, or null if the type is not known.
....
String getParameter(String name)
Returns the value of a request parameter as a String, or null if the parameter does not
exist.
Map getParameterMap()
Returns a java.util.Map of the parameters of this request.
Enumeration getParameterNames()
Returns an Enumeration of String objects containing the names of the parameters
contained in this request.
String[] getParameterValues(String name)
Returns an array of String objects containing all of the values the given request
parameter has, or null if the parameter does not exist.
String getProtocol()
Returns the name and version of the protocol the request uses in the
form protocol/majorVersion.minorVersion, for example, HTTP/1.1.
BufferedReader getReader()
Retrieves the body of the request as character data using a BufferedReader.
RequestDispatcher getRequestDispatcher(String path)
Returns a RequestDispatcher object that acts as a wrapper for the resource located at
the given path.
...
String getServerName()
Returns the host name of the server to which the request was sent.
HttpSession getSession()
16
Returns the current session associated with this request, or if the request does not have a
session, creates one.
HttpSession getSession(boolean create)
Returns the current HttpSession associated with this request or, if there is no current
session and create is true, returns a new session.
void removeAttribute(String name)
Removes an attribute from this request.
void setAttribute(String name, Object o)
Stores an attribute in this request.
Interface HttpSession
Object getAttribute(String name)
Returns the object bound with the specified name in this session, or null if no object is
bound under the name.
Enumeration getAttributeNames()
Returns an Enumeration of String objects containing the names of all the objects
bound to this session.
long getCreationTime()
Returns the time when this session was created, measured in milliseconds since
midnight January 1, 1970 GMT.
...
void invalidate()
Invalidates this session then unbinds any objects bound to it.
boolean isNew()
Returns true if the client does not yet know about the session or if the client chooses
not to join the session.
void putValue(String name, Object value)
Deprecated. As of Version 2.2, this method is replaced
by setAttribute(java.lang.String, java.lang.Object)
void removeAttribute(String name)
Removes the object bound with the specified name from this session.
void setAttribute(String name, Object value)
Binds an object to this session, using the name specified.
Interface RequestDispatcher
void forward(ServletRequest request, ServletResponse response)
Forwards a request from a servlet to another resource (servlet, JSP file, or HTML file) on the server.
void include(ServletRequest request, ServletResponse response)
Includes the content of a resource (servlet, JSP page, HTML file) in the response.
Recommended