在Tomcat 7.0.70中运行Perl CGI脚本

时间:2016-07-21 14:22:00

标签: perl tomcat7 cgi

我正在尝试在Linux框中的Tomcat 7.0.70网络服务器中托管我的cgi页面。

我已经完成了以下步骤,而且我无法在浏览器中查看我的cgi页面。

  1. 我创建了一个名为“test.pl”的CGI脚本。
  2. #!/usr/bin/perl
    print "Content-type: text/html\n\n";
    foreach (sort keys %ENV)
    {
      print "<b>$_</b>: $ENV{$_}<br>\n";
    }
    
    1. 我在〜/ myweb / apache-tomcat-7.0.70 / webapps / path中创建了一个目录“myprog”。
    2. 然后我在〜/ myweb / apache-tomcat-7.0.70 / webapps / myprog /
    3. 中创建了一个“WEB-INF”目录
    4. 然后我在“myprog / WEB-INF /”中创建了一个“cgi”目录并放置了test.pl文件。
    5. 然后我从web.xml中删除了以下行的注释,这些注释位于〜/ myweb / apache-tomcat-7.0.70 / conf /

          CGI     org.apache.catalina.servlets.CGIServlet            调试       0                 cgiPathPrefix       WEB-INF / CGI           五 而且,servlet映射区域也是如此。

    6. 之后我将servlets-cgi-4.1.36.jar和servlets-ssi-5.0.16.jar文件下载到〜/ myweb / apache-tomcat-7.0.70 / lib /

    7. 然后,我尝试从网络浏览器运行我的Windows机器中的文件:http://devserver.com/myprog/并返回消息

      HTTP状态404 - / myprog / 类型状态报告 消息/ myprog / description请求的资源不可用。 Apache Tomcat / 7.0.70

    8. 请有人协助/建议解决这个问题。

1 个答案:

答案 0 :(得分:0)

您发布的服务器日志摘录表明您的Web应用程序需要有权使用CGIServlet。在/ webapps / myprog / META-INF中,添加文件context.xml &lt; Context privileged =&#34; true&#34;&gt; &LT; /语境GT;