L'appel d'une Servlet à partir d'une application Java

Je veux appeler une Servlet à partir d'une application Java. Le problème, c'est que l'appel ne semble pas atteindre la Servlet. Je n'ai pas d'erreur, mais n'atteignent pas la première sortie "doPost" dans la Servlet. Si j'ouvre l'URL dans un navigateur web, je me suis bien - sûr, l'erreur que se n'est pas pris en charge, etc., mais au moins je vois qu'il se passe quelque chose.

J'utilise le code suivant (le ActionPackage classe ne détient qu'un Vecteur de paramètres et est Sérialisable):

Application Java:

    ActionPackage p = new ActionPackage();
    p.addParameter("TEST", "VALUE");

    System.out.println(p);

    URL gwtServlet = null;
    try {
        gwtServlet = new URL("http://localhost:8888/app/PushServlet");
        HttpURLConnection servletConnection = (HttpURLConnection) gwtServlet.openConnection();
        servletConnection.setRequestMethod("POST");
        servletConnection.setDoOutput(true);

        ObjectOutputStream objOut = new ObjectOutputStream(servletConnection.getOutputStream());
        objOut.writeObject(p);
        objOut.flush();
        objOut.close();

    } catch (MalformedURLException e) {
        //TODO Auto-generated catch block
        e.printStackTrace();
    } catch (IOException e) {
        //TODO Auto-generated catch block
        e.printStackTrace();
    }
}

Servlet:

public class PushServlet extends HttpServlet {

public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    System.out.println("doPost");
    ObjectInputStream objIn = new ObjectInputStream(request.getInputStream());

    ActionPackage p = null;
    try {
        p = (ActionPackage) objIn.readObject();

    } catch (ClassNotFoundException e) {
        e.printStackTrace();
    }

    System.out.println("Servlet received p: "+p);       
}

}

Toutes les idées ce qui n'allait pas?

Grâce.

Mannequin en place une page de formulaire qui envoie les PushServlet à l'aide de <FORM METHOD="POST" ACTION="http://localhost:8888/app/PushServlet">. Je crois que même un fichier HTML local serait de travailler aussi longtemps qu'il le soumet à la servlet à l'URL correcte.

OriginalL'auteur IceJava | 2010-12-03