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>
1 <servlet-mapping> 2 <servlet-name>cgi</servlet-name> 3 <url-pattern>/cgi-bin/*</url-pattern> 4 </servlet-mapping>
2.修改Tomcat conf/context.xmlapache
在標籤<Context>中添加屬性 privileged = "true" ,此時,Tomcat才容許web應用使用容器內的Servlet瀏覽器
1 <Context privileged="true">
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>')
在瀏覽器中輸入:http://localhost:8080/python_cgi/cgi-bin/hello.py
輸出結果:
Hello Word! 我是一個CGI程序