2011-12-05 5 views

答えて

1

それはそれを行うことはできません。

10.10.10.1のDNSエントリを追加し、IPアドレスの代わりにそのフィールドにホスト名を入れることができますが、それは単なるXMLです。コードを実行してIPアドレスを把握する方法はありません接続する必要があります。

+1

ありがとうございました。申し訳ありませんが、私が投稿した質問は非常に愚かであることに気づきました。私がしなければならなかったのは、コードベースを完全に削除して動作させることでした。私は、JAVAのドキュメントが全面にあり、それは時々私は愚かな質問をすることがわかります。 – jadrijan

+0

心配はいりません。私たちは皆、物事を違った形で見ています。明らかなことがある人は、他人に混乱しています。いつでも私に起こります。 – jefflunt

1

は(あなたが完全にサーバーアドレスの指定を回避することができます)役立つかもしれない相対アドレスに関する公式ドキュメント、を見てください:http://docs.oracle.com/javase/6/docs/technotes/guides/jweb/applet/codebase_determination.html

+0

ありがとうございました。申し訳ありませんが、私が投稿した質問は非常に愚かであることに気づきました。私がしなければならなかったのは、コードベースを完全に削除して動作させることでした。私は、JAVAのドキュメントが全面にあり、それは時々私は愚かな質問をすることがわかります。 – jadrijan

3

JNLPファイルは、静的なリソースです。そのようなことをするには、JNLPを表現するために、JSPなどの動的なサーバー側の技術を使用する必要があります。

1

通常のHTTPサーバー(Apache Web Serverなど)ではなく、Java Webコンテナ(Tomcatなど)でJNLPファイルをホストする場合、Sun https://stackoverflow.com/a/7593088/418439が提供するJNLPサーブレットを使用できます。興味深い変数は、$$ codebase、$$ site(下記のコードを参照)です。たとえば、JNLPファイル内$$サイトがホストしているマシンのIPアドレスとポートに置き換えられます(例えばhttp://10.10.10.1:8080

private String specializeJnlpTemplate(HttpServletRequest request, String respath, String jnlpTemplate) { 
    String urlprefix = getUrlPrefix(request); 
    int idx = respath.lastIndexOf('/'); // 
    String name = respath.substring(idx + 1); // Exclude/
    String codebase = respath.substring(0, idx + 1); // Include/
    jnlpTemplate = substitute(jnlpTemplate, "$$name", name); 
// fix for 5039951: Add $$hostname macro 
jnlpTemplate = substitute(jnlpTemplate, "$$hostname", 
       request.getServerName()); 
    jnlpTemplate = substitute(jnlpTemplate, "$$codebase", urlprefix + request.getContextPath() + codebase); 
    jnlpTemplate = substitute(jnlpTemplate, "$$context", urlprefix + request.getContextPath()); 
    // fix for 6256326: add $$site macro to sample jnlp servlet 
    jnlpTemplate = substitute(jnlpTemplate, "$$site", urlprefix); 
    return jnlpTemplate; 
} 
関連する問題