2016-03-29 36 views
-2

問題はすでに2日間解決できません。実行可能なjarファイルがあり、ダブルクリックで実行されます。シンプルなJFrameフォーム。私はそれをウェブサイトに置く必要があるので、ウェブサイトのリンクをクリックすると自分のアプリケーション(私のjar)が実行されるはずです。サーブレットから実行可能なjarファイルを実行しています

NETBEANSで働いているので、私はGlassfishサーバーを使ったWebアプリケーションを作成しました。テキストが表示されたリンクをクリックして、だから、

<body> 
    <h4>CLick33 <a href="MyServlet">MyServlet Page</a></h4> 
</body> 

protected void processRequest(HttpServletRequest request, HttpServletResponse response) 
     throws ServletException, IOException { 
    response.setContentType("text/html;charset=UTF-8"); 
    try (PrintWriter out = response.getWriter()) { 
     /* TODO output your page here. You may use following sample code. */ 
     out.println("<h2>gdfdddddddddddddd</h2>");   

     // Runtime.getRuntime().exec("java -jar JavaApplication131.jar");   

    } 
} 

このサーブレットが指摘されたindex.htmlに:私はいくつかの行を出力MyServlet.javaを作りました。それに問題はありません。

今私は何とか私の瓶を実行する必要があります。私はサーブレットに挿入しようとしました:

Runtime.getRuntime().exec("java -jar JavaApplication131.jar"); 

いいえヘルプ。私の瓶はサーブレットクラスで更新されるか、別のjar/warに接続する必要があるようですが、どうやってそれを行うのか分かりません。

誰かが助けてくれますか?

答えて

0

質問では、サーブレットと実行可能なJARの概念を完全に誤解しています。あなたのコードで達成しようとしていることは、サーブレットコンテナのコンテキストでJARを実行することです。サーブレットコンテナのセキュリティマネージャには、外部ツールの実行に制限があるため、外部JARを実行しない可能性があります。

あなたが求めているのは、実際にユーザークライアント上でJARを実行することです。このような場合は、JARへのダウンロードリンクとその実行方法に関する指示を提供するだけです。

さらに、Webリソースからダウンロードしたデスクトップアプリケーションを起動するように特別に設計されたJava Network Launch Protocolを調べてみてください。 https://docs.oracle.com/javase/tutorial/deployment/deploymentInDepth/jnlp.html

0

私のjarをダウンロードしないようにします。私はそれをサーバーに保存し、リンクをつけて開くだけです。

多分あなたはいくつかの例を挙げることができますか?

+0

あなたは、Javaでのプログラミングの2つの全く異なる概念を混在させています。 Matthias Steinbauerがあなたに有用なリンクをくれました。 – JimHawkins

関連する問題