这似乎是一个天真的问题,但我对Java servlet和tomcat来说还是个新手。我试图通过我的javascript文件中的.post方法调用servlet方法。 javascript用于.jsp文件。只要servlet与jsp在同一个目录中,一切正常,但是当我改变文件的路径时,无论我做什么,我都无法工作。我试过这些:
$.post("./classes/myServlets/WEB-INF/order", $.param(data), function(response) {
document.getElementById("Table").innerHTML = "Considered table number " + response + " for you";
});
或
$.post("/classes/myServlets/WEB-INF/order", $.param(data), function(response) {
document.getElementById("Table").innerHTML = "Considered table number " + response + " for you";
});
或
$.post("order", $.param(data), function(response) {
document.getElementById("Table").innerHTML = "Considered table number " + response + " for you";
});
或
$.post("/classes/myServlets/WEB-INF/order.java", $.param(data), function(response) {
document.getElementById("Table").innerHTML = "Considered table number " + response + " for you";
});
我知道这一定很容易但我无法在任何地方找到指示。提前谢谢。
答案 0 :(得分:3)
您的servlet在.java文件中定义并编译成存储在WEB-INF
文件夹中的类,需要映射到URL(通常在您的web.xml中)。如果没有关于你正在使用什么servlet容器和框架的更多信息来回答这个问题并不容易,但假设你只是使用纯Tomcat(没有像Spring这样的任何框架),你可能会看到你的web.xml文件,如下所示:
<servlet>
<servlet-name>com.project.Order</servlet-name>
<servlet-class>com.project.Order</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>com.project.Order</servlet-name>
<url-pattern>/order</url-pattern>
</servlet-mapping>
通过映射此URL,您可以使用以下某些jQuery发送HTTP POST请求:
$.post("/order", $.param(data), function(response) {
document.getElementById("Table").innerHTML = "Considered table number " + response + " for you";
});