JavaFXアプレットでページを書きたいです。アプレットのコンテンツがログインしているユーザーに依存するようにします。
JFX から Web サービスを呼び出せることはわかっていますが、ログインとセッションについてはどうでしょうか。さらに、アプレットからマシン上にある Web サービスをアプレットから呼び出すよりも、このような通信のためのより良い解決策がいくつかあると思います。
どうすればいいですか?
JavaFXアプレットでページを書きたいです。アプレットのコンテンツがログインしているユーザーに依存するようにします。
JFX から Web サービスを呼び出せることはわかっていますが、ログインとセッションについてはどうでしょうか。さらに、アプレットからマシン上にある Web サービスをアプレットから呼び出すよりも、このような通信のためのより良い解決策がいくつかあると思います。
どうすればいいですか?
ログインしたユーザーの名前を返すサーブレットを作成できます。
次に、javafx でクラス javafx.io.http.HttpRequest を使用してサーブレットを呼び出し、ユーザー名を読み取ることができます。(APIには、HttpRequest の使用方法の例もいくつかあります)
次の javafx コードは、サーブレットの戻り文字列を出力します。
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 にアクセスする方法を示しています。これは、認証の非常に興味深いアプローチになるはずです。