Apache Tomcat Servlet/JSP 容器

Apache Tomcat 5.5 Servlet/JSP 容器

Jaxmao Logo

Apache Tomcat 5.5 Servlet/JSP 容器

怎样使用CGI

简介

CGI (通用网关接口)定义了让web服务器与外部内容生成程序交互的一种方式,也就是通常所说的CGI程序或CGI脚本。

当你使用Tomcat作为你的HTTP服务器,并要求提供CGI支持,你就可以把CGI支持添加到Tomcat里。通常在你还不想要运行一个象Apache httpd这样的web服务器的开发过程中它就已经被实现了。Tomcat的CGI支持在很大程度上与Apache httpd's相兼容,但是存在一定局限(例如,只有一个cgi-bin 目录)。

CGI支持是通过使用servlet类org.apache.catalina.servlets.CGIServlet 来实现的。习惯上,这个servlet与URL映射 "/cgi-bin/*"相对映。

在Tomcat默认不支持CGI。

安装

警告——CGI脚本可以用于执行Tomcat的java虚拟机外部的程序。如果你在使用Java SecurityManager,它可以绕过你在catalina.policy里配置的安全策略。

$CATALINA_BASE/server/lib/servlets-cgi.renametojar 改名为 $CATALINA_BASE/server/lib/servlets-cgi.jar

$CATALINA_BASE/conf/web.xml 文件中CGI servlet 和servlet-mapping 配置周围的XML注释去除掉。

配置

以下几个servlet初始化参数可以用来配置CGI servlet的行为。

  • cgiPathPrefix - CGI搜寻路径从web应用程序的根目录 + 文件分割符 + 路径前缀 开始。默认的cgiPathPrefix是/WEB-INF/cgi
  • debug - servlet日志信息的调试级别。默认是0。
  • executable - 用来运行script的可执行程序名。默认是perl
  • parameterEncoding - 与GCI servlet一起使用的参数编码名称。 默认是System.getProperty("file.encoding","UTF-8")
  • passShellEnvironment - 是否将shell的环境变量 (任意) 传给 CGI 脚本? 默认为 false.


Copyright © 1999-2006, Apache Software Foundation