原文鏈接:http://bantouyan.iteye.com/blog/1345405
要在Tomcat下運行用Perl腳本編寫的CGI,需要修改Tomcat的兩個配置文件,即web.xml和context.xml,這兩個文件都位於Tomcat主目錄下的conf文件夾下。(斑頭雁原創: http://bantouyan.iteye.com)
在web.xml裏面需要添加如下代碼,以配置運行Perl CGI的Servlet。
- <servlet>
- <servlet-name>perlcgi</servlet-name>
- <servlet-class>org.apache.catalina.servlets.CGIServlet</servlet-class>
- <init-param>
- <param-name>debug</param-name>
- <param-value>0</param-value>
- </init-param>
- <init-param>
- <param-name>executable</param-name>
- <!--如果path環境內不包含perl的路徑,這裏應該用完整的perl路徑-->
- <param-value>perl</param-value>
- </init-param>
- <init-param>
- <param-name>cgiPathPrefix</param-name>
- <param-value>perl</param-value><!--這裏根據需要和個人喜好配置-->
- </init-param>
- <load-on-startup>5</load-on-startup>
- </servlet>
- <servlet-mapping>
- <servlet-name>perlcgi</servlet-name>
- <url-pattern>*.pl</url-pattern> <!-- 這裏根據需要和個人喜好配置-->
- </servlet-mapping>
根據這些配置,所有以".pl"爲後綴的請求都按CGI處理,對應的腳本位於對應請求路徑下的perl這個文件夾裏面(由參數CgiPathPrefix決定)。比如,當請求URL http://localhost/testcgi/perlcgi.pl時,Tomcat會在testcgi對應目錄下的子文件夾perl內尋找並運行腳本perlcgi.pl。(斑頭雁原創: http://bantouyan.iteye.com)
找到conf文件夾下的context.xml並打開,找到<Context>這一行,將它改爲<Context privileged="true">,然後保存context.xml文件。(斑頭雁原創: http://bantouyan.iteye.com)
修改完這兩個文件後,重啓Tomcat,就可以運行用Perl編寫的CGI了。(斑