0 0

Tomcat 6如何配置C/C++的cgi20

在web.xml的配置:
<servlet>
        <servlet-name>cgi</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>passShellEnvironment</param-name>
          <param-value>true</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>
<init-param>
          <param-name>clientInputTimeout</param-name>
          <param-value>100</param-value>
        </init-param>
         <load-on-startup>5</load-on-startup>
    </servlet>

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

在context.xml的配置:
    <servlet-mapping>
        <servlet-name>cgi</servlet-name>
        <url-pattern>/cgi-bin/*</url-pattern>
    </servlet-mapping>

调用cgi的网页代码:

<!Sample web page for illustrating CGI>
<!Author: M. Liu, 9/15/01>
<HTML>
<HEAD>
<TITLE>A Web Page that invokes a Web script</TITLE>
</HEAD>
<BODY>
<H1>The Web Page illustrates the use of a Web script</H1>
<p>
<FONT color = green>
This page contains an action tag which specifies a Web script.
Upon retrieving this page from the Web server, the browser
processes the contents and, when the SUBMIT button is pressed,
requests the server to run the script or program specified
with the action tag.
</FONT>
<BR>
The script o program is either a run-script written in a
script language such asa Perl, or an executable generated
from a source program written in a language such as C/C++
</P>
<HR>
<FORM METHOD="post" ACTION="/cgi-bin/hello.cgi">
<HR>
Press <INPUT TYPE="submit" value="here"> to submit your query.
</FORM>
<HR>
</BODY>
</HTML>

cgi运行不了。求大神指导。

2012年11月06日 20:10
  • 大小: 29.1 KB

1个答案 按时间排序 按投票排序

0 0

采纳的答案

如果用c或者c++的话,应该编译成hello.exe这样的可执行文件,然后
把<FORM METHOD="post" ACTION="/cgi-bin/hello.cgi"> 改成

<FORM METHOD="post" ACTION="/cgi-bin/hello.exe">

然后在浏览器访问 http://localhost:8080/cgi-bin/hello.exe

此外,因为hello.exe本身就是可执行程序,所以executable的值配置成空也没问题

<param-name>executable</param-name>
<param-value></param-value>


报错的原因应该是windows不知道hello.cgi应该用什么程序打开(没有设置cgi的文件关联),也就是不识别cgi扩展名。直接在windows的cmd窗口中执行cmd /c hello.cgi的话,会直接弹出对话框,让你选择用什么程序打开hello.cgi文件。

2012年11月06日 23:05

相关推荐

    Eclipse与Tomcat

    通过强大的插件机制,Eclipse 可以扩展到支持 C/C++、PHP、Python、Ruby 等多种语言。 **特点:** - **可扩展性**:Eclipse 的核心设计允许开发者轻松地开发和添加新的插件来增强其功能。 - **跨平台性**:可以在 ...

    符合我公司GIS开源解决方案的探讨

    根据开发环境的不同,可以将主流的WebGIS开源解决方案分为两大类:基于C/C++的解决方案和基于JavaEE的解决方案。 - **C/C++解决方案**: - Mapserver(服务器) - QGIS(桌面软件) - Tomcat(中间件) - ...

    Tomcat 4 Версия 1.01 от 15.09.2002

    Servlet 可以执行与 CGI 脚本相同的功能,但使用的是 Java 语言而非 Perl、Python 或 C++,这带来了诸多优势。这些优势包括更易于编写、维护和修改代码,以及 Java 程序在服务器上的执行方式。 - **JSP (Java ...

    JavaWeb程序设计题库.pdf

    * JSP 同类型的技术包括 CGI、C/C++ 等。 * Java.lang.* 和 javax.servlet.* 是 JSP 本身加载的基本类。 7、其他 * request 对象可以获取当前页信息并调用页面方法。 * session 对象提供了 getAttributeNames() 等...

    Java-Web程序设计题库(2).doc

    - JSP与CGI、C/C++、ASP等技术不同,CGI是早期的Web服务器接口,C/C++是编程语言,ASP是微软的Web开发技术。 - JavaBean是一种Java组件,常用于JSP页面中增强功能。 13. **JDK版本**: - Java Enterprise ...

    在腾讯云服务器基于sqlserver2012搭建基于javaweb的运行环境

    整个过程涉及多个步骤,包括但不限于安装与配置Telnet服务、Java Development Kit (JDK)、Apache Tomcat服务器以及MySQL数据库等。 #### 二、准备工作 1. **服务器准备**:首先确保已经拥有一台腾讯云服务器或在...

    HTTP 服务器源代码

    1. C/C++:原始且高效,常用于底层系统编程,如Apache服务器的部分实现。 2. Python:简洁快速,易于开发,例如SimpleHTTPServer模块提供基础HTTP服务功能。 3. Node.js:基于JavaScript,异步非阻塞I/O,适合高性能...

    基于J2EE框架的个人博客系统项目毕业设计论文(源码和论文)

    Tomcat是一个免费的开源的Serlvet容器,在Tomcat中,应用程序的部署很简单,你只需将你的WAR放到Tomcat的webapp目录下,Tomcat会自动检测到这个文件,并将其解压。你在浏览器中访问这个应用的Jsp时,通常第一次会很...

    外文翻译 stus MVC

    Of course, we could use Java (or PERL, C/C++ or what ever) code to generate HTML. There are several disadvantages to that approach: • Java programmers should develop services, not HTML. • Changes...

    超级有影响力霸气的Java面试题大全文档

    但通常情况下,由于Java Bean是被容器所创建(如Tomcat)的,所以Java Bean应具有一个无参的构造器,另外,通常Java Bean还要实现Serializable接口用于实现Bean的持久性。Java Bean实际上相当于微软COM模型中的本地...

    java面试题

    书写EJB要遵循一定的规范,另外要运行EJB,你需要有相应的EJB容器,比如WebLogic、jboss等,而JavaBean不需要,只需要安装Tomcat就可以了。EJB用于服务端的应用开发,而JavaBean用于客户端应用开发。 触发器? 答:...

    JAVA相关的面试大全

    #### 6. 说出Servlet的生命周期,并说出Servlet和CGI的区别。 - **Servlet的生命周期**包括初始化、服务、销毁三个阶段。 - **Servlet和CGI的区别**: - Servlet是Java编写的,而CGI可以由任何语言编写。 - ...

Global site tag (gtag.js) - Google Analytics