tomcat上部署CGI

CGI的定義是:外部應用程序與Web服務器之間的接口。html

1.Tomcat7支持CGI,可是默認配置是關閉的須要進行以下配置python

    修改Tomcat conf/web.xml中兩處代碼,默認是註釋掉的,去掉註釋便可web

 1 <servlet>
 2         <servlet-name>cgi</servlet-name>
 3         <servlet-class>org.apache.catalina.servlets.CGIServlet</servlet-class>
 4         <init-param>
 5           <param-name>debug</param-name>
 6           <param-value>0</param-value>
 7         </init-param>
 8         <init-param>
 9           <param-name>cgiPathPrefix</param-name>
10           <param-value>WEB-INF/cgi</param-value>
11         </init-param>
12         <init-param>  
13       <param-name>executable</param-name>  
14       <param-value>D:/Dev/python/Python36/python.exe</param-value>  
15     </init-param>  
16     <init-param>  
17       <param-name>passShellEnvironment</param-name>  
18       <param-value>true</param-value>  
19     </init-param>  
20          <load-on-startup>5</load-on-startup>
21     </servlet>
View Code
1 <servlet-mapping>
2         <servlet-name>cgi</servlet-name>
3         <url-pattern>/cgi-bin/*</url-pattern>
4     </servlet-mapping>
View Code

2.修改Tomcat conf/context.xmlapache

       在標籤<Context>中添加屬性 privileged = "true" ,此時,Tomcat才容許web應用使用容器內的Servlet瀏覽器

1 <Context privileged="true">
View Code

3.運行CGI程序服務器

       當一個CGI請求到達Tomcat時,CGIServlet會對其進行攔截,請求的格式爲 http://.../cgi-bin/xxxx,而後CGIServlet會到相應的項目的WEB-INF/cgi目錄下調用相應的CGI文件處理請求app

4.測試ide

目錄結構:測試

python_cgi

  |---WEB-INF

       |---cgi

           |---hello.py

hello.py內容:url

 1 print ("Content-type:text/html")
 2 print ()                             # 空行,告訴服務器結束頭部
 3 print ('<html>')
 4 print ('<head>')
 5 print ('<meta charset="GBK">')
 6 print ('<title>Hello Word - 個人第一個 CGI 程序!</title>')
 7 print ('</head>')
 8 print ('<body>')
 9 print ('<h2>Hello Word! 我是一個CGI程序</h2>')
10 print ('</body>')
11 print ('</html>')
View Code

在瀏覽器中輸入:http://localhost:8080/python_cgi/cgi-bin/hello.py

輸出結果:

Hello Word! 我是一個CGI程序
相關文章
相關標籤/搜索