【问题标题】:calling a java servlet from javascript ajax post method从 javascript ajax post 方法调用 java servlet
【发布时间】:2017-11-29 19:03:49
【问题描述】:

这似乎是一个幼稚的问题,但我对 Java servlet 和 tomcat 还很陌生。我正在尝试通过 .post 方法在我的 javascript 文件中调用 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";
});

我知道这一定很简单,但我在任何地方都找不到说明。提前谢谢。

【问题讨论】:

    标签: javascript java ajax jsp servlets


    【解决方案1】:

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

    【讨论】:

    • 谢谢。我正在使用纯 tomcat,我正在尝试这个。 @WebServlet("order") 不做同样的事情吗?
    • 它应该,虽然我会添加一个 / 并且假设您将其部署为一个名为 myServlets 的 Web 应用程序,这将使绝对路径(对于您的 ajax 请求)/myServlets/order
    猜你喜欢
    • 2011-08-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-31
    • 1970-01-01
    • 2012-11-12
    • 1970-01-01
    • 2014-05-12
    • 1970-01-01
    相关资源
    最近更新 更多