2009-07-03 171 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。這應該是一個非常有趣的認證方法。