18
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

Etant donnée la hiérarchie de classes et d’interfaces suivantelig-membres.imag.fr/genoud/ENSJAVA/M2CCI/annales/... · Shared resources include in-memory data such as instance

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Etant donnée la hiérarchie de classes et d’interfaces suivantelig-membres.imag.fr/genoud/ENSJAVA/M2CCI/annales/... · Shared resources include in-memory data such as instance

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

Page 2: Etant donnée la hiérarchie de classes et d’interfaces suivantelig-membres.imag.fr/genoud/ENSJAVA/M2CCI/annales/... · Shared resources include in-memory data such as instance
Page 3: Etant donnée la hiérarchie de classes et d’interfaces suivantelig-membres.imag.fr/genoud/ENSJAVA/M2CCI/annales/... · Shared resources include in-memory data such as instance

1

Annexe 1 : diagramme de classes des objets "métier"

Page 4: Etant donnée la hiérarchie de classes et d’interfaces suivantelig-membres.imag.fr/genoud/ENSJAVA/M2CCI/annales/... · Shared resources include in-memory data such as instance

2

Page 5: Etant donnée la hiérarchie de classes et d’interfaces suivantelig-membres.imag.fr/genoud/ENSJAVA/M2CCI/annales/... · Shared resources include in-memory data such as instance

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;

}

}

Page 6: Etant donnée la hiérarchie de classes et d’interfaces suivantelig-membres.imag.fr/genoud/ENSJAVA/M2CCI/annales/... · Shared resources include in-memory data such as instance

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() {

.................

.................

.................

.................

.................

.................

}

}

Page 7: Etant donnée la hiérarchie de classes et d’interfaces suivantelig-membres.imag.fr/genoud/ENSJAVA/M2CCI/annales/... · Shared resources include in-memory data such as instance

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);

}

Page 8: Etant donnée la hiérarchie de classes et d’interfaces suivantelig-membres.imag.fr/genoud/ENSJAVA/M2CCI/annales/... · Shared resources include in-memory data such as instance

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) {

.................

.................

.................

.................

.................

.................

.................

.................

.................

}

Page 9: Etant donnée la hiérarchie de classes et d’interfaces suivantelig-membres.imag.fr/genoud/ENSJAVA/M2CCI/annales/... · Shared resources include in-memory data such as instance

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);

}

}

Page 10: Etant donnée la hiérarchie de classes et d’interfaces suivantelig-membres.imag.fr/genoud/ENSJAVA/M2CCI/annales/... · Shared resources include in-memory data such as instance

8

Page 11: Etant donnée la hiérarchie de classes et d’interfaces suivantelig-membres.imag.fr/genoud/ENSJAVA/M2CCI/annales/... · Shared resources include in-memory data such as instance

9

Annexe 5 : Javadoc de la classe Passager

Page 12: Etant donnée la hiérarchie de classes et d’interfaces suivantelig-membres.imag.fr/genoud/ENSJAVA/M2CCI/annales/... · Shared resources include in-memory data such as instance

10

Page 13: Etant donnée la hiérarchie de classes et d’interfaces suivantelig-membres.imag.fr/genoud/ENSJAVA/M2CCI/annales/... · Shared resources include in-memory data such as instance

11

Annexe 6 : Javadoc de la classe et BilletFactory

Page 14: Etant donnée la hiérarchie de classes et d’interfaces suivantelig-membres.imag.fr/genoud/ENSJAVA/M2CCI/annales/... · Shared resources include in-memory data such as instance

12

Annexe 7 : La servlet ConnexionServlet

Page 15: Etant donnée la hiérarchie de classes et d’interfaces suivantelig-membres.imag.fr/genoud/ENSJAVA/M2CCI/annales/... · Shared resources include in-memory data such as instance

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)

Page 16: Etant donnée la hiérarchie de classes et d’interfaces suivantelig-membres.imag.fr/genoud/ENSJAVA/M2CCI/annales/... · Shared resources include in-memory data such as instance

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.

Page 17: Etant donnée la hiérarchie de classes et d’interfaces suivantelig-membres.imag.fr/genoud/ENSJAVA/M2CCI/annales/... · Shared resources include in-memory data such as instance

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()

Page 18: Etant donnée la hiérarchie de classes et d’interfaces suivantelig-membres.imag.fr/genoud/ENSJAVA/M2CCI/annales/... · Shared resources include in-memory data such as instance

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.