我想用JavaFX applet编写一些页面。我希望applet上的内容依赖于用户登录。
我知道我可以从JFX调用Web服务,但那么登录和会话呢?此外,我认为可能存在一些更好的解决方案,而不是从applet调用坐在机器applet上的Web服务。
我该怎么做?
答案 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。这应该是一种非常有趣的身份验证方法。