tomcat上部署CGI
CGI的定义是:外部应用程序与Web服务器之间的接口。
1.Tomcat7支持CGI,但是默认配置是关闭的需要进行如下配置
修改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>
<init-param>
<param-name>executable</param-name>
<param-value>D:/Dev/python/Python36/python.exe</param-value>
</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.修改Tomcat conf/context.xml
在标签<Context>中添加属性 privileged = "true" ,此时,Tomcat才允许web应用使用容器内的Servlet
<Context privileged="true">
3.运行CGI程序
当一个CGI请求到达Tomcat时,CGIServlet会对其进行拦截,请求的格式为 http://.../cgi-bin/xxxx,然后CGIServlet会到相应的项目的WEB-INF/cgi目录下调用相应的CGI文件处理请求
4.测试
目录结构:
python_cgi
|---WEB-INF
|---cgi
|---hello.py
hello.py内容:
print ("Content-type:text/html")
print () # 空行,告诉服务器结束头部
print ('<html>')
print ('<head>')
print ('<meta charset="GBK">')
print ('<title>Hello Word - 我的第一个 CGI 程序!</title>')
print ('</head>')
print ('<body>')
print ('<h2>Hello Word! 我是一个CGI程序</h2>')
print ('</body>')
print ('</html>')
在浏览器中输入:http://localhost:8080/python_cgi/cgi-bin/hello.py
输出结果:
Hello Word! 我是一个CGI程序
tomcat上部署CGI的更多相关文章
- Solr学习笔记-在Tomcat上部署执行Solr
上一篇我们初识了Solr而且学习了Jetty的启动方式.查看了Solr的管理界面,这一篇我们来实如今Tomcat上部署执行Solr. 部署环境: window7 jdk1.6.0_14 Solr-4. ...
- 编写简单的spring mvc程序,在tomcat上部署
编写简单的spring mvc程序,在tomcat上部署 1 用java 配置spring mvc ,可以省去web.xmlpackage hello;import org.springframewo ...
- 一个tomcat上部署多个项目,并通过不同端口号访问不同的项目
原文:http://www.cnblogs.com/kismetv/p/7228274.html#title3-1 现在以部署两个项目为例: 第一步:修改tomcat下的server.xml文件 配置 ...
- idea导出war包并在tomcat上部署
生成war包 (一)进入项目配置页面 然后到达: (二)选择 设置好路径 然后apply (三)生成 然后再指定的目录就可以看见war包了. 部署到tomcat上 (一)将war包拷贝到tomcat的 ...
- Linux环境下在Tomcat上部署JavaWeb工程
本文讲解如何将我们已经编译好的JavaWeb工程在Linux环境下的Tomcat上进行部署,总体上的思路是和Windows下JavaWeb项目部署到tomcat差不多,具体步骤和命令如下. 注:部署之 ...
- Solr04 - 在Jetty和Tomcat上部署Solr单机服务
目录 1 准备安装环境 2 通过内部Jetty服务器启动 3 通过配置Tomcat服务器启动 3.1 删除不需要的应用 3.2 修改服务端口 3.3 部署solr.war 3.4 扩展: 虚拟目录发布 ...
- 用IDEA在Tomcat上部署项目
其实每次在需要运行的jsp页面右键=>run也是可以运行的,但是会出现下面这样 正常应该Run==>Edit Con-- 这时候将看到这个页面,千万不要在Defaults中招Tomcat配 ...
- 在tomcat上部署项目
1.部署项目的第一种方法(项目直接放入 webapps 目录中) 2.部署项目的第二种方法(修改 conf/server.xml 文件 ) 3.部署项目的第三种方法(apache-tomcat-7.0 ...
- 简单springmvc在Eclipse的Tomcat上部署404error,直接在Tomcat上部署可以访问
在Eclipse工程下的.setting文件夹的org.eclipse.wst.common.component这个文件,如下则可以访问: <?xml version="1.0&quo ...
随机推荐
- 关于SQL优化(转载,格式有调整)
一.问题的提出 在应用系统开发初期,由于开发数据库数据比较少,对于查询SQL语句,复杂视图的的编写等体会不出SQL语句各种写法的性能优劣,但是如果将应用 系统提交实际应用后,随着数据库中数据的增加,系 ...
- Android Studio 删除 Module
1.选中Module右击,选择 Open Module Settings,打开Project Structure 窗空.(或者选中Module,按F4打开Project Structure窗口) 2. ...
- ASP.NET Cookie概念、CURD操作、原理、实际运用
会话就WEB开发来说,一个会话就是你通过浏览器与服务器之间的一次通话,只不过这种通话是以用浏览器浏览的方式来实现的. 就会话的应用来说,一般会话是用来识别用户的,比如你可以使用会话级变量记录当前用户已 ...
- 【CF878C】Tournament set+并查集+链表
[CF878C]Tournament 题意:有k个项目,n个运动员,第i个运动员的第j个项目的能力值为aij.一场比赛可以通过如下方式进行: 每次选出2个人和一个项目,该项目能力值高者获胜,败者被淘汰 ...
- thinkphp自动验证详解
自动验证时THINKPHP提供的一种比较好的验证方式,可以在使用create创建数据对象的时候自动进行数据验证. 数据进行自动验证的方式有两种: 1.静态方式:在模型类里面通过$_validate属性 ...
- 8.29 jQuery
2018-8-29 13:22:26 jQuery : http://www.cnblogs.com/liwenzhou/p/8178806.html 都快开学了!我得在家渡劫! 今天下午去俺弟家玩去 ...
- JavaEE Servlet 学习笔记
一.Servlet概述 1.什么是Servlet Servlet是一个运行在服务器端的Java小程序,通过HTTP协议用于接收来自客户端请求,并发出响应. 2.Servlet中的方法 public v ...
- Docker 学习应用篇三:使用docker搭建的环境,安装thinksns
Thinksns 是一个开源的社交网站,因为目前的项目需要用到这个,所以就下载一个安装试试看. 之前在windows上用了wamp,安装的很顺利.但是项目是要部署到linux上的.于是我便用了Dock ...
- Codeforces 838B - Diverging Directions - [DFS序+线段树]
题目链接:http://codeforces.com/problemset/problem/838/B You are given a directed weighted graph with n n ...
- Django的URL name 学习
1.打开工程文件下的url.py: from django.contrib import admin from django.urls import path from django.conf.url ...