3

我有一个接受的 HTTP 服务器HTTP POST requests,它对于从网络浏览器发出的请求工作得很好。

现在,我想从使用JavaFX-2. 请分享一个代码片段,足以将两个字符串类型参数 ExUsername and PasswordJavaFX-2客户端传递到 HTTP 服务器并处理来自服务器的响应。

PS:由于我是新手,所以我JavaFX只是想知道 JavaFX 中是否有任何特殊的 HTTP 客户端 API 可用,或者它就像从现有 Java API 发出的任何 HTTP 请求一样。

4

1 回答 1

1

简短的回答——在这种情况下,JavaFX 和 Java 没有区别。使用标准的 Java 方式发送 HTTP 请求。

要检索登录名和密码,您可以使用 PasswordField 和 TextField 创建一个非常简单的阶段。

JFX 场景的代码(非常简单):

@Override
public void start(Stage stage) throws Exception {
    final TextField tf = new TextField();
    final PasswordField pf = new PasswordField();
    Button b = new Button("post");
    b.setOnAction(new EventHandler<ActionEvent>() {
        @Override
        public void handle(ActionEvent t) {
            //Run a separate thread for posting and getting an answer.
            new Thread(new Runnable() {
                @Override
                public void run() {
                    String login = tf.getText();
                    String pswd = pf.getText();

                    //Do post (read, from link below)

                    //Update of fragment from that article about POST in Java:
                    if (entity != null) {
                        InputStream instream = entity.getContent();
                        try {
                            //If you need to update of UI here, use Platform.runLater(Runnable);
                        } finally {
                            instream.close();
                        }
                    }
                }
            }).start();

            //Erase pswd, if needed
        }
    });
    stage.setScene(new Scene(new VBox(tf, pf, b), 300, 300));
    stage.show();
}

关于如何发帖,你可以在这里阅读:用 Java 发送 HTTP POST 请求

于 2013-03-10T11:10:37.623 回答