Vous êtes sur la page 1sur 2

UNIVERSITE DU BURUNDI

FSI-TIC, Niveau Mastère 1 GI


Cours : PROGRAMMATION JAVA AVANCEE
Enseignant : Dr Audace MANIRABONA, Etudiant :……………………………………………………………………………………………

EXAMEN DU PREMIER SEMESTRE, Première Session ……. /20 pts

Consignes : Durée : 1h30


Documents non autorisés
Répondez sur le questionnaire
Bonne réussite !

I. Répondre par vrai ou faux et proposer une correction si c’est faux (On suppose avoir déjà créé InetAddres ad,
int pt pour le port et byte [] b) /4pts
a) Envoi : DatagramPacket dp=new DatagramPacket(b, b.length)
Faux: DatagramPacket dp=new DatagramPacket(b, b.length, ad, pt)
b) Envoi : DatagramSocket ds =new DatagramSocket (ad, pt)
Faux : DatagramSocket ds =new DatagramSocket ()
c) Réception : DatagramPacket dp=new DatagramPacket(b, b.length, ad, pt)
Faux : DatagramSocket dp=new DatagramPacket(b, b.length)
d) Réception : DatagramSocket ds =new DatagramSocket(b, b.length, ad, pt)
Faux: DatagramPacket dp=new DatagramSocket(pt)

II. Dans cet exercice, on veut créer une application « tout java » de gestion de documents en ligne. En effet, les
documents sont de plusieurs types et sont stockés dans une base de données. Les utilisateurs vont devoir
s’authentifier et accéder à l’application via un navigateur web. Techniquement, les documents charger dans
l’application seront d’abord stockés en local avant d’être chargés quand l’utilisateur aura définitivement soumis

Quelles technologies ou classes java à utiliser dans chacun des cas suivants : /5pts

a) Limitation de la taille du document


StringTokenizer
b) Interaction avec la base de données
Connecteur java JDBC par exemple
c) Stockage temporaire des documents localement
Collection
d) Affichage dans le navigateur web
GWT, JSF, Vaadin, etc
e) Hébergement de l’application
Apache TomCat, Jetty, Glassfish, etc

III. Dans une application client/serveur java sur TCP, donner les classes nécessaires (côté client et côté serveur)
pour l’établissement de la connexion /2pts
Client : Socket ; Serveur : ServerSocket et Socket

IV. Compléter le code ci-dessous d’une application client/serveur TCP fonctionnant sur le même ordinateur sur le
port 9999 où le client reçoit du clavier (de l’utilisateur) un nombre qu’il envoie au serveur et le serveur lui
retourne la somme de ses chiffres qui, à son tour, l’affiche. /9pts

package cours;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.net.*;
import java.io.*;
public class ClientSommeC extends JFrame implements ActionListener
{
JLabel nom;
JTextField texte;
JButton calculer;
JTextArea affiche;

ClientSommeC(String titre)
{
setTitle(titre);
nom=new JLabel("MONOM") ;
texte=new JTextField(20);
calculer=new JButton("Calculer");

calculer.addActionListener(this) ;
affiche=new JTextArea(10,20);

JPanel p=new JPanel();


p.add(texte);
p.add(calculer);

setLayout(new BorderLayout() );
add(nom,"North");
add(p,"Center");
add(affiche,"South") ;
pack();
setVisible(true);
}

public void actionPerformed(ActionEvent ae)


{
try{
Socket s=new Socket(InetAddress.getByName("localhost"),9999);

PrintWriter p=new PrintWriter(new OutputStreamWriter(s.getOutputStream()));

p.println(texte.getText());
p.flush();

BufferedReader b=new BufferedReader(new InputStreamReader(s.getInputStream()));


affiche.setText("La somme des chiffres de "+text.getText().toString()+" est "+b.readLine() );

}
catch(IOExcept e) { }
}

public static void main(String[]args)


{
new ClientSommeC(« Client ») ;
}
}
--------Fin-------

Vous aimerez peut-être aussi