Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/324.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 提交ajax表单时如何提及URL?_Java_Javascript_Jquery_Html_Ajax - Fatal编程技术网

Java 提交ajax表单时如何提及URL?

Java 提交ajax表单时如何提及URL?,java,javascript,jquery,html,ajax,Java,Javascript,Jquery,Html,Ajax,我使用HTML/JQuery/AJax调用servlet。我正在向servlet提交一个表单。但它总是给出404,表示未找到资源。我有一个maven项目 我在src/main/java包中有一个Servlet,它是:com.mycompany.sample 我在webapp/public文件夹中有jsp 在web.xml中,我使用url模式注册了servlet/myController 在jsp中,我对表单进行了如下操作: <form action="myController" .....

我使用HTML/JQuery/AJax调用servlet。我正在向servlet提交一个表单。但它总是给出404,表示未找到资源。我有一个maven项目

我在
src/main/java
包中有一个Servlet,它是:
com.mycompany.sample

我在
webapp/public
文件夹中有jsp

在web.xml中,我使用url模式注册了servlet
/myController

在jsp中,我对表单进行了如下操作:

<form action="myController" ...............
但我总是收到404错误,表示未找到
/myController
资源,并收到
onfailure
警报

我是否在我的
表单
ajax
调用中正确引用了
myController


谢谢

像其他人说的那样,尝试完整路径,因为我认为404的原因是缺少应用程序上下文

我不知道您是否使用标记库,但您可以使用url标记生成正确的url:

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<c:url var="myControllerVar" value="/myController" />
否则,您可以尝试使用完整路径,因为我认为缺少应用程序上下文。您可以使用以下JSP变量检索它:

${pageContext.request.contextPath}
看起来是这样的:

${pageContext.request.contextPath}/myController
您可以使用ajax代码:

$.ajax({
    type: "POST",
    url: "${pageContext.request.contextPath}/myController",
    data: dataString,
    success: function(msg) {
        alert('success');
    },
    error: function(ob,errStr) {
        alert('onfailure');
    }
});

像其他人说的那样,尝试完整路径,因为我认为404的原因是缺少应用程序上下文

我不知道您是否使用标记库,但您可以使用url标记生成正确的url:

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<c:url var="myControllerVar" value="/myController" />
否则,您可以尝试使用完整路径,因为我认为缺少应用程序上下文。您可以使用以下JSP变量检索它:

${pageContext.request.contextPath}
看起来是这样的:

${pageContext.request.contextPath}/myController
您可以使用ajax代码:

$.ajax({
    type: "POST",
    url: "${pageContext.request.contextPath}/myController",
    data: dataString,
    success: function(msg) {
        alert('success');
    },
    error: function(ob,errStr) {
        alert('onfailure');
    }
});

另一种方法是在ajax调用中使用以下url:

$.ajax({
    type: "POST",
    url : "<%=request.getContextPath()%>/myController",
    data: dataString,
    success: function(msg) {
        alert('success');
    },
    error: function(ob,errStr) {
        alert('onfailure');
    }
});

我正在传递HttpServletRequest,但没有使用该请求。我返回一个指向success.jsp页面的模型和视图。如果需要,我可以在事件侦听器和提交按钮中包含代码。

另一种方法是在ajax调用中使用以下url:

$.ajax({
    type: "POST",
    url : "<%=request.getContextPath()%>/myController",
    data: dataString,
    success: function(msg) {
        alert('success');
    },
    error: function(ob,errStr) {
        alert('onfailure');
    }
});

我正在传递HttpServletRequest,但没有使用该请求。我返回一个指向success.jsp页面的模型和视图。如果需要,我可以在事件侦听器和提交按钮中包含代码。

myController是文件吗?URL需要指向一个文件。你到底想把数据发送到什么地方?这是一个在web.xmlOh中注册的servlet哦,对不起,我误解了这个问题。可能尝试使用完整路径。尝试在浏览器中键入整个URL。如果你仍然得到一个404,那么你就知道你构建了一个错误的URL。如果你得到了你想要的页面,那么你就知道这是你的代码/配置。。我得到404。但是这个url是正确的。。我如何在ajax代码中引用它?myController是一个文件吗?URL需要指向一个文件。你到底想把数据发送到什么地方?这是一个在web.xmlOh中注册的servlet哦,对不起,我误解了这个问题。可能尝试使用完整路径。尝试在浏览器中键入整个URL。如果你仍然得到一个404,那么你就知道你构建了一个错误的URL。如果你得到了你想要的页面,那么你就知道这是你的代码/配置。。我得到404。但是这个url是正确的。。如何在ajax代码中引用它?