0

私の目標は、Apache Web サーバーで CGI を実行することです。私の CGI は Java で書かれています。私は、すべてのビジネスを行う Java CGI を開始するバッチ ファイル (後で perl スクリプトになる可能性があります) を使用しています。

バッチ ファイルが機能し、Java CGI が開始されます。Java プログラム自体は動作します。しかし、私のJavaコードからブラウザに何も返されません。私は単純な System.out.println を実行してブラウザに送信しています。これを参考にしてます

私のバッチファイル

    echo Content-Type: text/html
    echo.
    echo ^<html^>^<head^>^</head^>^<body^>
    echo Hello world!!!
    java -cp My.jar MyClass
    echo ^</body^>^</html^>

私のJavaファイル

    new File("C:\\wamp\\www\\cgi-bin\\" + new Date().getTime()).mkdir();
    System.out.println("<b>Hello world from Java</b>");

サイド ノート - (サーブレット コンテナーなどを使用していない) 私のタスクは 2 ~ 3 分の長さで、サーブレットをブロックしたくないため、これを行っています。同時に、タスクの進行状況についてユーザーを更新する必要があります。これは非公開であり、JMS、ajax などを使用してコンテナー内で実行することにより、あまり複雑にしたくありません...

4

1 に答える 1

0

個々のコマンドとして表示されるべきものを表示するが、バッチで機能しない場合、おそらく回避策があるのではないか
と思いました...java -cp My.jar MyClassfor /f

@echo off
  rem  This works in Wampserver's Apache cgi-bin...
  rem     http://localhost/cgi-bin/testbat.bat
echo Content-Type: text/html
echo.
echo ^<html^>^<head^>^</head^>^<body^>
echo ^<H1^>Hello world!!!^</H1^>
echo ^<PRE^>
FOR /F "usebackq delims==" %%i IN (`dir`) do echo %%i
echo ^</PRE^>
echo ^</body^>^</html^>

とにかく、とにかく問題を解決してよかったです:)乾杯

于 2013-04-04T21:24:19.607 に答える