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

时间: 2024-10-08 05:04:42

tomcat上部署CGI的相关文章

Solr学习笔记 在Tomcat上部署运行Solr

上一篇我们初识了Solr并且学习了Jetty的启动方式,查看了Solr的管理界面,这一篇我们来实现在Tomcat上部署运行Solr. 部署环境: window7 jdk1.6.0_14 Solr-4.7.2 tomcat-6.0.37 Solr的安装配置Solr home ,主要介绍基于JNDI的配置,其它方式可以参考Solr的wiki. 基于JNDI配置 1:首先建立一个Solr的运行目录. C:\solr-tomcat 将解压缩包中的D:\work\work-tools\solr\solr-

Linux环境下在Tomcat上部署JavaWeb工程

本文讲解如何将我们已经编译好的JavaWeb工程在Linux环境下的Tomcat上进行部署,总体上的思路是和Windows下JavaWeb项目部署到tomcat差不多,具体步骤和命令如下. 注:部署之前必须已经在Linux上安装好JDK,具体如何在Linux上安装JDK见:Linux环境下安装JDK 1 准备工作 1.下载安装Xshell.Xftp(用于远程连接Linux主机,具体自行百度) 2.官网下载Linux下tomcat安装包,我用的是:apache-tomcat-6.0.45.tar.

tomcat 上部署项目方式总结

一.部署方式 1.三种简单的部署方式: (1).即直接将项目从IDE 集成开发环境(eclipse  myeclipse) 部署到tomcat具体的步骤见 Eclipse中的Web项目自动部署到Tomcat (2).war包的部署就是将你的工程打成war包直接拷贝到 tomcat 默认的加载目录下,一般不修改的话都是在webapps 下,也就是conf/servlet/host  的appBase 所指的这个目录. (3).将项目拷贝到comcat的默认加载目录webapps 下,这个和IDE集

dubbo控制台在tomcat上的部署

1.下载dubbo-admin的war包,比如dubbo-admin-2.5.4.war 2.因为在tomcat上部署,所以务必确认安装了JDK和tomcat,以及配置好了环境变量. 3.将dubbo-admin-2.5.4.war直接放在tomcat下webapps文件夹下 4.命令行startup.bat启动tomcat,浏览器地址栏输入localhost:8080/dubbo-admin  (ps:tomcat会自动生成解压包,地址栏与该文件包名称要一致) 5 此时会弹出登录界面,输入用户

JDK+Tomcat+Jenkins部署

1.Tomcat简介    Tomcat是Apache软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache.Sun和其他一些公司及个人共同开发而成.    Tomcat服务器是一个免费的开放源代码的Web应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选.    Tomcat和Nginx.Apache(httpd).lighttpd等Web服务器一样,具有处理HT

linux的tomcat服务器上部署项目的方法

在tomcat服务器上部署项目的前提,是我们已经准备好了tomcat服务器.在CentOs环境下部署JavaWeb环境,部署tomcat服务器在前面的文章中已经总结过了,可以参考以前文章. 一  tomcat服务器修改端口 tomcat服务器配置好以后,默认是8080端口,为了方便访问,我们将端口修改为80端口.比如, tomcat安装在/usr/local/tomcat目录下,利用命令 #cd /usr/local/tomcat/conf #ls 可以tomcat的conf目录下的文件,端口定

在一台服务器上部署多个Tomcat

在一台服务器上配置多个Tomcat的方法: 这几天由于在研究OGSA-DQP,但是其网站上只提供了在Linux下的安装文档,而且需要在一天服务器上配置两个Tomcat,但是我一直没有弄懂怎么在Windows下实现. 如果要在一台服务器上配置多个Tomcat,主要就是要避免Tomcat服务器的端口冲突的问题.只需要修改CATALINA_HOME\conf\server.xml中的启动端口和连接端口就OK了! 下面我们把配置的详细过程写在下面,以供参考:(此例以配置两个Tomcat为例) 1. 下载

linux机器上部署多台Tomcat

在Linux机器上部署多台Tomcat, 我部署的是Tomcat8,只需要一步,即避免端口号冲突. 在解压后的tomcat目录下,修改conf下server.xml. 修改shutdown端口: <Server port="8050" shutdown="SHUTDOWN">//修改为没有被占用的端口 修改connector端口: <Connector port="9999" protocol="HTTP/1.1&qu

别人要访问我的电脑上部署的tomcat,必须关闭防火墙吗?

局域网内要访问服务器上部署的tomcat,必须关闭防火墙吗? 不一定. 如果是需要使用 IP:端口号(ip:port)来访问,可以做以下设置(这里仅是说的tomcat访问). 首先在服务器的控制面板中找到防火墙设置,点高级设置,如下图. 然后,会进入如下界面,点击入站规则-->新建规则. 新建规则界面如下: 选中端口,点击下一步. 选中允许连接,点下一步->下一步,出现如下界面,输入名字即可. 此时,在另外一台电脑上就可以在服务器开启防火墙的情况下访问服务器上的tomcat了. 在防火墙的入站