`
tang9140
  • 浏览: 35125 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

用Perl、Shell脚本基于Tomcat6开发cgi程序环境配置

 
阅读更多

以本人tomcat-6.0.36,linux系统为例:

先切换到tomcat所在home目录,本机为"/usr/local/project/tomcat"

一、修改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>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>

着重说下CGI servlet初始化参数之一(init-param)

executable:CGI程序解析器,默认为perl,如果为空,可以是任何安装在操作系统环境变量的脚本解析器,或是C/C++程序

建议该参数为空,tomcat会根据脚本类型去系统环境找合适的脚本解析器,以支持各类脚本运行,像上例就没有配置该参数

二、修改conf/context.xml

<Context privileged="true">

增加了privileged="true",不然tomcat启动会报错

三、建立测试web项目

在tomcat_home下的webapps目录下创建测试项目test,建议用eclipse工具创建好该web项目基本架构,切换到webapps/test/WEB-INF目录,创建新目录cgi

该目录就是用来存放cgi程序文件用的,对应上面的servlet初始化参数cgiPathPrefix的值WEB-INF/cgi

当然你也可以把你的cgi程序放在其它目录下,相应的修改初始化参数cgiPathPrefix的值。

四、创建shell脚本

切换到WEB-INF/cgi目录,新建hello.sh,内容如下

#!/bin/bash
echo -e "content-type:text/html\n\n" 
echo "hello world"

上面第一个echo命令中,增加了-e参数以开启反斜线转义,如果不加-e参数,可发现\n并没有被当做换行符,只是作为普通字符输出

五、创建perl脚本

同样在cgi目录下,创建hello.pl,内容如下

#!/usr/bin/perl
print "Content-Type: text/html\n\n";
print "hello world";

在浏览器访问http://localhost/test/cgi-bin/hello.pl

http://localhost/test/cgi-bin/hello.sh可看见浏览器正常输出hello world

另说明下:

perl脚本也可以在windows上开发的,但如果最终服务器是linux的话,建议还是在linux上写perl脚本。毕竟windows上和linux下的perl脚本还是有差异的,比如路径分隔符,windows下

的是\和/,而LINUX下的是/,还有其它差异吧,本人也没测过,希望有人在后面补充,我再加上去

版权声明:本文为博主原创文章,未经博主允许不得转载。

分享到:
评论

相关推荐

    shell-perl-python等脚本文件加密工具

    在IT行业中,脚本语言如Shell、Perl和Python在系统管理、自动化任务和软件开发中扮演着重要角色。然而,由于这些脚本通常是文本文件,它们的源代码容易被查看和复制,这可能引发安全问题,特别是当这些脚本包含敏感...

    perl脚本开发教程文档.docx

    perl脚本perl脚本perl脚本perl脚本perl脚本perl脚本perl脚本perl脚本perl脚本perl脚本perl脚本perl脚本perl脚本perl脚本perl脚本perl脚本perl脚本perl脚本perl脚本perl脚本perl脚本perl脚本perl脚本perl脚本perl脚本...

    神奇的perl与使用Perl编写CGI程序合集 PDF

    "CGI编程_使用Perl(jb51.net).pdf"这部分内容会详细解释如何在服务器上配置CGI程序,如何调试和优化CGI脚本,以及如何处理安全性问题。你还将学习如何使用Perl的模板工具,如Template Toolkit,来分离业务逻辑和视图...

    C调用perl脚本程序

    在开始编写C语言程序来调用Perl脚本之前,需要确保开发环境已经正确配置。以下步骤将指导您如何进行必要的设置: 1. **目录添加**: - 打开您的集成开发环境(IDE)或编译器配置工具。 - 导航至`Tools -&gt; Options...

    perl脚本perl脚本perl脚本

    perl脚本perl脚本perl脚本perl脚本

    WINXP+APACHE+MYSQL+PHP+TOMCAT+JSP+PERL+CGI调试环境安装配置手册

    本手册"WINXP+APACHE+MYSQL+PHP+TOMCAT+JSP+PERL+CGI调试环境安装配置手册"聚焦于在Windows XP操作系统上搭建一个多元化的Web开发平台,包括Web服务器、数据库服务器以及多种脚本语言的支持。下面我们将详细探讨这个...

    在Perl下编写CGI程序的扩展模块

    Perl是一种强大的脚本语言,常用于web开发中的服务器端编程,特别是通过CGI(Common Gateway Interface)来创建动态网页。CGI程序允许服务器与客户端进行交互,为用户提供实时的信息和服务。在Perl中,CGI模块是实现...

    shell手册关于cgi编程

    CGI脚本可以用任何语言编写,但Perl和Shell脚本因其简单性和广泛可用性而较为常见。 29.3 连接Web服务器 通过URL(Uniform Resource Locator)可以连接到Web服务器。URL包含协议(如HTTP)、服务器地址和数据。...

    Apache+MySQL+PHP+PHPadmin+Zend+Tomcat+JSP+PERL+CGI调试环境安装配置手册.rar

    《构建全能Web开发环境:Apache、MySQL、PHP、PHPAdmin、Zend、Tomcat、JSP、PERL与CGI配置指南》 在Web开发领域,一个完善的本地开发环境是提高效率和确保项目顺利进行的关键。本手册将详细介绍如何在Windows XP...

    perl cgi

    在Web服务器上配置好CGI环境后,将此脚本保存为`.pl`文件,放在CGI目录下,就可以通过浏览器访问了。 Perl CGI程序的几个关键点包括: 1. 错误处理:确保捕获可能的错误,例如无效的输入或无法连接数据库。 2. 安全...

    在Genesis中使用Perl的配置.doc

    本文旨在详细介绍如何在特定环境下(如Genesis系统)配置Perl环境,并提供一些基本的使用指南。 #### 二、Genesis与Perl的关系 Genesis是一个特定的应用程序或框架,它可能需要Perl脚本来完成某些功能或者作为其...

    perl CGI编程基础

    Perl CGI编程基础是Web开发领域中的一个重要话题,它允许开发者使用Perl语言来创建交互式的Web应用程序。CGI,即Common Gateway Interface(通用网关接口),是一种标准,使得Web服务器能够与各种程序进行通信,处理...

    CGI-Perl实例起步

    总结,CGI-Perl实例起步是一个逐步学习和实践CGI编程的过程,通过分析和执行给出的Perl脚本,我们可以了解CGI程序的工作原理,掌握如何利用Perl处理HTTP请求,生成动态网页,并最终提升Web开发能力。在这个过程中,...

    VB运行perl脚本工具

    VB运行Perl脚本工具是一种编程技术,它允许Visual Basic (VB) 应用程序执行Perl脚本,从而扩展了VB的功能。Perl是一种功能强大的文本处理和脚本编程语言,尤其在系统管理、网络编程和文本操作方面有广泛的应用。本文...

    perl脚本写的串口程序

    在本文中,我们将深入探讨如何使用Perl编写串口程序,以及涉及的相关知识点。 首先,Perl中的串口通信通常依赖于第三方模块,如Device::SerialPort。这个模块提供了与串行端口交互的接口,可以用来读取和写入数据,...

    给linux的shell脚本加密(ZT).rar_Linux shell_shell 脚本_shell加密_shell脚本

    在Linux系统中,Shell脚本是一种非常强大的工具,它允许用户编写自动化任务,执行系统管理操作,甚至构建复杂的程序。然而,随着脚本的复杂性和重要性增加,保护脚本内容的安全变得至关重要,特别是当脚本包含敏感...

    Perl CGI 轻松进阶 PDF

    10. **Web服务器配置**:了解如何在Apache、Nginx等常见Web服务器上配置和运行Perl CGI程序,包括修改配置文件、设置脚本执行权限等。 通过阅读“Perl CGI 轻松进阶 PDF”,读者可以逐步提升自己的Perl CGI技能,...

    shell脚本入门到精通教程

    而对Linux系统爱好者或已具备其他编程语言基础的人来说,学习Shell脚本可以帮助他们更好地理解Linux系统的运作机制,并为学习其他编程语言如Python、Perl等打下坚实基础。 总之,“Shell脚本入门到精通教程”是一份...

    PERL脚本打包视频教材(Genesis)

    《PERL脚本打包视频教材(Genesis)》是一份专为PERL程序员设计的教程,旨在详细讲解如何将PERL源代码封装成可执行的EXE文件,以方便在不同系统环境中运行或分发。这个过程通常被称为PDK打包,它涉及到一系列的技术和...

Global site tag (gtag.js) - Google Analytics