posts - 2, comments - 27, trackbacks - 0, articles - 60
  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

Tomcat配置cgi运行python脚本

Posted on 2018-10-20 10:34 ZhouFeng 阅读(1487) 评论(0)  编辑  收藏 所属分类: 原创Web开发Web服务器
今天折腾一下如何在Tomcat环境下运行python脚本,查阅了一些文档,把实现的过程小结如下,当前实验环境,Tomcat8,Eclipse。python环境是Anaconda,因为之前有安装这个东东,也就没有重新安装python环境了。首先在Eclipse中创建新工程,并可以在Tomcat中运行起来,接下来才是配置cgi的步骤

1、在web工程WEB-INF目录下创建目录cgi,当然也可以是别的名字
2、修改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</param-value>
    </init-param>
    <init-param>
        <param-name>executable</param-name>
        <param-value>D:/Anaconda3/python.exe</param-value>
    </init-param>
    <load-on-startup>5</load-on-startup>
</servlet>
注意修改python的路径
cgiPathPrefix: 与Server能够访问的脚本目录有关,与之前创建的目录相对应

3、开启cgi的mapping映射,修改web.xml,开启如下设置
<servlet-mapping>
    <servlet-name>cgi</servlet-name>
    <url-pattern>/cgi-bin/*</url-pattern>
</servlet-mapping>
访问路径可以修改为自定义字符
4、修改content.xml文件,在Context中添加privileged属性
<Context privileged="true">

5、在工程cgi目录写python文件,如hello.py
print('Content-type: text/plain\n\n')

print('Hello python')
输出text/plain说明这是一个普通文本,一定注意之后要有两个换行(小心坑啦)!!!

6、运行工程并测试
http://localhost:8080/prj/cgi-bin/hello.py

所见结果,通过这种方法可以在Tomcat环境下运行python脚本了,如果是已经用python脚本做好了服务的话,还是可以考虑通过服务调用的方式与Tomcat工程进行整合,在此记录一下

只有注册用户登录后才能发表评论。


网站导航: