2009-07-03 121 views
1

我想用JavaFX小程序写一些页面。我想要小程序上的内容依赖于用户登录。JavaFX小程序与服务器通信

我知道我可以从JFX调用Web服务,但那么登录和会话如何?除了我认为可能存在一些比这些通信更好的解决方案,而不是从小应用程序调用坐在机器小程序上的web服务来。

我该怎么办?

+0

你可以说你的服务器端有什么?一个servlet? 我认为javafx没有什么特别之处。它正常的applet-server通信。你可以调用所需的java代码来从你的javafx进行通信 – 2009-07-03 05:58:18

+0

我不知道服务器端有什么。这个项目还没有开始:)可能我会把servlets放在那里。我知道这是普通的applet-server,但是javaFX对web服务有一些额外的支持,我只是认为它也可以用于这个applet-server通信。 – amorfis 2009-07-04 21:07:43

回答

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,它显示了如何从驻留在文档上的小程序中访问html文档和cookie。这应该是一个非常有趣的认证方法。