在使用CGI时,最重要的内容是CGI接口的环境变量。CGI规范列出了19个环境变量。尽管其他的环境变量,如HTTP_COOKIE(用于查询站点信息的)不是该规范的组成部分,但也是经常使用。

  由于Java运行于JVM,不直接在服务器上运行,所以不能直接访问环境变量。由于CGI环境变量是Web服务器建立的,而且用户能够用其他的方法查询变量值,所以Java不访问环境变量没有什么大问题。Java Servlet API定义几种查询在CGI环境变量中发现大多数信息的方法。

  有些信息是HTTP标题的组成部分,而且采用HttpServletRequest类中的getHeader()方法能够很容易的获取。采用特殊的方法可以查询其他的信息。Java唯一不可用的CGI环境变量是GATEWAY_INTERFACE。当在CGI程序中使用时,该变量包含CGI版本。在Java Servlet中这种变量信息是无关紧要的。

  以上的内容是针对有CGI编程经验的读者的,通过对比能帮助读者更快的理解Servlet。对CGI一无所知的读者浏览一下便可。