设为首页 收藏本站
查看: 1088|回复: 0

[经验分享] C、Shell、Perl基于Tomcat开发CGI程序环境配置

[复制链接]

尚未签到

发表于 2015-12-29 06:24:03 | 显示全部楼层 |阅读模式
  基于Tomcat7.0版本配置CGI开发环境,步聚如下:
  以我的Tomcat7安装目录为例:TOMCA_HOME = /Users/yangxin/Documents/devToos/java/apache-tomcat-7.0.39
  1、打开TOMCA_HOME/conf/web.xml
  将CGI的Serlvet配置与URL映射注释打开
  <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>executable</param-name>
<param-value></param-value>
</init-param>
<init-param>
<param-name>cgiPathPrefix</param-name>
<param-value>WEB-INF/cgi</param-value>
</init-param>
<load-on-startup>5</load-on-startup>
</servlet><!-- The mapping for the CGI Gateway servlet -->
<servlet-mapping>
<servlet-name>cgi</servlet-name>
<url-pattern>/cgi-bin/*</url-pattern>
</servlet-mapping>CGI Servlet初始化参数说明:
  1> cgiPathPrefix:设置cgi程序在应用中的访问位置,默认访问位置为:应用名称/WEB-INF/cgi
  2> executable:CGI程序解析器,默认为perl,如果为空,可以是任何安装在操作系统环境变量的脚本解析器,或是C/C&#43;&#43;程序
  3> parameterEncoding:访问CGI Servlet的默认参数编码,默认为utf-8
  4> passShellEnvironment:是否开启shell环境变量,默认为false
  5> stderrTimeout:读取标准错误信息超时时长,默认为2000毫秒
   DSC0000.jpg


  


  2、打开TOMCAT_HOME/conf/context.xml
  在context节点上添加一个属性privileged=true
  <Context privileged=&quot;true&quot;>
<!-- Default set of monitored resources -->
<WatchedResource>WEB-INF/web.xml</WatchedResource>
<!-- Uncomment this to disable session persistence across Tomcat restarts -->
<!--
<Manager pathname=&quot;&quot; />
-->
<!-- Uncomment this to enable Comet connection tacking (provides events
on session expiration as well as webapp lifecycle) -->
<!--
<Valve className=&quot;org.apache.catalina.valves.CometConnectionManagerValve&quot; />
-->
</Context>
  3、创建CGI测试程序
  在TOMCAT_HOME/webapps目录下创建建一个应用,如:cgitest,在cgitest应用下创建一个WEB-INF目录,在WEB-INF目录下创建一个cgi目录和一个web.xml文件,然后在cgi目录添加一个CGI测试脚本程序hello.sh和a.c并编译成a.cgi,并修改访问权限。随后启动tomcat,访问http://localhost:8080/cgitest/cgi-bin/hello.sh就可以访问自己写的CGI程序了
  创建好的应用目录结构如下所示:
   DSC0001.jpg


  web.xml:
  <?xml version=&quot;1.0&quot; encoding=&quot;ISO-8859-1&quot;?>
<web-app xmlns=&quot;http://java.sun.com/xml/ns/javaee&quot;
xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot;
xsi:schemaLocation=&quot;http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd&quot;
version=&quot;3.0&quot;
metadata-complete=&quot;true&quot;>
<display-name>Welcome to Tomcat</display-name>
<description>
Welcome to Tomcat
</description>
</web-app>hello.sh:
  #!/bin/sh
echo &quot;Content-type:text/html\n\n&quot;
echo &quot;hello world&quot;a.c
  #include <stdlib.h>
#include <stdio.h>
int main(int argc, const char** args)
{
printf(&quot;Content-type:text/html\n\n&quot;);
printf(&quot;i is cgi programe&quot;);
return 0;
}

测试结果:
   DSC0002.jpg


  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-157673-1-1.html 上篇帖子: perl 脚本实现简单搜索修改文件并生成diff文件 下篇帖子: 【转】利用Perl开发Internet/Intranet应用之二(1)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表