1

我想用 JavaFX 小程序写一些页面。我希望小程序上的内容依赖于登录的用户。

我知道我可以从 JFX 调用 Web 服务,但是登录和会话呢?此外,我认为对于这种通信可能存在一些比从applet 调用位于applet 来自的机器上的Web 服务更好的解决方案。

我该怎么做?

4

1 回答 1

1

您可以构建一个 servlet,它返回登录用户的名称。

然后在 javafx 中,您可以使用类 javafx.io.http.HttpRequest 调用 servlet 并读出用户名。(API 也有一些如何使用 HttpRequest 的例子)

以下 javafx 代码打印出 Servlet 的返回字符串:

var response: String;

def myRequest: HttpRequest = HttpRequest {

location: "http://localhost:8080/demo/foo.do";

method: HttpRequest.GET;

onInput: function(is: java.io.InputStream) {
    var buff: StringBuffer = new StringBuffer();

        var reader: BufferedReader

            = new BufferedReader(new InputStreamReader(is));

        var data: String;

        while ((data = reader.readLine()) != null) {

          buff.append(data);

        }

        response = buff.toString();

        reader.close();
        println(response);
}
};

myRequest.start();

编辑:您还应该看看这篇文章: http: //blogs.oracle.com/warren/entry/authenticating_a_javafx_application_using它显示了如何从驻留在文档上的小程序中访问 html 文档和 cookie。这应该是一种非常有趣的身份验证方法。

于 2009-07-14T07:07:25.203 回答