Bonjour,

Cela fait quelques mois maintenant que je bosse sur la mise en place d'une applet et servlet. La communication entre l'applet et la servlet se passe nickel mais j'ai constaté que je devais améliorer la portabilité de l'applet. Jusque maintenant, j'ai toujours renseigné l'adresse de ma servlet "en dur", en indiquant le chemin complet dans l'url.
J'ai voulu changer ca en récupérant l'url de la servlet autrement mais depuis cela ne fonctionne plus du tout.

Apparemment, c'est provoqué par cette ligne dans mon code :

getAppletContext().showDocument(urlServlet);

Si je la retire, tout fonctionne bien.

Voici la méthode init() de l'applet :

public void init() {
/* Set the Nimbus look and feel */
//<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
/* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
* For details see http://download.oracle.com/javase/tu...feel/plaf.html
*/
try {
for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
if ("Nimbus".equals(info.getName())) {
javax.swing.UIManager.setLookAndFeel(info.getClassName());
break;
}
}
} catch (ClassNotFoundException ex) {
java.util.logging.Logger.getLogger(AppletFormV3.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (InstantiationException ex) {
java.util.logging.Logger.getLogger(AppletFormV3.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (IllegalAccessException ex) {
java.util.logging.Logger.getLogger(AppletFormV3.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (javax.swing.UnsupportedLookAndFeelException ex) {
java.util.logging.Logger.getLogger(AppletFormV3.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
}
//</editor-fold>

/* Create and display the applet */
try {
javax.swing.SwingUtilities.invokeAndWait(new Runnable() {
@Override
public void run() {
try {


initComponents();
resize(643, 1543);
initChampsObligatoires();

URL pageCourante= getDocumentBase();
System.out.println("getDocu = "+pageCourante);
String protocole = pageCourante.getProtocol();
String machine= pageCourante.getHost();
int port = pageCourante.getPort();

String adresseServlet = "/gestionCandidatures/InterfaceClient";
urlServlet = new URL(protocole,machine,port,adresseServlet);

getAppletContext().showDocument(urlServlet);

System.out.println("init liste Etats civils");
initListeEtatsCivils();
System.out.println("init liste politesses");
initListePolitesses();
System.out.println("init liste nationalites");
initListeNationalitesEtPaysResidence();
System.out.println("init liste competences");
initListeCompetences();
System.out.println("init liste niveaux competences");
initListeNiveauxCompetences();
System.out.println("init liste communes");
initListeCommunes();
System.out.println("init liste permis");
initListePermis();
System.out.println("init liste etudes et formations");
initListeEtudesEtFormations();
System.out.println("init liste langues disponibles");
initListeLanguesDisponibles();
System.out.println("init liste emplois");
initListeEmplois();
System.out.println("init liste sites");
initListeSites();
System.out.println("chargement liste emplois");
chargerListeSites();
System.out.println("chargement liste politesses");
chargerListePolitesses();
System.out.println("chargement liste nationalite");
chargerListeNationalitesEtPaysResidence();
System.out.println("set etat initial");
setEtatInitial();

} catch (IOException ex) {
Logger.getLogger(AppletFormV3.class.getName()).log(Level.SEVERE, null, ex);
}
}
});
} catch (Exception ex) {
ex.printStackTrace();
}
}


Et voici ce qui s'affiche dans mon browser :

Etat HTTP 500 -

type Rapport d''exception

message

description Le serveur a rencontré une erreur interne qui l''a empêché de satisfaire la requête.

exception

java.io.EOFException
java.io.ObjectInputStream$PeekInputStream.readFully(ObjectInputStream.java:2304)
java.io.ObjectInputStream$BlockDataInputStream.readShort(ObjectInputStream.java:2773)
java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:798)
java.io.ObjectInputStream.<init>(ObjectInputStream.java:298)
Servlet.InterfaceClient.processRequest(InterfaceClient.java:61)
Servlet.InterfaceClient.doGet(InterfaceClient.java:129)
javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:393)

note La trace complète de la cause mère de cette erreur est disponible dans les fichiers journaux de Apache Tomcat/7.0.35.

Si qqun a une idée pour résoudre ce problème, ca me serait hyper utile.
D'avance merci