window7 tomcat8 配置python27的cgi

本文介绍如何在Tomcat服务器中配置并运行CGI脚本,包括创建cgi-bin目录、编写Python CGI脚本、修改web.xml和context.xml文件等步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、在ROOT下的WEB-INF文件夹下新建文件夹cgi-bin
2、在cgi-bin文件夹下新建脚本文件cgitest.cgi
	如:
	print "Content-type:text/html"
	print                               # 空行,告诉服务器结束头部
	print '<html>'
	print '<head>'
	print '<meta charset="utf-8">'
	print '<title>我的第一个 CGI 程序!</title>'
	print '</head>'
	print '<body>'
	print '<h2>Hello Word!</h2>'
	print '</body>'
	print '</html>'
3、修改web.xml和context.xml文件
	a. 打开web.xml文件,找到这一段被注释的节点(如下),如果你从没自己修改过,那应该是被注释的,你还需要添加一些参数。
		<servlet>
		<servlet-name>cgi</servlet-name>
		<servlet-class>org.apache.catalina.servlets.CGIServlet</servlet-class>
		<init-param>
		<param-name>clientinputTimeout</param-name>
		<param-value>100</param-value>
		</init-param>
		<init-param>
		<param-name>debug</param-name>
		<param-value>0</param-value>
		</init-param>
		<init-param>
		<param-name>passShellEnvironment</param-name>
		<param-value>true</param-value>
		</init-param>
		<init-param>
		<param-name>cgiPathPrefix</param-name>
		<param-value>WEB-INF/cgi-bin</param-value>
		</init-param>
		<init-param>
		<param-name>executable</param-name>
		<param-value>C:/Python26/python.exe</param-value>
		</init-param>
		<load-on-startup>5</load-on-startup>
		</servlet>
		解释几个重要的参数:
			“passShellEnvironment”: 与Python解析器解析CGI脚本有关,但是一定要配置好Python的环境变量;
			“cgiPathPrefix”: 与Server能够访问的脚本目录有关,与第二步内容相对应;
			“executable”: (这是我的安装路径)与Python解析器有关,没有解析器,Server怎么解析呢~
	b. 找到第二段被注释的节点:
		<servlet-mapping>
		<servlet-name>cgi</servlet-name>//这个名称不能修改
		<url-pattern>/cgi-bin/*</url-pattern>
		</servlet-mapping>
		这里的/cgi-bin/*指定了浏览器访问的地址
		如:http://localhost:8080/cgi-bin/cgitest.cgi
	c. 配置权限:
		打开context.xml,添加:privileged="true"
		<Context privileged="true">
		<!-- Default set of monitored resources -->
		<WatchedResource>WEB-INF/web.xml</WatchedResource>
		<!-- Uncomment this to disable session persistence across Tomcat restarts -->
		<!--
		<Manager pathname="" />
		-->
		<!-- Uncomment this to enable Comet connection tacking (provides events
		on session expiration as well as webapp lifecycle) -->
		<!--
		<Valve className="org.apache.catalina.valves.CometConnectionManagerValve" />
		-->
		</Context>


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值