环境:
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. 测试
- 大小: 16.1 KB
- 大小: 10.7 KB
分享到:
相关推荐
本文将详细解析如何在Tomcat环境下配置`proxy.cgi`作为代理。 首先,`proxy.cgi`是一种通用的HTTP代理脚本,通常用Perl或Python编写,用于处理跨域请求。在OpenLayers中,当需要通过JavaScript访问不同源的地图服务...
- **Apache**:Apache HTTP Server是世界上最流行的Web服务器,它提供了丰富的功能和模块,支持多种编程语言的CGI脚本,如Perl、Python和PHP。Apache的配置文件是`httpd.conf`,通过修改此文件可以自定义服务器行为...
Python可以通过CGI库创建CGI脚本来实现这个功能。 配置代理的过程大致如下: 1. **创建代理程序**:使用Python或其他服务器端语言编写一个代理程序,它接收OpenLayers的请求,然后根据请求参数向GeoServer发送相应...
Servlet 可以执行与 CGI 脚本相同的功能,但使用的是 Java 语言而非 Perl、Python 或 C++,这带来了诸多优势。这些优势包括更易于编写、维护和修改代码,以及 Java 程序在服务器上的执行方式。 - **JSP (Java ...
通过CGI接口,个人Web服务器可以执行外部程序,如Perl、Python脚本或者Java程序,从而扩展服务器的功能,例如实现表单数据处理、数据库交互等动态功能。 项目中的"www.pudn.com.txt"可能包含服务器配置信息、帮助...
- **Tomcat配置**:包括设置环境变量、启动和停止服务、以及配置服务器以处理特定的Web应用。 学习这些内容的目标是掌握动态网站技术,包括数据库的安装和配置,Apache服务器的高级使用,以及如何在Linux环境中...
Apache支持多种操作系统,包括Linux,能处理HTTP协议,提供静态网页内容服务,以及通过CGI(Common Gateway Interface)脚本或其他服务器端编程语言(如PHP、Python等)来处理动态内容。Apache的模块化设计允许灵活...
- CGI脚本:支持Perl、Python等脚本语言,执行用户上传的脚本。 - FastCGI和WSGI:提升动态内容处理效率,支持Django、Flask等Python框架。 8. **版本控制与持续集成**: - mod_dav_svn:集成Subversion,实现...
7. **脚本支持**:Apache支持多种服务器端脚本语言,如PHP、Perl、Python等,书中会讲解如何集成这些语言,并使用CGI或FastCGI运行它们。 8. **虚拟主机**:Apache支持在同一服务器上托管多个网站,通过VirtualHost...
9. **动态内容支持**:除了PHP和Perl,Apache还支持Python、Ruby等其他脚本语言,以及Java的Tomcat和Jetty等应用服务器,通过mod_jk或mod_proxy_ajp模块进行集成。 10. **错误处理**:Apache允许自定义错误页面,以...
Apache支持CGI(通用网关接口)和FastCGI,允许运行服务器端脚本,如Perl、Python或PHP,以提供动态内容。 **10. 集成其他服务** Apache可以通过各种模块与其他服务集成,例如与数据库(如MySQL)或应用服务器(如...
6. **CGI和FastCGI**:关于如何运行服务器端脚本,如PHP、Perl或Python,以及FastCGI的配置方法,以提高CGI应用的性能。 7. **URL重定向和别名**:使用mod_rewrite模块进行URL重定向和规则匹配,以及如何设置URL...
6. **脚本与编程接口**:Apache支持多种脚本语言,如Perl、PHP和Python,以及CGI(通用网关接口)。你可以学习如何使用这些技术动态生成内容,以及如何利用API扩展服务器功能。 7. **Java集成**:对于Java开发者,...
- **易于扩展**:可以通过简单的API进行扩展,支持将Perl、Python等解释器编译到服务器中。 #### 三、Apache软件基金会 - **概述**:Apache软件基金会(ASF)是一个为开源软件项目提供支持的非营利性组织。ASF不仅...
CGI脚本可以由各种编程语言编写,如Perl、Python、PHP等,从而实现网站的动态内容生成和用户交互功能。 以上各点共同构建了互联网服务的核心架构,理解并掌握这些知识点对于开发和维护高效的互联网应用至关重要。在...
FastCGI协议可以扩展支持更多的语言和框架,比如Java的Tomcat FastCGI接口,Ruby的Rack,以及Python的Flup库。 8. **最佳实践**: - **负载均衡**:使用多个FastCGI服务器,实现请求的负载均衡。 - **日志管理**...
7. **CGI支持**:Apache能够执行CGI(Common Gateway Interface)脚本,允许服务器与外部程序交互,如Perl、Python或PHP,从而提供动态内容。 8. **URL重写**:通过mod_rewrite模块,Apache可以实现URL重写,这对于...
2. 路由处理:解析后的请求会被路由到相应的处理函数,根据URL来决定执行哪个操作,如返回静态文件或调用动态脚本。 3. 响应构建:处理函数完成任务后,服务器会构造一个HTTP响应,包括状态码(如200 OK、404 Not ...