繁体   English   中英

从javascript ajax post方法调用java servlet

[英]calling a java servlet from javascript ajax post method

这似乎是一个天真的问题,但我对Java servlets和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";
});

我知道这一定很容易但我无法在任何地方找到指示。 提前致谢。

您的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";
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM