JavaFX applet与服务器通信

时间:2009-07-03 00:04:01

标签: web-services client-server javafx

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

我知道我可以从JFX调用Web服务,但那么登录和会话呢?此外,我认为可能存在一些更好的解决方案,而不是从applet调用坐在机器applet上的Web服务。

我该怎么做?

1 个答案:

答案 0 :(得分:1)

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

然后在javafx中,您可以使用类javafx.io.http.HttpRequest来调用servlet并读出用户名。 (API也有一些examples如何使用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,它展示了如何从位于文档中的applet中访问html文档和cookie。这应该是一种非常有趣的身份验证方法。