如何从JavaFX客户端发起HTTP发布请求

问题描述:

在服务器端,我已经使用了JSP代码的版本来处理HTTP发布请求,它接受通过我们浏览器发送的HTML参数的工作很好。如何从JavaFX客户端发起HTTP发布请求

请指出解决方案只是将两个字符串类型的数据,即用户名和密码从JavaFX客户端传递到Web-Server。

简短的回答 - 在这种情况下,JavaFX和Java没有区别。使用standart 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(); 
} 

关于如何做一个帖子,你可以在这里阅读:Sending HTTP POST Request In Java

+0

是亚历克斯,你的答案首先感谢名单,其次,我不知道如何“从Java的HTTP发布” – 2013-03-10 11:23:17

+0

更新后的文章与链接和应用程序 – 2013-03-10 11:30:54