8
5/16/2018 1AtelierIntroJ2EE-slidepdf.com http://slidepdf.com/reader/full/1-atelier-intro-j2ee 1/8  Atelier 1  Introduction aux technologies Java EE

1 Atelier Intro J2EE

Embed Size (px)

Citation preview

Page 1: 1 Atelier Intro J2EE

5/16/2018 1 Atelier Intro J2EE - slidepdf.com

http://slidepdf.com/reader/full/1-atelier-intro-j2ee 1/8

 

Atelier 1 

Introduction aux technologiesJava EE

Page 2: 1 Atelier Intro J2EE

5/16/2018 1 Atelier Intro J2EE - slidepdf.com

http://slidepdf.com/reader/full/1-atelier-intro-j2ee 2/8

 

 Atelier 1 – Introduction à la Java EE Page :2/8 

Activité 1 : Concepts et Terminologie

1. Java a-t-il été initialement introduit par MicroSoft, Sun, ou Borland ?

…………………………………………………………………………………………………

2. Java est il un langage interprété ou compilé ?………………………………………………………………………………………………

3. Définir les termes suivants :

•  JDK : ………………………………………………………………………….

•  JRE : …………………………………………………………………………..

•  JVM : ………………………………………………………………………….

•  Bytecode : ………………………………………………………………..

•  API : …………………………………………………………………………..

  IDE : …………………………………………………………………………..4. Java est un langage portable. Expliquer ce propos.

………………………………………………………………………………………………

5. Enumérer quelques packages de l’API de Java.

…………………………………………………………………………………….…

6. En quelle année J2EE était né ? : ……………………………………………..

7. Quelle est l’instance qui gère les standards J2EE ? : …………………………

8. Citer trois serveurs d’applications J2EE : ……………………………………………..

………………………………………………………………………………………………

9. Tomcat est un serveur d’applications J2EE et pourquoi ? : ………………..……..………

10. Quel est le niveau de version de la J2EE actuellement (décembre 2007) …................

11. L’infrastructure JDBC fait-elle partie de J2SE ou de J2EE ? : ………….……………….

12. L’infrastructure RMI fait-elle partie de J2SE ou de J2EE ? : …………………………….

13. L’infrastructure JNDI fait-elle partie de J2SE ou de J2EE ? : …………………………….

14. Quel est l’objectif du service JMS de la J2EE ? : …………………….……………………

15. Quel est l’objectif du service JAAS de la J2EE ? : …………………………………………

16. Quel est l’objectif du service JTS de la J2EE? : ……………………………………………

Page 3: 1 Atelier Intro J2EE

5/16/2018 1 Atelier Intro J2EE - slidepdf.com

http://slidepdf.com/reader/full/1-atelier-intro-j2ee 3/8

 

Atelier 1 – Introduction à Java et à la Java EE Page : 3/8

Activité 2 : Parcours de l’arborescence du J2SDK et de la

documentation

1. En mode explorateur Windows, se déplacer vers votre répertoire d’installation du

J2SDK, puis aller au sous répertoire bin. Explorer le contenu de ce réperoitre

a. Lancer une fenêtre de commande DOS Shell et y exécuter la commande java –version afin d’afficher la version de votre machine virtuelle

2. Explorer le contenu du répertoire docs qui se trouve directement sous la racined’installation du J2SDK. Cliquer sur  index.html et naviguer dans ladocumentation. Suivre l’hyperlien menant à la documentation de l’API et afficher ladocumentation de la classe Date qui se trouve sous le package java.util.

Activité 3 : Prise en main de l'IDE Eclipse SDK

1. Lancer l’IDE Eclipse SDK et y créer un projet Java, le nommer par exempleMonProjetBienvenue 

2. Ajouter une classe au projet et la nommer par exemple Bienvenue, cocher la casevous permettant de gérér la méthode main. Compléter dans l’éditeur la méthodemain() de façon à avoir la structure du code suivante :

class Bienvenue {

public static void main( String st[]) {

System.out.println( "Bienvenue dans le monde Java ");

} // fin de la méthode main()

} // Fin de la classe Bienvenue 

3. Lancer l’exécution du programme à partir de Eclipse, puis le faire à partir d’unefenêtre DOS Shell.

4. Editer dans le même projet le programme suivant permettant d’afficher la dated’aujourd’hui

import java.util.*;

class AfficheDate {

public static void main (String st[]) {Date d = new Date();

System.out.println( "Nous sommes le : " +d.getDate()+ " / " // Jour du mois

+ (d.getMonth()+1) +" / " // Le mois

+ (d.getYear()+1900) ); // L’année

} //Fin du main()

} // fin de la classe AfficheDate

Page 4: 1 Atelier Intro J2EE

5/16/2018 1 Atelier Intro J2EE - slidepdf.com

http://slidepdf.com/reader/full/1-atelier-intro-j2ee 4/8

 

Atelier 1 – Introduction à Java et à la Java EE Page : 4/8

Activité 4 : Développement d'un composant DAO

1. Créer la base de données MySQL BanqueDB contenant une seule table appeléeCompte et écrire un petit programme de test JDBC "plat" permettant d'afficher toutes les

lignes de la base.

Voici le script SQL de création de la base de données :

CREATE database BanqueDB;

USE BanqueDB;

CREATE TABLE compte` (

`Numéro` varchar(10) NOT NULL default '',

`Propriétaire` varchar(20) default NULL,

`Solde` float default NULL,

PRIMARY KEY (`Numéro`)

) TYPE=MyISAM ;

insert into compte` (`Numéro`,`Propriétaire`,`Solde`) values ( '100','James Gosling','100');

insert into compte` (`Numéro`,`Propriétaire`,`Solde ) values ( '200','Linus Torvalds','200');

insert into compte` (`Numéro`,`Propriétaire`,`Solde ) values ( '300','Grady Booch','300');

insert into compte` (`Numéro`,`Propriétaire`,`Solde`) values ( '400','Gavin King','400');

insert into compte` (`Numéro`,`Propriétaire`,`Solde`) values ( '500','Eric Fleury','500');

insert into compte` (`Numéro`,`Propriétaire`,`Solde`) values ( '600','Karim Djafaar','600');

Voici le programme Java qui liste le contenu de la table Compte. N'oubliez pas derajouter le jar du pilote dans le "Build Path" de votre projet :

 package com.sagem.jdbc_plat;

import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.Statement;

 public class MonExempleJDBC_MysQL {

 public static void main(String[] args) {String url = "jdbc:mysql://localhost:3306/BanqueDB" ;String user = "root";String passwd = "";

try {// Etpe 1 – Chargement du driverClass.forName("com.mysql.jdbc.Driver");// Etape 2 Connection sur la base de donnéesConnection con=DriverManager.getConnection(url,user,passwd);

// Etape 3 – Création du curseur Statement Statement stmt = con.createStatement();// Etape 4 – Exécution de la requête ResultSet rs = stmt.executeQuery("Select * from compte ");// Etape 5 – Exploitation des résultats 

 while (rs.next()) {String resultat1 = rs.getString("Numéro");

String resultat2 = rs.getString("Propriétaire");float resultat3 = rs.getFloat("Solde");

Page 5: 1 Atelier Intro J2EE

5/16/2018 1 Atelier Intro J2EE - slidepdf.com

http://slidepdf.com/reader/full/1-atelier-intro-j2ee 5/8

 

Atelier 1 – Introduction à Java et à la Java EE Page : 5/8

System.out.println(resultat1 + " " + resultat2 + " " +resultat3);

}// Etape 6- Fermeture des flots mémoire rs.close();stmt.close();

con.close();} // terminer le try catch (Exception e) {

System.out.println(" Attention l'exception : " + e + "estarrivée");

} // fin de la capture de l'exception } //Fin du main()} //Fin de la classe

2. Créer un projet Java MonProjet_DAO_Compte et définir d'abord l'interface du DAOpuis une implémentation JDBC. Définir l'objet DTO Compte. Utiliser les outils deRefactoring de Eclipse pour générer automatiquement les constructeurs, les setters etles getters.

Voici l'interface de l'objet DAO package com.sagem.dao;

import java.util.List;

 public interface CompteDAO {

 public List <Compte> getAllComptes () ; public int addCompte(Compte c); public Compte findCompteByNuméro(String numéro);}

Voici un extrait de l'implémentation JDBC de cette interface ; Récupérer la totalité del'implémentation à partir des ressources de la formation. Revoir égalementl'implémentation de cette interface avec des collections typées Java 5.

 package com.sagem.dao;

import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;import java.util.List;import java.util.Vector;

 public class CompteDAOImpl implements CompteDAO {

Connection connection = null;;

 protected Connection getConnected() { .. } //Code incomplet protected  void releaseConnection() {..} //Code incomplet public int addCompte(Compte c) {..} //Code incomplet

 public Compte findCompteByNuméro(String numéro) {.. } public List<Compte> getAllComptes() {

connection = getConnected();List<Compte> resultat = new Vector<Compte>();

try {Statement stmt = connection.createStatement();

Page 6: 1 Atelier Intro J2EE

5/16/2018 1 Atelier Intro J2EE - slidepdf.com

http://slidepdf.com/reader/full/1-atelier-intro-j2ee 6/8

 

Atelier 1 – Introduction à Java et à la Java EE Page : 6/8

ResultSet rs = stmt.executeQuery("Select * from compte"); while (rs.next()) {

resultat.add( new Compte(rs.getString("Numéro"),

rs.getString("Propriétaire"),rs.getFloat("Solde")));

}rs.close();

stmt.close();} catch (SQLException e) {

System.out.println(" Attention Exception lors del'excéution de la requête : "+ e);

} finally {releaseConnection();

}return resultat;

}}

Voici un exemple de code du DTO Compte. package com.sagem.dao;

 public class Compte { private String numéro; private String propriétaire; private float solde;

 public Compte(String numéro, String propriétaire, float solde){this.numéro = numéro;this.propriétaire = propriétaire;this.solde = solde;

}

 public String getNuméro() {return numéro; } public void setNuméro(String numéro) {this.numéro = numéro;} public String getPropriétaire(){return propriétaire;} public void setPropriétaire(String propriétaire) {

this.propriétaire = propriétaire;} public float getSolde() {return solde;} public void setSolde(float solde) {this.solde = solde;} public String toString() {

return " Je suis le compte: "+numéro+" - J'appartiens à : "+ propriétaire+" - et mon solde est : "+solde;

}}

Compiler le projet du composant DAO et l'exporter en tant que Jar file.

3. Créer un projet Java MonProjet_DAO_Client. Rajouter dans le "Build Path" de ceprojet le Jar du composant DAO. Ecrire un programme client autonome, illustrantl'utilisation des services offerts par le composant DAO.

 package com.sagem.clientsDAO;

import java.util.List;

import com.sagem.dao.Compte;import com.sagem.dao.CompteDAO;

Page 7: 1 Atelier Intro J2EE

5/16/2018 1 Atelier Intro J2EE - slidepdf.com

http://slidepdf.com/reader/full/1-atelier-intro-j2ee 7/8

 

Atelier 1 – Introduction à Java et à la Java EE Page : 7/8

import com.sagem.dao.CompteDAOImpl;

 public class MonExempleClient_ADO {

 public static void main(String[] args) {

CompteDAO monDAO = new CompteDAOImpl();System.out.println("Affichage de tous les comptes ");

List<Compte> resultat = monDAO.getAllComptes();

for (Compte c : resultat) //Enhanced for de Java 5 System.out.println(c);

System.out.println("Insertion d'un nouvel élément ");monDAO.addCompte(new Compte("900", "Ahmed Hajji", 900));

System.out.println("Affichage après insertion ");for (Compte c : monDAO.getAllComptes())

System.out.println(c);System.out.println("Affichage du résultat du finder ");System.out.println(monDAO.findCompteByNuméro( "200"));}

}

Activité 5 : Une application Web utilisant le DAO

1. Vérifier si le conteneur Web Jakarta Tomcat 6 est installé, sinon le faire en décompressant

l'archive installable sur la racine C:\ par exemple. Positionner les deux variablesd'environnement CATALINA_HOME et JAVA_HOME de manière à ce qu'elles pointentrespectivement le répertoire d'installation de Tomcat le répertoire d'installation du J2SDK.

Déclarer Tomcat sous Eclipse WTP en développant le Menu Window, puis Preferences, puisl'option Server et Installed Runtimes.

2. Créer un projet Web dynamique MonProjet_Web_Client_DAO, et y rajouter une pageJSP JSPComptes.jsp invoquant les services de l'objet DAO. Référencer le JAR du

Page 8: 1 Atelier Intro J2EE

5/16/2018 1 Atelier Intro J2EE - slidepdf.com

http://slidepdf.com/reader/full/1-atelier-intro-j2ee 8/8

 

Atelier 1 – Introduction à Java et à la Java EE Page : 8/8

composant DAO à partir de l'option J2EE Module Dependencies des propriétés duprojet.

Voici un exemple simple de contenu de la page JSPComptes.jsp.<%@ page language="java" contentType="text/html; charset=ISO-8859-1" 

pageEncoding="ISO-8859-1" %> <%@page import="com.sagem.dao.CompteDAO"%> <%@page import="com.sagem.dao.CompteDAOImpl"%> <%@page import="java.util.List"%> <%@page import="com.sagem.dao.Compte"%> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> 

<title>Insert title here</title> </head> <body> 

<h1> Voici la liste des Comptes </h1> <% CompteDAO dao = new CompteDAOImpl();

List<Compte> resultat = dao.getAllComptes();

for (Compte iter : resultat)out.print("<LI>"+ iter);

%> </body>

</html>