簡體   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