社区
Web 开发
帖子详情
[高分求解]Tomcat服务器下如何配置并使用可执行CGI,扩屏名是exe的。
崔作非
2005-05-16 02:05:07
初来贵宝地,提个问题露个脸。这个问题让我困惑了很久了。我知道大家一般很少会配它,但我知道Tomcat肯定能用可执行CGI的。因为一样特殊原因,我现在只能用Tomcat来作Web服务器,所以也没得选择,望众Tomcat高手能够帮我解决,指引方向。
...全文
356
20
打赏
收藏
[高分求解]Tomcat服务器下如何配置并使用可执行CGI,扩屏名是exe的。
初来贵宝地,提个问题露个脸。这个问题让我困惑了很久了。我知道大家一般很少会配它,但我知道Tomcat肯定能用可执行CGI的。因为一样特殊原因,我现在只能用Tomcat来作Web服务器,所以也没得选择,望众Tomcat高手能够帮我解决,指引方向。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
20 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
pigo
2005-05-18
打赏
举报
回复
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部署机制。
崔作非
2005-05-18
打赏
举报
回复
哦,这么简单呀,我以后很难的。能发给我吗?也让我爽爽,对了,我刚才又回顾了一下
mywebapp目录是你自已建的吗?我的系统里没有这个文件夹,我是把ROOT文件夹考过来以后改名得到的,能不能是这个原因呀。
pigo
2005-05-18
打赏
举报
回复
晕,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的前几条记录吧。
崔作非
2005-05-18
打赏
举报
回复
等会儿就结贴。
崔作非
2005-05-18
打赏
举报
回复
你的Tomcat5.5.9是exe的安装程序的吗?要是Zip的话我可不会安装呀。能发给我一份吗?我的大信箱是fanyufanyu@126.com
pigo
2005-05-18
打赏
举报
回复
估计和tomcat有关。
我现在用的是Tomcat5.5.9.
如果没有特殊限制的话。建议用最新版本的tomcat,里面增加了很多有用的功能。
崔作非
2005-05-18
打赏
举报
回复
我的结果是不一样。
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来处理的。
pigo
2005-05-18
打赏
举报
回复
关于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来处理的。
崔作非
2005-05-18
打赏
举报
回复
楼上朋友的方法很不错,在我的机器上可以得到正确的结果。说明基本配置成功。
但当输入http://localhost:8080/mywebapp/cgi-bin/BCBCGI.exe/index.asp
却出错了,没有结果,实际的结果和你看到的没有路径信息时的结果是一样的。/index.asp是CGI的路径信息,并不是文件,CGI是根据不同的路径来选择执行不同的代码的。所以这样的CGI虽然能但,但没有意义的。还是希望有空楼上的朋友能在接在厉帮我把这个东西弄好,谢谢你了。一定会给你加很多分的。
pigo
2005-05-17
打赏
举报
回复
呵呵,配置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
楼主给分吧。
遇到问题多搜索资料吧,我也是顺手搜索了几下就搞定了。
崔作非
2005-05-17
打赏
举报
回复
大家努力呀,补充一下,我把我的CGI放到我的网络硬盘上有,有兴趣的朋友可以去下来试试。
功能最简单不无了,是调试版的程序,比较大一些。网址是http://fanyufanyu.vdisk.cn
根目录下有一个BCBCGI.exe的就是。
崔作非
2005-05-17
打赏
举报
回复
这个东西怎么配也不好使,郁闷呀,谁能告诉我它的访问URL该如何输入呀
http;//127.0.0.1:8080/后面该写的路径和文件是什么呀。
谁要有兴趣可以把我的可执行CGI发到他信箱里自已回去测测,我是弄不好了。
等试好后在发贴子告诉大家的解决办法。我在IIS下根本不需要配置,在Apache下只需要加几行信息来说明路径、文件名什么的就可以了。在Tomcat下怎么这么费劲呀。
pigo
2005-05-17
打赏
举报
回复
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脚本的权限。
ytnice
2005-05-17
打赏
举报
回复
不会,帮你顶
崔作非
2005-05-17
打赏
举报
回复
难道大家以前就没“玩过”可执行CGI这东西吗?我现在很需要一个Web服务器。我觉得对于熟悉Tomcat的人来说,这个应该不算是什么问题的。顺便说一下,我的Tomcat版本是4.1。
崔作非
2005-05-16
打赏
举报
回复
我只是用Tomcat来调试程序用的,最终完成后还是要在别的服务器上跑的。Apache和IIS因为某些原因,并不能使用,我也是没办法才到找Tomcat的,也是听同事说挺好才用的。我本人也不怎么会用Tomcat的。如果分不够还可以再加的。
楼上朋友的方法我试了,还是不好使呀,只能下载不能执行。
pigo
2005-05-16
打赏
举报
回复
把 conf/web.xml关于cgi那段 的注释取消掉,然后配置一下就ok了。
找tomcat官方文档看吧。
jFresH_MaN
2005-05-16
打赏
举报
回复
这个需要用apache和tomcat整合了。
querlang
2005-05-16
打赏
举报
回复
用java调用如何
kaymo
2005-05-16
打赏
举报
回复
没用tomcat做过这样的事,怎么,现在还有这样的需求?
cgi程序要用tomcat来跑?晕晕
ubuntu多屏幕 /
高分
屏的分辨率
配置
遇到的问题是当显示器一个是1080,一个是4k。 如果直接
使用
会遇到
高分
屏的分辨率问题,显示界面非常细腻,文字和图标过小。 首先尝试的是,用setting中的显示
配置
,调整scale。 但是,ubuntu不支持多屏幕有多个scale。 于是,
使用
xrandr来
配置
相对比较容易。 xrandr --auto --output HDMI-0 --pos 0x0 --mode 3840x2160 --primary --scale 0.9999x0.9999 --output DP-4.
4k
高分
屏Windows10下软件字体过小解决办法
在Windows10下
使用
Matlab,由于是4k显示屏,本来以为Matlab会出现字体过小的情况,结果并没有出现什么问题。字体显示一切正常,然而在打开Simulink时,Matlab字体突然变小,整个界面都不太正常。 解决办法: Win10下针对
高分
屏,可以设置软件运行的兼容性,使得其显示界面DPI跟随系统变化,这样就能解决字体过小的问题。 步骤: 1、找到Matlab软件的安装路径,进...
笔记本
高分
屏字体模糊_
高分
屏软件字体模糊的参考解决办法
经过多年的发展,现在1080P的全高清显示屏正逐渐成为大多数笔记本的主流
配置
,
高分
屏带来了更精致、细腻的显示效果,让用户有了更好的视觉体验。但是也带了一些小问题,目前不少
使用
1080P
高分
屏笔记本用户的发现,在Windows 7和Windows 8操作系统中一些软件的字体显示比较模糊的情况。为什么会出现字体模糊这个问题呢?其实这主要是在
高分
屏中字体放大的原因,屏幕分辨率提升到1920 x 1080...
duilib适配
高分
屏(高DPI适配)
duilib适配
高分
屏
高分
屏(高DPI)适配适配原理(duilib)适配例子
高分
屏(高DPI)适配 随着PC设备
高分
屏的越来越普及,PC端客户端软件也需要适配一下
高分
屏幕。在没有专门适配
高分
屏的情况下,普通软件界面看起来尺寸很小,操作体验大打折扣。Win10上微软提供了系统级的
高分
屏适配,但是缺点就是适配会导致软件上字体模糊、图片锯齿等。为了提高PC软件在
高分
屏上的
使用
体验,需要软件专门适配一下...
高分
屏、分辨率、DPI、PPI,及 Qt 处理
高分
屏
文章目录屏幕分辨率和DPI :Qt 的解决方案: 简 述:
高分
屏、DPI、PPI、屏幕分辨率的一些基本知识,以及
使用
Qt 处理
高分
屏的一些方法集合归纳。 屏幕分辨率和DPI : 英寸: inch,复数:inches;缩写为in或″,或 英吋,简作 吋。1 英寸 = 2.54 厘米(cm)= 25.4 毫米(mm)。 像素: pixel 或 pel,为影像显示的基本单位,可看作一个点或方块(不是距离单位)。每个像素有自己的RGB值,单位面积的像素越多,则表示其分辨率越高。 PPI: 每英寸的像素个
Web 开发
81,090
社区成员
341,731
社区内容
发帖
与我相关
我的任务
Web 开发
Java Web 开发
复制链接
扫一扫
分享
社区描述
Java Web 开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章