1

コマンドラインから webapp の Java クラスにアクセスできるようにするコードを作成するにはどうすればよいでしょうか。

たとえば、コマンド ライン インターフェイスを備えた Java クラスがあり、webapp のコンテキストでコードを実行したり、DB にアクセスしたりできます。Tomcat で WARred アプリをホストしているマシンにログオンし、対話できるようにしたいです。

どこから探し始めるべきですか?

ありがとう

4

2 に答える 2

4

たまたまWARにバンドルされているクラスファイルを実行したいだけですか、それとも実際に実行中のWARインスタンスと対話したいですか?前者の場合、WARは通常のJarファイルであり、他のJarファイルと同じようにその中でクラスを実行できます。

実行中のWARと対話する場合は、JMXを確認することをお勧めします。

現在のすべてのJDK(少なくとも1.5以上)には、「無料」のJMXが付属しています。WARと対話するためのコマンドとして使用される小さなインターフェースクラスを作成するのは簡単です。

次に、JMXを介してWARに接続するコマンドラインプログラムを作成する必要があります。または、JConsole(JDKに付属していますがGUIです)などのツールを使用してインスタンスを操作できます。他にもJMXクライアントがあります。

それがどれも魅力的でない場合は、常にWebサービスがあります。

于 2008-09-20T18:25:43.860 に答える
0

提案:コマンドラインインターフェイスクラスは、入力としてInputStreamを受け入れ、出力が書き込まれるOutputStream(System.outへの出力とSystem.inへの入力をハードコーディングすることはできません)を提供する必要があります。次に、特定のポートで接続をリッスンするサーバークラスを作成する必要があります。接続が確立されると、サーバーは接続からInputStreamを取得し、コマンドラインクラスに渡します。コマンドラインクラスは、書き込まれたデータが接続を確立したクライアントに渡されるOutputStreamを提供します。

于 2008-09-20T18:17:24.707 に答える