首页 > 编程语言 >Tomat下配置python CGI脚本

Tomat下配置python CGI脚本

时间:2022-12-15 14:36:33浏览次数:58  
标签:CGI cgi CATALINA Tomat xml python HOME


环境:

apache-tomcat-6.0.33

jdk1.6.0_29

python-2.7

 

1. 配置CGI拦截路径 

    打开$(CATALINA_HOME)/conf/web.xml, 去掉有关CGI的注释


<servlet>
<servlet-name>cgi</servlet-name>
<servlet-class>org.apache.catalina.servlets.CGIServlet</servlet-class>
<init-param>
<param-name>debug</param-name>
<param-value>1</param-value>
</init-param>
<init-param>
<param-name>cgiPathPrefix</param-name>
<param-value>WEB-INF/cgi-bin</param-value> <!-- 与url-pattern配置项一致 -->
</init-param>

<init-param>
<param-name>executable</param-name>
<param-value>D:\Python27\python.exe</param-value> <!-- python执行路径 -->
</init-param>
<init-param>
<param-name>passShellEnvironment</param-name>
<param-value>true</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. 配置权限

打开$(CATALINA_HOME)/conf/context.xml, 添加代码 <Context privileged="true">

 

3. 建立CGI工程

      在$(CATALINA_HOME)/webapps下建立如下目录层次:

 

       

 

     web.xml 拷贝至 $(CATALINA_HOME)/webapps/ROOT/web.xml, 在cgi-bin目录下新建simple.cgi

#!D:\Python27\python.exe

import cgitb; cgitb.enable() #enable debug

print 'Content-type: text/html'
print

#print 1/0

print 'Hello world'

 

4. 测试

  

标签:CGI,cgi,CATALINA,Tomat,xml,python,HOME
From: https://blog.51cto.com/u_1923895/5939830

相关文章

  • Python中异常是什么意思?与错误有什么区别?
    在任何编程语言中,编写程序时出现异常或错误情况是常有的事情,也经常有人将错误和异常混为一谈,认为错误就是异常,异常就是错误。那么Python中什么是异常?错误和异常的区别......
  • windows fastcgi
    一.编译apachefastcgi模块  1.编译mod_fastcgi.so  方式一: mod_fastcgi/Win32目录下有mod_fastcgi.dsp和mod_fastcgi_AP2.dsp两个工程文件,但是无法用vc6打开......
  • Python14 文件读写和编码&OS、path模块的使用
    编码文件读写操作#作者:咸瑜file=open("text.txt","r",encoding="utf-8")print(file.readlines())#['姓名:咸瑜\n','年龄:18\n','籍贯:广东·惠州']file.clo......
  • Python爬虫爬取国家统计局2009年到2020年,统计用区划和城乡划分代码(省市区/县三级)并存
    国家统计局->统计标准网址:​​http://www.stats.gov.cn/tjsj/tjbz/tjyqhdmhcxhfdm/​​流程对统计标准的网站进行分层分级爬取  代码importpymysqlfrombs4importBeaut......
  • Python__03--二进制与字符编码
    1二进制与字符编码1.1二进制定义:二进制简单来说就是用两个不同的符号0和1来表示的以2为基数的一个计数系统,是一种机器语言,就是计算机可以看懂的(区别一下python,python......
  • python-非数字型数据-字典
    python-非数字型数据-字典1:定义字典字典使用符号是:{}定义空字典是:字典变量名={}/定义空集合set1=set(),这两个需要区分字典中存储的数据是一键值对的形式存在:键名:键值......
  • python2中mysql插入中文的问题
    insert_sql_template="""insertintoap_console_template(`id`,`name`,`type`,`content`,`desc`)values(%s,'%s',%s,'%s','%s')"""forrow_datain......
  • Python中的return
    Python中,用def语句创建函数时,可以用return语句指定应该返回的值,该返回值可以是任意类型。。return语句就是讲结果返回到调用的地方,并把程序的控制权一起返回程序运......
  • python-docx操作word文档详解
    案例官网地址:https://python-docx.readthedocs.io/en/latest/pipinstallpython-docxfromdocximportDocumentfromdocx.sharedimportInchesdocument=Docum......
  • python并发编程之asyncio协程(三)
    协程实现了在单线程下的并发,每一个协程共享线程的几乎全部的资源,除了协程本身私有的上下文栈;协程的切换属于程序级别的切换,对于操做系统来讲是无感知的,所以切换速度更快、......