我有一个接受HTTP POST requests的超文本传输协议服务器,它可以很好地处理来自网络浏览器的请求。
现在,我想从使用JavaFX-2开发的客户端应用程序中发出同样的请求。请与我分享一个代码片段,足够从JavaFX-2客户端向HTTP server传递两个字符串类型参数Ex Username and Password,并处理从服务器返回的响应。
PS:因为我是JavaFX的新手,所以我想知道JavaFX中有没有什么特别的HTTP client API可用,或者它就像从现有的Java发出的任何HTTP请求一样。
发布于 2013-03-10 19:10:38
简而言之,在这种情况下,JavaFX和Java之间没有区别。使用标准Java方式发送HTTP请求。
要检索登录名和密码,可以使用PasswordField和TextField创建一个非常简单的stage。
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
https://stackoverflow.com/questions/15321515
复制相似问题