初来贵宝地,提个问题露个脸。这个问题让我困惑了很久了。我知道大家一般很少会配它,但我知道Tomcat肯定能用可执行CGI的。因为一样特殊原因,我现在只能用Tomcat来作Web服务器,所以也没得选择,望众Tomcat高手能够帮我解决,指引方向。 问题点数:100、回复次数:20Top
<iframe scrolling="no" frameborder="0" src="http://topic.csdn.net/Include/Board.htm?Tags="></iframe>
1 楼kaymo( 。。。 )回复于 2005-05-16 14:24:58 得分 1
没用tomcat做过这样的事,怎么,现在还有这样的需求?
cgi程序要用tomcat来跑?晕晕Top
2 楼querlang(编程浪子)回复于 2005-05-16 14:50:38 得分 1
用java调用如何Top
3 楼jFresH_MaN(十一月的萧邦-夜曲)回复于 2005-05-16 14:55:01 得分 1
这个需要用apache和tomcat整合了。Top
4 楼pigo()回复于 2005-05-16 15:26:11 得分 1
把 conf/web.xml关于cgi那段 的注释取消掉,然后配置一下就ok了。
找tomcat官方文档看吧。
Top
5 楼fanyufanyu(反语)回复于 2005-05-16 16:21:15 得分 0
我只是用Tomcat来调试程序用的,最终完成后还是要在别的服务器上跑的。Apache和IIS因为某些原因,并不能使用,我也是没办法才到找Tomcat的,也是听同事说挺好才用的。我本人也不怎么会用Tomcat的。如果分不够还可以再加的。
楼上朋友的方法我试了,还是不好使呀,只能下载不能执行。Top
6 楼fanyufanyu(反语)回复于 2005-05-17 13:00:54 得分 0
难道大家以前就没“玩过”可执行CGI这东西吗?我现在很需要一个Web服务器。我觉得对于熟悉Tomcat的人来说,这个应该不算是什么问题的。顺便说一下,我的Tomcat版本是4.1。Top
7 楼ytnice()回复于 2005-05-17 14:01:47 得分 1
不会,帮你顶Top
8 楼pigo()回复于 2005-05-17 14:38:51 得分 40
http://jakarta.apache.org/tomcat/tomcat-5.0-doc/cgi-howto.html
我配置Tomcat支持pl就是这样做的,但是没有试过exe文件,因为我没有exe文件测试。
8.在Tomcat中使用CGI脚本
Tomcat主要是作为Servlet/JSP容器,但它也有许多传统web服务器的性能。支持通用网关接口(Common Gateway Interface,即CGI)就是其中之一,CGI提供一组方法在响应浏览器请求时运行一些扩展程序。CGI之所以被称为通用,是因为它能在大多数程序 或脚本中被调用,包括:Perl,Python,awk,Unix shell scripting等,甚至包括Java。当然,你大概不会把一个Java应用程序当作CGI来运行,毕竟这样太过原始。一般而言,开发Servlet总 要比CGI具有更好的效率,因为当用户点击一个链接或一个按钮时,你不需要从操作系统层开始进行处理。
Tomcat包括一个可选的CGI Servlet,允许你运行遗留下来的CGI脚本。
为了使Tomcat能够运行CGI,你必须做如下几件事:
1. 把servlets-cgi.renametojar (在CATALINA_HOME/server/lib/目录下)改名为servlets-cgi.jar。处理CGI的servlet应该位于Tomcat的CLASSPATH下。
2. 在Tomcat的CATALINA_BASE/conf/web.xml 文件中,把关于<servlet-name> CGI的那段的注释去掉(默认情况下,该段位于第241行)。
3. 同样,在Tomcat的CATALINA_BASE/conf/web.xml文件中,把关于对CGI进行映射的那段的注释去掉(默认情况下,该段位于第299行)。注意,这段内容指定了HTML链接到CGI脚本的访问方式。
4. 你可以把CGI脚本放置在WEB-INF/cgi 目录下(注意,WEB-INF是一个安全的地方,你可以把一些不想被用户看见或基于安全考虑不想暴露的文件放在此处),或者你也可以把CGI脚本放置在 context下的其他目录下,并为CGI Servlet调整cgiPathPrefix初始化参数。这就指定的CGI Servlet的实际位置,且不能与上一步指定的URL重名。
5. 重新启动Tomcat,你的CGI就可以运行了。
在Tomcat中,CGI程序缺省放置在WEB-INF/cgi目录下,正如前面所提示的那样,WEB-INF目录受保护的,通过客户端的浏览器无法窥探 到其中内容,所以对于放置含有密码或其他敏感信息的CGI脚本而言,这是一个非常好的地方。为了兼容其他服务器,尽管你也可以把CGI脚本保存在传统的 /cgi-bin目录,但要知道,在这些目录中的文件有可能被网上好奇的冲浪者看到。另外,在Unix中,请确定运行Tomcat的用户有执行CGI脚本 的权限。
Top
9 楼fanyufanyu(反语)回复于 2005-05-17 15:29:41 得分 0
这个东西怎么配也不好使,郁闷呀,谁能告诉我它的访问URL该如何输入呀
http;//127.0.0.1:8080/后面该写的路径和文件是什么呀。
谁要有兴趣可以把我的可执行CGI发到他信箱里自已回去测测,我是弄不好了。
等试好后在发贴子告诉大家的解决办法。我在IIS下根本不需要配置,在Apache下只需要加几行信息来说明路径、文件名什么的就可以了。在Tomcat下怎么这么费劲呀。Top
10 楼fanyufanyu(反语)回复于 2005-05-17 17:27:10 得分 0
大家努力呀,补充一下,我把我的CGI放到我的网络硬盘上有,有兴趣的朋友可以去下来试试。
功能最简单不无了,是调试版的程序,比较大一些。网址是http://fanyufanyu.vdisk.cn
根目录下有一个BCBCGI.exe的就是。Top
11 楼pigo()回复于 2005-05-17 19:30:00 得分 40
呵呵,配置ok了。
还需要设置一个参数executable。
这个参数的默认值是支持perl的。
配置如下:
<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>0</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>
<servlet-mapping>
<servlet-name>cgi</servlet-name>
<url-pattern>/cgi-bin/*</url-pattern>
</servlet-mapping>
exe文件存放的路径在
D:\jakarta-tomcat-5.5.8\webapps\mywebapp\WEB-INF\cgi-bin
访问地址是:
http://localhost:8080/mywebapp/cgi-bin/BCBCGI.exe
楼主给分吧。
遇到问题多搜索资料吧,我也是顺手搜索了几下就搞定了。
Top
12 楼fanyufanyu(反语)回复于 2005-05-18 08:59:01 得分 0
楼上朋友的方法很不错,在我的机器上可以得到正确的结果。说明基本配置成功。
但当输入http://localhost:8080/mywebapp/cgi-bin/BCBCGI.exe/index.asp
却出错了,没有结果,实际的结果和你看到的没有路径信息时的结果是一样的。/index.asp是CGI的路径信息,并不是文件,CGI是根据不同的路径 来选择执行不同的代码的。所以这样的CGI虽然能但,但没有意义的。还是希望有空楼上的朋友能在接在厉帮我把这个东西弄好,谢谢你了。一定会给你加很多分 的。Top
13 楼pigo()回复于 2005-05-18 09:34:00 得分 15
关于cgi,我只了解一点点运行原理,并没有写过相关的程序。刚才再试了一下,在我的配置中。http://localhost:8080/awstats/cgi-bin/cc.exe/index.asp
http://localhost:8080/awstats/cgi-bin/cc.exe/index.aspsddsds
http://localhost:8080/awstats/cgi-bin/cc.exe/dsdssdsd/dfdfindex.aspsddsds
这样的路径最终得到的效果和http://localhost:8080/awstats/cgi-bin/cc.exe所看到的结果是一样的。
对于这个cgi的调用,可以简单的看作是命令行执行 cmd /c "cc.exe"
那么执行cmd /c "cc.exe/index.asp"和 cmd /c "cc.exe/index.aspsddsds"和cmd /c "cc.exe" 在命令行下你都会看到同样的输出结果。
如果你是要看到不同的结果,这个应该是在你的cgi程序中自己写代码进行处理(好像是获取命令行传入的参数信息,然后进行相应处理,没有写过cgi,所以这只是我的大致猜测),而不是tomcat来处理的。
Top
14 楼fanyufanyu(反语)回复于 2005-05-18 09:54:28 得分 0
我的结果是不一样。
http://localhost:8080/mywebapp/cgi-bin/BCBCGI.exe 能够得到正常结果
http://localhost:8080/mywebapp/cgi-bin/BCBCGI.exe/index.asp
得到的是Tomcat的错误信息
我把它贴出来如下:
HTTP Status 404 -
--------------------------------------------------------------------------------
type Status report
message
description The requested resource () is not available.
--------------------------------------------------------------------------------
Apache Tomcat/4.1.30
这个东西是不是和Tomcat的版本有关呀。
----------------------------------------------------------------
原贴内容:
关于cgi,我只了解一点点运行原理,并没有写过相关的程序。刚才再试了一下,在我的配置中。http://localhost:8080/awstats/cgi-bin/cc.exe/index.asp
http://localhost:8080/awstats/cgi-bin/cc.exe/index.aspsddsds
http://localhost:8080/awstats/cgi-bin/cc.exe/dsdssdsd/dfdfindex.aspsddsds
这样的路径最终得到的效果和http://localhost:8080/awstats/cgi-bin/cc.exe所看到的结果是一样的。
对于这个cgi的调用,可以简单的看作是命令行执行 cmd /c "cc.exe"
那么执行cmd /c "cc.exe/index.asp"和 cmd /c "cc.exe/index.aspsddsds"和cmd /c "cc.exe" 在命令行下你都会看到同样的输出结果。
如果你是要看到不同的结果,这个应该是在你的cgi程序中自己写代码进行处理,而不是tomcat来处理的。
Top
15 楼pigo()回复于 2005-05-18 10:00:01 得分 0
估计和tomcat有关。
我现在用的是Tomcat5.5.9.
如果没有特殊限制的话。建议用最新版本的tomcat,里面增加了很多有用的功能。
Top
16 楼fanyufanyu(反语)回复于 2005-05-18 10:07:08 得分 0
你的Tomcat5.5.9是exe的安装程序的吗?要是Zip的话我可不会安装呀。能发给我一份吗?我的大信箱是fanyufanyu@126.comTop
17 楼fanyufanyu(反语)回复于 2005-05-18 10:08:51 得分 0
等会儿就结贴。Top
18 楼pigo()回复于 2005-05-18 10:12:01 得分 0
晕,zip的不管在哪个操作系统,都解压就可以用了。
windows下,解压之后运行bin/下的startup.bat
其它的操作系统是运行startup.sh
http://www.google.com/search?q=tomcat+5.5.x&hl=zh-CN&lr=lang_zh-CN&ie=gb2312
仔细看google的前几条记录吧。
Top
19 楼fanyufanyu(反语)回复于 2005-05-18 10:19:05 得分 0
哦,这么简单呀,我以后很难的。能发给我吗?也让我爽爽,对了,我刚才又回顾了一下
mywebapp目录是你自已建的吗?我的系统里没有这个文件夹,我是把ROOT文件夹考过来以后改名得到的,能不能是这个原因呀。Top
20 楼pigo()回复于 2005-05-18 10:49:16 得分 0
Tomcat5.5.9的下载:
http://www.apache.org/dist/jakarta/tomcat-5/v5.5.9/src/jakarta-tomcat-5.5.9-src.zip
http://www.apache.org/dist/jakarta/tomcat-5/v5.5.9/bin/jakarta-tomcat-5.5.9.zip
http://www.apache.org/dist/jakarta/tomcat-5/v5.5.9/bin/jakarta-tomcat-5.5.9-fulldocs.tar.gz
http://www.apache.org/dist/jakarta/tomcat-5/v5.5.9/bin/jakarta-tomcat-5.5.9-admin.zip
http://www.apache.org/dist/jakarta/tomcat-5/v5.5.9/bin/jakarta-tomcat-5.5.9-compat.zip
关于各个文件的介绍请看:
http://www.apache.org/dist/jakarta/tomcat-5/v5.5.9/bin/ 下面都有说明。
mywebapp当然是我自己建立的了,与文件夹名字没有特别的关系,
关于这些,你可以去了解一下servlet规范和Tomcat的webapp部署机制。
分享到:
相关推荐
Tomcat包含了几个关键的目录,如`bin`(存放可执行文件)、`conf`(存储配置文件)、`webapps`(默认的Web应用部署位置)以及`logs`(日志文件)。在配置过程中,我们主要会与`conf`目录下的文件打交道。 1. **安装...
- 可选择可执行文件`jakarta-tomcat-5.5.23.exe`或压缩包`jakarta-tomcat-5.5.23.zip`。 - 推荐使用压缩包方式安装,以适应更多操作系统需求。 2. **安装Tomcat:** - 使用解压缩工具打开`jakarta-tomcat-...
- 打开Tomcat的配置文件 `%TOMCAT_HOME%/conf/web.xml`,取消`<servlet>`和`<servlet-mapping>`关于CGI的注释,这将使Tomcat支持CGI脚本执行。 - 修改`servlet-cgi.renametojar`文件,将其重命名为`servlet-cgi....
2. **下载安装**:TOMCAT提供了两种安装方式,一种是解压缩包,另一种是Windows下的可执行(EXE)安装程序。对于Windows Server 2003系统,可以直接双击EXE文件进行安装,程序会自动检测JDK和JRE的位置。 3. **配置...
3. 配置环境变量:在系统环境变量中添加CATALINA_HOME指向Tomcat的安装目录,这样可以在命令行中全局调用Tomcat的bin目录下的可执行文件。 4. 启动Tomcat:运行Tomcat目录下的bin/startup.sh(Linux/Mac)或startup....
总结:本课程《第1讲Web开发简介和Tomcat服务器的安装与配置》旨在教授学生如何使用JavaWeb技术进行B/S架构的应用开发,包括基础的前端语言和动态Web技术,以及关键的服务器端工具Tomcat的使用。通过学习,学生将...
1. **修改权限**:为了确保非root用户可以启动和停止Tomcat,需要将 `bin` 目录下的 `shutdown.sh` 和 `startup.sh` 脚本设置为可执行,并赋予适当的权限: ```bash chmod +x $CATALINA_HOME/bin/*.sh chown -R ...
【Tomcat安装与配置新手入门】是针对初学者的一篇指南,主要讲解如何在Windows操作系统上安装和配置Apache Tomcat服务器。首先,安装Tomcat前必须先安装Java Development Kit (JDK)。JDK可以从Oracle的官方网站...
- `cgi-bin`:用于CGI网关处理,需要额外配置执行权限(脚本和可执行权限)。 - `cgi-bin/ibi_cgi`:指定WebFocus处理网关,同样需要执行权限。 - `jakarta`:指向Tomcat-JK目录,同样需要执行权限,并且该名称是...
1. **启动 Tomcat**:重启计算机后,打开终端并执行 `./startup.sh`,位于 `$CATALINA_HOME/bin` 目录下。 2. **检查日志**:启动过程中,终端将显示 Tomcat 的启动日志。如果一切顺利,不会显示错误信息。 3. **...
总结,搭建Java Web开发环境涉及多个环节,包括JDK的安装与配置、Eclipse的使用、Tomcat服务器的配置以及数据库的安装与管理。每个步骤都需要细心操作,确保所有配置无误,才能顺利进行项目开发。遇到问题时,及时...
对于 Windows 操作系统,提供了两种安装文件:一种是可执行安装程序 `jakarta-tomcat-5.5.7.exe`,另一种是压缩包 `jakarta-tomcat-5.5.7.zip`。如果是 Linux 系统,则需要下载 `jakarta-tomcat-5.5.7.tar.gz`。 ##...
为了帮助初学者更好地理解如何在Tomcat服务器上配置JSP、Servlet和Bean,本文将详细介绍配置过程及注意事项。 ##### 第一步:下载与准备J2SDK和Tomcat - **下载J2SDK**: - 访问Sun官方网站 ...
### Tomcat安装及配置教程知识点总结 ...通过上述步骤,您可以顺利完成Tomcat服务器的安装与基本配置,并实现简单的Web应用部署。对于更高级的功能和配置选项,建议进一步学习官方文档以获得更深入的理解和支持。
配置虚拟主机时,可通过`<VirtualHost>`指令实现多个网站在同一服务器上的运行。 二、MySQL数据库安装与管理 MySQL是一款高效、开源的关系型数据库管理系统。安装完成后,需要创建数据库、用户和权限。PHPMyAdmin是...
配置Apache支持CGI,需要修改httpd.conf中的ScriptAlias和Directory配置,指定CGI脚本的存放目录,并确保执行权限设置正确。 在配置这个环境时,需要注意版本兼容性,例如Apache、PHP和MySQL的版本之间,以及Tomcat...
本文将详细介绍如何在Windows操作系统上配置JDK(Java Development Kit)、JSP(Java Server Pages)、Tomcat服务器以及MySQL数据库的过程。通过本教程,您将能够搭建一个完整的Java Web开发环境。 #### 二、下载所...
### CentOS7服务器环境配置教程(Mysql5.6+jdk1.7+Tomcat7)知识点详解 #### 一、MySQL5.6安装与配置 **1.1 检查MySQL安装状态** - **检查系统中是否已安装MySQL**: - 使用命令`rpm -qa | grep mysql`来检查是否...
通过执行`mvn clean install`命令,你可以编译源码、运行测试并生成可部署的二进制文件。 3. **理解源码**: 源码阅读有助于开发者了解Tomcat的工作流程,比如Servlet容器如何处理HTTP请求,JSP如何被编译为...