码迷,mamicode.com
首页 > 其他好文 > 详细

tomcat上部署CGI

时间:2014-06-26 13:58:14      阅读:166      评论:0      收藏:0      [点我收藏+]

标签:tomcat   cgi   部署   

之前学了Perl的基础,本来打算只学Perl如何访问数据库就算了,不过发现CGI也还挺好玩的,顺便学习一下吧,而且通过浏览器和数据库进行交互好像也很酷。

现在CGI不是很流行了,基本上被Jsp/Servlet,.Net,PHP等取代了,反正这也不是Perl的主业。

CGI流行原因有很多,比如效率问题,对于每一个请求都会编译执行一次脚本,虽然现在又mod_perl,但是感觉来的晚了些。此外编写这个脚本还是比较费事的,像上面提到的几种语言,简单的拖拽都可以开发出一个漂亮的页面。(CGI高手请无视我,至少对于新手感觉是这样子的。)

====================================================================

如何在Tomcat上部署CGI?

1.首先你要有一个Tomcat服务器

  到Apache Tomcat官网上去下载,本文使用的是Tomcat 7系列。如果你选用的是更低的版本,可能本文的配置方法对你不适用。

2.想要运行Tomcat还需要java运行环境。

  需要到Oracle官网下载,本文使用为jdk7

3.安装jdk,设置环境变量,如果需要。以我机器上为例:

JAVA_HOME:C:\Program Files (x86)\Java\jdk1.7.0_25    ---JDK安装路径

PATH:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;

CLASSPATH:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;

CATALINA_HOME:E:\apache-tomcat-7.0.53    ---Tomcat解压位置

4.测试一下:在DOS命令行输入startup.bat,服务器启动,最终给出信息:INFO: Server startup in 3054 ms

  也可以在浏览器中输入:http://localhost:8080/ 查看是否启动成功

5.Tomcat7支持CGI,但是默认配置是关闭的需要进行如下配置

    1.修改Tomcat conf/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>cgiPathPrefix</param-name>
          <param-value>WEB-INF/cgi</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>

    2.修改Tomcat conf/context.xml

       在标签<Context>中添加属性 privileged = "true" ,此时,Tomcat才允许web应用使用容器内的Servlet

<Context privileged="true">

    3.此时Tomcat已经可以运行CGI程序了

       当一个CGI请求到达Tomcat时,CGIServlet会对其进行拦截,请求的格式为 http://.../cgi-bin/xxxx,然后CGIServlet会到相应的项目的WEB-INF/cgi目录下调用相应的CGI文件处理请求


6.测试

测试文件目录

perl_cgi

  |---WEB-INF

       |---cgi

           |---hello.pl

hello.pl文件内容

#!C:/strawberry/perl/binperl.exe
print "Content-type: text/html\n\n";
print "Hello, world!\n"

在浏览器中输入:http://localhost:8080/perl_cgi/cgi-bin/hello.pl

输出结果:

Hello, world! 





tomcat上部署CGI,布布扣,bubuko.com

tomcat上部署CGI

标签:tomcat   cgi   部署   

原文地址:http://blog.csdn.net/sunshoupo211/article/details/34432503

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!