我建立了一个简单的网页,只需单击一个按钮即可运行一个简单的python脚本。不幸的是,Tomcat不会执行该python脚本。
我已经将conf / web.xml中的servlet映射标记添加到WEB-INF / web.xml中(CGI Servlet标记) 它显示我文件的内容,而不是执行python脚本。
这是目录和文件:
bash-3.2$ ls -ltr
total 3598
-rw-r----- 1 orte123i dbte123i 3579238 Mar 26 2018 jump.jpg
-rw-r----- 1 orte123i dbte123i 1615 Aug 6 10:49 theme.css
drwxr-x--- 2 orte123i dbte123i 4 Oct 18 10:06 META-INF
drwxr-x--- 2 orte123i dbte123i 3 Oct 18 10:06 cgi-bin
drwxr-x--- 2 orte123i dbte123i 7 Oct 19 06:35 js
-rw-r----- 1 orte123i dbte123i 1442 Oct 19 06:35 index.html
用于调用该脚本的JS脚本是
bash-3.2$ cat custom.js
$(document).ready(function(){
$(sub).click(function(ev){
alert("Button Clicked!!")
ev.preventDefault(); // Stop the form from redirecting the page.
$.ajax({
type:'POST',
url:'cgi-bin/test.py',
success:function (res) {
$('#output').html(res);
}
});
});
});
Python脚本只有一条打印语句:
bash-3.2$ cat test.py
#!/usr/local/bin/python3.6
from threading import Thread, Event
import time
import threading, paramiko
import sys, os
import cgi, cgitb
print("Content-Type: text/html\n\n")
print("hello")
print("hello")
这是我的网页div标签上的结果。
#!/usr/local/bin/python3.6from threading import Thread, Event import time import threading, paramiko import sys, os import cgi, cgitb print("Content-Type: text/html\n\n") print("hello") print("hello")
代码未执行,仅显示文件的内容。
答案 0 :(得分:0)
为什么在Tomcat上使用Python? Tomcat用于提供基于Java的网页。为了提供Python服务,您应该使用Python Flask库(也可以是Tornado,Django,Pyramid)。甚至可以使用以上内容轻松托管JavaScript静态文件。