tomcat6.0+CGI详细配置及实例

1、在Tomcat的CATALINA_BASE/conf/web.xml 文件中,把关于<servlet-name> CGI的那段的注释去掉。去掉注释后的代码部分类似下面:

  <servlet>
        <servlet-name>cgi</servlet-name>
        <servlet-class>org.apache.catalina.servlets.CGIServlet</servlet-class>
        <init-param>
          <param-name>clientInputTimeout</param-name>
          <param-value>100</param-value>
        </init-param>
        <init-param>
          <param-name>debug</param-name>
          <param-value>6</param-value>
        </init-param>
        <init-param>
          <param-name>cgiPathPrefix</param-name>
          <param-value>WEB-INF/cgi-bin</param-value>
        </init-param>
        <init-param> 
         <param-name>executable</param-name> 
         <param-value>cmd   /c   </param-value> 
    </init-param> 

         <load-on-startup>5</load-on-startup>
    </servlet>

其 中cgiPathPrefix与cgi的存放目录有关系,excutable与cgi的语言有关系,Tomcat默认的cgi语言为perl,因此上面的 代码中一定要含有

<init-param> 
         <param-name>executable</param-name> 
         <param-value>cmd   /c   </param-value> 
    </init-param>

这段代码来表示cgi语言为c语言。
2. 同样,在Tomcat的CATALINA_BASE/conf/web.xml文件中,把关于对CGI进行映射的那段的注释去掉注意,这段内容指定了 HTML链接到CGI脚本的访问方式。

去掉注释后的代码类似:

<servlet-mapping>
        <servlet-name>cgi</servlet-name>
        <url-pattern>/cgi-bin/*</url-pattern>
    </servlet-mapping>

注意:这里<url-pattern>的内容中的/cgi-bin/指定 了浏览器访问的地址,与前面的<param-value>的内容/WEB-INF/cgi-bin对应。
3、配置权限
在conf/context

<Context privileged="true">

    <!-- Default set of monitored resources -->
    <WatchedResource>WEB-INF/web.xml</WatchedResource>

    <!-- Uncomment this to disable session persistence across Tomcat restarts -->
    <!--
    <Manager pathname="" />
    -->

    <!-- Uncomment this to enable Comet connection tacking (provides events
         on session expiration as well as webapp lifecycle) -->
    <!--
    <Valve className="org.apache.catalina.valves.CometConnectionManagerValve" />
    -->


</Context>
4、创建cgitest4.cpp
5、生成 cgitest4.exe,并在WEB-INF下创建目录cgi,将cgitest4.exe放置其中
6、浏览器通过 http://localhost:8080/yourweb/cgi-bin/cgitest4.exe即可访问
  8080为服务器端口,更改为自己的,yourweb也改成自己的网站目录

 

cgitest4.cpp

#include "stdio.h"
#include "stdafx.h"

void main()
{
   
    FILE* f = fopen("bbb.txt","w");
    fprintf(f,"hello world");
    fclose(f);
    printf("content-type:text/html;/r/n/r/n");
    printf("<html><body>hello world</body></html>");
  }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值