gpt4 book ai didi

java - Spring MVC 上的 AJAX POST 请求返回 404

转载 作者:行者123 更新时间:2023-12-01 15:16:39 28 4
gpt4 key购买 nike

我正在开发一个项目,需要使用 AJAX 向 Spring Controller 提交 JSOn 对象。但我提交后得到 404。请有人告诉我问题是什么:

我的 AJAX 请求:

    $.ajax({
url: 'NewTestApp/chkDetails/',
type : 'POST',
data : 'pwd='+ p,
timeout: 15000,
async : false,
dataType: 'json',
success: function (data, textStatus, jqXHR) {
displayThings(data);
},
error: function (jqXHR, textStatus, errorThrown) {
$('#error').show();
}
});
}
}

我的 Controller :

@RequestMapping(value = "/chkDetails", method = RequestMethod.POST)
@ResponseBody
public JSONObject getDetails(@RequestParam(value = "pwd")Object sPassword) throws IOException, ParseException
{
JSONObject obj = (JSONObject) JSONValue.parse(sPassword.toString());
JSONObject retObj;

if(obj.isEmpty())
{
System.out.println("hihi");
}
retObj = chk.chkStrength(obj);
return retObj;
}

我的 web.xml:

<servlet>
<servlet-name>spring</servlet-name>
<servlet-class>
org.springframework.web.servlet.DispatcherServlet
</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>spring</servlet-name>
<url-pattern>*.html</url-pattern>
</servlet-mapping>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/spring-servlet.xml</param-value>
</context-param>

和我的 spring-servlet.xml :

<context:component-scan
base-package="main.pwd.controller" />


<bean id="viewResolver"
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="suffix" value=".jsp" />
<property name="prefix" value="/WEB-INF/jsp/" />
</bean>

<bean id="urlMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<property name="urlMap">
<map>
<entry key="/checkDetails.html">
<ref bean="PasswordServiceController"/>
</entry>
</map>
</property>

</bean>
<bean id="PasswordServiceController" class="main.pwd.controller.PasswordServiceController"> </bean>

我对 Spring 很陌生,这是我的第一个项目。很确定我的映射出了问题。

如果目录结构有帮助:

新测试应用程序|网页内容 | |-WEB-INF | | | |-web.xml | |-spring-servlet.xml | |-jsp | | | |- checkDetails.jsp |-index.jsp

index.jsp 能够调用 checkDetails.jsp。另外,AJAX JSON 提交没有问题,当我不将其实现为 Spring MVC 时,应用程序可以完美运行。

我需要为其添加另一个映射吗?

最佳答案

您的调度程序 servlet 的 servlet 映射是 *.html,因此您的请求也应该发送到 /NewTestApp/chkDetails.html 以便由 Spring Controller 处理。如果您希望它由 /NewTestApp/chkDetails 处理,那么调度程序 servlet 映射应该是 /

关于java - Spring MVC 上的 AJAX POST 请求返回 404,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11514720/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com