Vous êtes sur la page 1sur 5

Epreuve Java EE 

: Questions de Cours :

1) Différence Entre Java SE Et Java EE : Java est un acronyme de Java Standard Edition (Java SE) qui est utilisé pour
mieux décrire le Core Java. J2EE signifie Java 2 Entreprise Edition, ou simplement « Java EE ». Java est un langage
de programmation de haut niveau qui tire une grande partie de sa syntaxe auprès de C et C++
2) Décrire Fonctionnement de Java EE Sur Un Schéma :

Comment ça marche : Lorsqu'un utilisateur consulte un site, ce qui se passe derrière les rideaux est un simple échange entre un
client et un serveur (voir la figure suivante).

 le client : dans la plupart des cas, c'est le navigateur installé sur votre ordinateur. Retenez que ce n'est pas le seul
moyen d'accéder au web, mais c'est celui qui nous intéresse dans ce cours.

 le serveur : c'est la machine sur laquelle le site est hébergé, où les fichiers sont stockés et les pages web générées.

La communication qui s'effectue entre le client et le serveur est régie par des règles bien définies : le protocole HTTP (voir la
figure suivante). Entrons donc un peu plus dans le détail, et regardons de quoi est constitué un échange simple :

1. l'utilisateur saisit une URL dans la barre d'adresses de son navigateur ;

2. le navigateur envoie alors une requête HTTP au serveur pour lui demander la page correspondante ;

3. le serveur reçoit cette requête, l'interprète et génère alors une page web qu'il va renvoyer au client par le biais
d'une réponse HTTP ;

4. le navigateur reçoit, via cette réponse, la page web finale, qu'il affiche alors à l'utilisateur.

3) Différence Entre Un Serveur Web Et Un Serveur d’Application :

4) Format Complet Adresse URL : Une URL permet d'accéder à une ressource en ligne, tel une page de votre site web,
via une adresse unique. Les URLs des pages de votre site sont composées à partir de : l' adresse (URL) du site : par
exemple http://votresite.e-monsite.com. Suivi (si applicable) du segment (morceau) d'URL du module : par exemple
agenda
5) Définir Servlet, Et Son Package Complet : Une servlet est un programme qui s'exécute côté serveur en tant
qu'extension du serveur. Elle reçoit une requête du client, elle effectue des traitements et renvoie le résultat. La liaison
entre la servlet et le client peut être directe ou passer par un intermédiaire comme par exemple un serveur http. Les

servlets utilisent l'API Java Servlet (package  javax.servlet ). Le package javax.servlet

6) Interface Qui Devrait Implémenter Tous Les Servlets : Une servlet est une classe Java qui implémente l'interface
javax.servlet.Servlet. Cette interface définit 5 méthodes qui permettent au conteneur web de dialoguer avec la servlet :
elle encapsule ainsi les méthodes nécessaires à la communication entre le conteneur et la servlet.

7) Principe de Transmission Par Attribut : La seule différence réside dans le fait que depuis une JSP, il n'est plus
nécessaire de spécifier le content-type de la réponse HTTP ni d'y récupérer l'objet PrintWriter, comme nous l'avions
fait deux chapitres auparavant depuis notre servlet. Ceci est rendu possible grâce à l'existence d'objets implicites,

8) Balise JSP :
a. Commentaires :
b. Ecrire Un Code JAVA :
c. Ecrire Une Page HTML :
d. Directive :

Un fichier JSP est un fichier portant l'extension .jsp, contenant du code HTML ainsi que des balises spécifiques :

 balises <Servlet> permettant d'intégrer une servlet au coeur du code HTML

 balises de syntaxe JSP (il en existe quatre différentes)

Séparation entre données et logique applicative

Grâce à l'utilisation de balises, JSP permet d'intégrer facilement du code Java au sein du code HTML. L'intérêt principal de ce
mécanisme par rapport aux servlets provient de la séparation entre les données (directement codées HTML) et la logique
applicative (traitements) fournie par Java.

JSP doit ainsi être utilisé pour accèder à des composants réutilisables (servlets, JavaBeans, EJB (Enterprise JavaBeans)).

Utilisation de la balise <Servlet>

La première méthode permettant d'intégrer du contenu Java dans une page HTML consiste à utiliser la balise <Servlet> du
code HTML.

La syntaxe de la balise <Servlet> est la suivante :

<SERVLET NAME="nom_de_la_servlet"

CODE="nom_de_la_classe"

CODEBASE="URL_de_chargement"

INITPARM="valeur">
<PARAM NAME="Nom" VALUE="Valeur">

</SERVLET>

Les éléments d'une page JSP

Une page JSP peut contenir en plus du code HTML quatre types d'éléments :

 des directives : informations globales relatives à la page

 des déclarations : permettant de déclarer des méthodes et attributs

 des scriptlets : du code Java qui sera traduit en code dans la méthode service() de la servlet résultant

 des expressions : permettant d'envoyer facilement des chaînes créées dynamiquement vers le navigateur

Les commentaires JSP

Avec JSP il est possible d'ajouter des commentaires de deux façons.

 générer un commentaire visible dans le code source HTML (commentaire HTML) du client avec la syntaxe suivante :

<!-- commentaire [<%= expression %>] -->

 créer un commentaire dans le code JSP dans un but de documentation du source (non visible par le client) grâce à la
syntaxe suivante :

<%-- commentaire --%>

9) Principe de Fonctionnement Action usebean : En résumé, cette action permet de stocker un bean (nouveau ou


existant) dans une variable, qui sera identifiée par la valeur saisie dans l'attribut id. Ici, le texte qui est présent entre les
balises ne sera affiché que si un bean est bel et bien créé, autrement dit si la balise <jsp: useBean> est appelée avec
succès

Problème :

1) Page JSP : Pour ce faire, depuis votre projet Eclipse faites un clic droit sur le dossier WebContent de votre projet, puis
choisissez New > JSP File, et dans la fenêtre qui apparaît renseignez le nom de votre page JSP
2) Classe : une servlet HTTP doit hériter de la classe abstraite HttpServlet ; une servlet doit implémenter au moins une
des méthodes doXXX(), afin d'être capable de traiter une requête entrante.
3) Fichier :
4) Méthode : L'interface RequestDispatcher possède deux méthodes qui permettent le partage de contrôle de requêtes;
la première méthode forward() permet la délégation d'une requête à une autre Servlet et la deuxième
méthode include() inclut le contenu d'un fichier à une autre Servlet.
 void forward(ServletRequest request, ServletResponse response) :  cette méthode forward une requête à
partir d'une Servlet vers une autre ressource qui peu être une  Servlet, un fichier  JSP, ou un fichier HTML
présent dans  le Server.
 void include(ServletRequest request, ServletResponse response):  cette méthode va inclure le contenu
d'une ressource  (servlet, JSP page, HTML file) dans la réponse renvoyée au client. La réponse peut être ainsi
construite à partir d'un ensemble de contenus générés par divers composants web. Dans ce cas la première
Servlet conserve le contrôle.
5) Transmission : Transmettre des variables de la servlet à la JSP

public void doGet( HttpServletRequest request, HttpServletResponse response ) throws ServletException, IOException{

String message = "Transmission de variables : OK !";

request.setAttribute( "test", message );

this.getServletContext().getRequestDispatcher( "/WEB-INF/test.jsp" ).forward( request, response );

6) Etapes Communication : Pour ce faire, nous devons suivre le processus suivant : nous connecter à la base ; créer et
exécuter une requête SQL ; analyser son résultat ; fermer les différentes ressources mises en jeu

Établissement de la connexion

/* Connexion à la base de données */

String url = "jdbc:mysql://localhost:3306/bdd_sdzee";

String utilisateur = "java";

String motDePasse = "SdZ_eE";

Connection connexion = null;

try {

connexion = DriverManager.getConnection( url, utilisateur, motDePasse );

/* Ici, nous placerons nos requêtes vers la BDD */

/* ... */

} catch ( SQLException e ) {

/* Gérer les éventuelles erreurs ici */

} finally {

if ( connexion != null )

try {

/* Fermeture de la connexion */

connexion.close();

} catch ( SQLException ignore ) {

/* Si une erreur survient lors de la fermeture, il suffit de l'ignorer. */

}
L'établissement d'une connexion s'effectue à travers l'objetDriverManager. Il suffit d'appeler sa méthode
statiquegetConnection()pour récupérer un objet de typeConnection. Comme vous pouvez le voir ici, celle-ci prend en argument
l'adresse de la base de données, le nom d'utilisateur et le mot de passe associé.

7) Méthode : En parcourant cette fois la documentation de la méthode executeUpdate(), nous apprenons qu'elle retourne
un entier représentant le nombre de lignes affectées par la requête réalisée. Si par exemple vous réalisez une insertion
de données via un INSERT, cette méthode retournera 0 en cas d'échec et 1 en cas de succès. Si vous réalisez une mise
à jour via un UPDATE, cette méthode retournera le nombre de lignes mises à jour. Idem en cas d'une suppression via
un DELETE, etc.

 executeQuery(): cette méthode est dédiée à la lecture de données via une requête de typeSELECT;