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