OVH Cloud OVH Cloud

Applet SVP

1 réponse
Avatar
Romeo
Bonjour,

je n'arrive pas a faire communiquer une applet et une servlet (j'utilise
Tomcat 5)

Voici ce que fait mon applet:

public Vector Request(Vector data) {
Vector v=new Vector();

try {
String loc=getCodeBase()+"KServlet";
URL servlet=new URL(loc);
URLConnection sConn=servlet.openConnection();

sConn.setDoInput(true);
sConn.setDoOutput(true);
sConn.setUseCaches(false);
sConn.setDefaultUseCaches(false);

sConn.setRequestProperty("Content-Type","application/octet-stream");

ObjectOutputStream out=new
ObjectOutputStream(sConn.getOutputStream());
out.writeObject(data);
out.flush();
out.close();

ObjectInputStream in=new
ObjectInputStream(sConn.getInputStream());
v=(Vector) in.readObject();
in.close();
}
catch (Exception e) {System.out.println(e.getMessage());}

return v;
}


Voici ma servlet:

public class KServlet extends HttpServlet {

public void doPost(HttpServletRequest req, HttpServletResponse resp)
throws IOException,ServletException {
System.out.println("test0");

try {
// Réception d'un objet
ObjectInputStream in=new
ObjectInputStream(req.getInputStream());
Vector v=(Vector) in.readObject();
in.close();

// Préparation des données à renvoyer
resp.setContentType("application/octet-stream");
ObjectOutputStream out=new
ObjectOutputStream(resp.getOutputStream());

BD base = new BD(); // Connexion à la DB

if (((String) v.elementAt(0)).compareTo("liste")==0){
v = base.Ville();
System.out.println("test2");
}

// Envoi des données à l'applet
out.writeObject(v);
out.flush();
out.close();
base.DBClose ();}
}
catch (ClassNotFoundException e) {}
}
}


La servlet ne fait aucun des System.out.println
et le catch (Exception e) {System.out.println(e.getMessage());} de l'applet
me renvoi:
http://127.0.0.1:8080/K/html/KServlet

Que dois-je faire ?

Merci

1 réponse

Avatar
Olivier Demaine
"Romeo" a écrit dans le message news:
c50grj$o1k$
Bonjour,

je n'arrive pas a faire communiquer une applet et une servlet (j'utilise
Tomcat 5)

Voici ce que fait mon applet:

public Vector Request(Vector data) {
Vector v=new Vector();

try {
String loc=getCodeBase()+"KServlet";
URL servlet=new URL(loc);
URLConnection sConn=servlet.openConnection();

sConn.setDoInput(true);
sConn.setDoOutput(true);
sConn.setUseCaches(false);
sConn.setDefaultUseCaches(false);

sConn.setRequestProperty("Content-Type","application/octet-stream");

ObjectOutputStream out=new
ObjectOutputStream(sConn.getOutputStream());
out.writeObject(data);
out.flush();
out.close();

ObjectInputStream in=new
ObjectInputStream(sConn.getInputStream());
v=(Vector) in.readObject();
in.close();
}
catch (Exception e) {System.out.println(e.getMessage());}

return v;
}


Voici ma servlet:

public class KServlet extends HttpServlet {

public void doPost(HttpServletRequest req, HttpServletResponse resp)
throws IOException,ServletException {
System.out.println("test0");

try {
// Réception d'un objet
ObjectInputStream in=new
ObjectInputStream(req.getInputStream());
Vector v=(Vector) in.readObject();
in.close();

// Préparation des données à renvoyer
resp.setContentType("application/octet-stream");
ObjectOutputStream out=new
ObjectOutputStream(resp.getOutputStream());

BD base = new BD(); // Connexion à la DB

if (((String) v.elementAt(0)).compareTo("liste")==0){
v = base.Ville();
System.out.println("test2");
}

// Envoi des données à l'applet
out.writeObject(v);
out.flush();
out.close();
base.DBClose ();}
}
catch (ClassNotFoundException e) {}
}
}


La servlet ne fait aucun des System.out.println
et le catch (Exception e) {System.out.println(e.getMessage());} de
l'applet

me renvoi:
http://127.0.0.1:8080/K/html/KServlet



tu es sur de ton URL appelée depuis la servlet ?
tu peut essayer en vrac :
- surcharger la méthode init de la servlet avec un System.out, pour voir
si elle est réelement appelée
- lancer la servlet depuis un navigateur
- remplacer la méthode doPost par la méthode service

Olivier