リンク
ユーザガイド
リファレンス
Tomcat開発
CGI (Common Gateway Interface) は、 Web サーバが外部のコンテンツ生成プログラムとやりとりする方法を定義するもので、 コンテンツ生成プログラムはCGIプログラムやCGIスクリプトとも呼ばれます。 TomcatをHTTP サーバとして使っていて CGI 支援機能が必要になった場合には、 Tomcat に CGI 支援機能を加えることができます。Apache などの Webサーバを 使わずに開発する場合が典型的です。 CGI 支援機能は org.apache.catalina.servlets.CGIServlet という サーブレットクラスを使って実装されています。従来このーブレットは、 "/cgi-bin/*"という URL パターンにマップされていました。 Tomcatのデフォルトでは、CGI 支援機能は無効になっています。
CGI (Common Gateway Interface) は、 Web サーバが外部のコンテンツ生成プログラムとやりとりする方法を定義するもので、 コンテンツ生成プログラムはCGIプログラムやCGIスクリプトとも呼ばれます。
TomcatをHTTP サーバとして使っていて CGI 支援機能が必要になった場合には、 Tomcat に CGI 支援機能を加えることができます。Apache などの Webサーバを 使わずに開発する場合が典型的です。
CGI 支援機能は org.apache.catalina.servlets.CGIServlet という サーブレットクラスを使って実装されています。従来このーブレットは、 "/cgi-bin/*"という URL パターンにマップされていました。
org.apache.catalina.servlets.CGIServlet
Tomcatのデフォルトでは、CGI 支援機能は無効になっています。
注意 - CGI スクリプトは、Tomcat JVM の外部で動くプログラムを実行するために使われます。Java SecurityManagerを使っている場合、 catalina.policy.で設定されたセキュリティポリシーをこれらはかいくぐります。 $CATALINA_BASE/server/lib/servlets-cgi.renametojar を $CATALINA_BASE/server/lib/servlets-cgi.jarに名前変更して下さい。 $CATALINA_BASE/conf/web.xml の CGI サーブレットやサーブレットマッピング設定の周囲のXMLコメントを削除します。
注意 - CGI スクリプトは、Tomcat JVM の外部で動くプログラムを実行するために使われます。Java SecurityManagerを使っている場合、 catalina.policy.で設定されたセキュリティポリシーをこれらはかいくぐります。
catalina.policy.
$CATALINA_BASE/server/lib/servlets-cgi.renametojar を $CATALINA_BASE/server/lib/servlets-cgi.jarに名前変更して下さい。
$CATALINA_BASE/server/lib/servlets-cgi.renametojar
$CATALINA_BASE/server/lib/servlets-cgi.jar
$CATALINA_BASE/conf/web.xml の CGI サーブレットやサーブレットマッピング設定の周囲のXMLコメントを削除します。
$CATALINA_BASE/conf/web.xml
CGI サーブレットの動作を制御するためのサーブレット初期化パラメータがいくつかあります。 cgiPathPrefix - CGI を探すパスは、 Web アプリケーションのルートディレクトリと File.separator がこのプレフィクスの前についた形になる。 デフォルトの cgiPathPrefix は /WEB-INF/cgi。 [訳注: File.separatorとは、"/"や"\"などのディレクトリ記号のことです。] clientInputTimeout - 何もないとみなすまでブラウザからの 入力を待つ時間(単位はミリ秒)。デフォルトは100秒。 debug - このサーブレットがログに残すメッセージのデバッグ詳細 レベル。デフォルトは 0。
CGI サーブレットの動作を制御するためのサーブレット初期化パラメータがいくつかあります。
/WEB-INF/cgi
100