- PR -

TomcatでCGIを使う方法をお教えて下さい

1
投稿者投稿内容
会議室デビュー日: 2004/11/03
投稿数: 2
投稿日時: 2004-11-03 20:15
 はじめまして。山と申します。
 Tomcat上でCGIを動作させるための設定を行い、cgiファイルにアクセスしたところ
真っ白な画面が表示されました。この原因について、どなたか、お教えいただければ誠に幸いです。
 環境はWindowsXP, Apache2.0, Tomcat4.1, ActivePerl5.6.1です。
 まず、設定については
(1) %CATALINA_HOME%server/lib/servlets-cgi.nenametojarを%CATALINA_HOME%server/lib/servlets-cgi.jarに名前変更する。
(2) %CATALINA_HOME%conf/web.xmlのCGIに関連する<servlet>と<servlet-mapping>のXMLコメントを削除する。
を行いました。
 それから、
#!c:/perl/bin/perl
print "Content-Type: text/html\\n\\n";
print "<html><body>";
print "Hello, CGI!";
print "</body></html>";
の内容のhello.cgiを作り、
%CATALINA_HOME%webapps/examples/WEB-INF/cgi
のフォルダに格納しました。examplesはコンテキスト名です。
こうして、
http://localhost/examples/cgi-bin/hello.cgi
にアクセスしますと、真っ白な画面が表示されした。
 なお、簡単なJSPファイルを作り、examplesの配下に置き、
http://localhost/examples/test.jsp
でアクセスを行いJSP動作は確認しています。
 Tomcat上でCGI動作させたときに、真っ白な画面が表示される原因について、どなたか、ご存知の方がおられましたら、是非、ご教示賜りますようお願い申し上げます。
kito
ベテラン
会議室デビュー日: 2003/03/24
投稿数: 59
お住まい・勤務地: Osaka
投稿日時: 2004-11-03 21:41
>Tomcat上でCGI動作させたときに、真っ白な画面が表示される原因について、

そのスクリプトならApacheで動作させても同じ結果になると思います。
HTTPヘッダしか出力していないので真っ白になるのは当然です。

>print "Content-Type: text/html\\n\\n";

print "Content-Type: text/html\n\n";
としてみてはいかがでしょうか。
会議室デビュー日: 2004/11/03
投稿数: 2
投稿日時: 2004-11-04 01:02
kito様、早速、ご回答を賜り、どうも有難うございました。
質問の本文で、Content-Type: text/htmlのつぎに(バックスラッシュ+バックスラッシュ+n)の文字列が2度繰り返されていますが、投稿原稿では(円マーク+n)の文字列が2度繰り返されていました。送信(プレビュー)ボタンを押すと、化けてしまったようです。チェックせずに投稿し、大変、失礼をいたしました。お詫びいたします。
 実際のhello.cgiでは、ご指摘いただいた記述にしていました。
1

スキルアップ/キャリアアップ(JOB@IT)