简体   繁体   English

从javascript ajax post方法调用java servlet

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

this might seem like a naive question but I'm fairly new to Java servlets and tomcat. 这似乎是一个天真的问题,但我对Java servlets和tomcat相当新。 I'm trying to call a servlet method by .post method in my javascript file. 我试图在我的javascript文件中通过.post方法调用servlet方法。 javascript is used in a .jsp file. javascript用于.jsp文件。 everything works fine as long as the servlet is in the same directory with the jsp but when I change the path for file I can't get it to work no matter what I do. 只要servlet与jsp在同一个目录中,一切正常,但是当我改变文件的路径时,无论我做什么,都无法让它工作。 I tried these: 我试过这些:

    $.post("./classes/myServlets/WEB-INF/order", $.param(data), function(response) {
    document.getElementById("Table").innerHTML = "Considered table number  " + response + "  for you";
});

or 要么

    $.post("/classes/myServlets/WEB-INF/order", $.param(data), function(response) {
    document.getElementById("Table").innerHTML = "Considered table number  " + response + "  for you";
});

or 要么

    $.post("order", $.param(data), function(response) {
    document.getElementById("Table").innerHTML = "Considered table number  " + response + "  for you";
});

or 要么

    $.post("/classes/myServlets/WEB-INF/order.java", $.param(data), function(response) {
    document.getElementById("Table").innerHTML = "Considered table number  " + response + "  for you";
});

I know this must be very easy but I can't find the instructions anywhere. 我知道这一定很容易但我无法在任何地方找到指示。 thank's in advance. 提前致谢。

Your servlet while defined in a .java file and compiled into a class that is stored in your WEB-INF folder, will need to be mapped to a URL (usually in your web.xml). 您的servlet在.java文件中定义并编译为存储在WEB-INF文件夹中的类时,需要映射到URL(通常在您的web.xml中)。 It would not be easy to answer this without more information about what servlet container and framework you are using, but assuming you were just using pure Tomcat (without any framework like Spring) you might look at your web.xml file for something like this: 如果没有关于你正在使用什么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>

With this URL mapped you can then send HTTP POST request with some jQuery like this: 通过映射此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