0

java ee/servlets で bash スクリプトを実行したい。Linux OS で tomcat 7 を使用して、Web アプリケーションに組み込みたいと考えています。

4

2 に答える 2

3
  1. スクリプトを Web アプリケーションの war ファイルのルートなどに埋め込みます。
  2. アプリケーションがデプロイされたら、ファイルへのパスを取得します。

    String scriptPath = getServletContext().getRealPath("/script.sh");

  3. ProcessBuilder クラスを使用してスクリプトを実行します。

    new ProcessBuilder("/bin/sh", scriptPath).start();

サーブレット コンテナーが war ファイルの内容を抽出しない場合、ステップ 2 が失敗する可能性があることに注意してください。この場合、クラスパスで利用可能なリソースとしてスクリプトを配置し、その内容を一時ファイルにコピーして、そこでスクリプトを実行する必要があります。

于 2012-05-28T20:47:03.527 に答える
2

Tomcat で CGI を有効にして使用する方法を検索する必要があります。

CGI (Common Gateway Interface) は、Web サーバーが外部のコンテンツ生成プログラム (CGI プログラムまたは CGI スクリプトと呼ばれることが多い) と対話する方法を定義します。

ソース: Apache Tomcat 7 ドキュメント: CGI ハウツー

于 2012-05-28T20:46:49.593 に答える