bonjour,

J'ai créé une applet qui communique avec un serveur Tomcat via Servlet.

J'ai ma classe principale de mon applet Applet_Test.
J'ai créé également une classe ServletMessage dont le code assez simple est le suivant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
 
package projet_applet;
 
import java.io.*;
import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;
 
public class ServletMessage extends HttpServlet{
  public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException{
    BufferedReader entree = new BufferedReader(new InputStreamReader(request.getInputStream()));
    String message = entree.readLine();
    String inverse = "";
    for (int i = message.length()-1; i>=0; i--) inverse +=message.charAt(i);
      PrintWriter sortie = new PrintWriter(response.getOutputStream(), true);
      sortie.println(inverse);
  }
}
Et dans mon applet, j'ai créé un bouton qui lance la méthode suivante (méthode qui se trouve dans la classe principale Applet_Test).
Voilà le code de la méthode appelée :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
 
class exec implements ActionListener
  {
    public void actionPerformed(ActionEvent e) {
     try {
       URL url = new URL(getDocumentBase(),"ServletMessage");
       URLConnection connexion = url.openConnection();
       connexion.setDoOutput(true);
       PrintWriter sortie = new  PrintWriter(connexion.getOutputStream(),true);
       sortie.println(t1.getText());
       BufferedReader entree = new BufferedReader(new InputStreamReader(connexion.getInputStream()));
       JOptionPane.showMessageDialog(p1,entree.readLine(),"Réponse",JOptionPane.INFORMATION_MESSAGE);
     }
     catch (IOException erreur) {
         JOptionPane.showMessageDialog(p1,"Problème pour lancer le traitement","Erreur",JOptionPane.ERROR_MESSAGE);
     }
    }
  }
Le pb est que quand je clique sur mon bouton, j'ai la popup "Problème pour lancer le traitement qui s'affiche et non la popup avec le texte entree.readLine(). En gros, il attrape le catch et non le try.

Pourquoi ?