サーバーで実行されているJavaサーブレットと、同じサーバーにある「exeファイル」があります。
クライアントがサーブレットにパラメータを渡したことに応答して、サーバー上にあるexeファイルを実行し、スクリーンショットを含めてクライアントに表示したい
何か案は??!!助けてください
Process
およびRuntime
クラスを使用できます
例:
Runtime r = Runtime.getRuntime();
Process p = r.getRuntime().exec("C:\\newfolder\\run.exe");
スクリーンショットを撮る方法については、Java で sc を取得する方法を参照してください。
このようにして、画像を保存し、この画像をユーザーに送信できます。
イメージをクライアントに送信するには、サーバーからクライアントにファイルを送信する方法を参照してください。
これらは、ピースです。それらを組み合わせる必要があります。
UPDATE 1:使用できるexeをp.destroy()
強制終了します(プロセスを強制的に強制終了するため、適切な実装ではありません)
UPDATE2 :プロセス(exeを実行している)を確認するため、exeが実行されているかどうかを確認するには、プロセスが実行されているかどうかを確認する方法を参照できます
次のコードを使用して、Java で外部コマンドを実行できます。
Process p = Runtime.getRuntime().exec("your_external_program_here");
パラメータを渡すこともできます。上記の行を修正して、プログラムに渡したいパラメータを含めます。
プロセスの「出力」を取得するには、プロセスの入力ストリームを取得する必要があります。
InputStream output = p.getInputStream();
入力ストリームは、プロセスのパイプ出力であることに注意してください。次に、次のようにコンテンツを表示できます (バッファリングされたリーダーを使用することをお勧めします)。
String line;
BufferedReader reader = new BufferedReader(new InputStreamReader(output));
while ((line = reader.readLine()) != null) { ... }
または、代わりに、使いやすいProcessBuilderを見ることができます:)