Java 请求未在spring中传递给rest控制器
我的rest控制器如下所示:Java 请求未在spring中传递给rest控制器,java,spring,spring-mvc,spring-restcontroller,Java,Spring,Spring Mvc,Spring Restcontroller,我的rest控制器如下所示: @RestController public class SmsRestController { @RequestMapping(value = "/sendSMS", method = RequestMethod.POST, consumes = "application/json") public ResponseEntity sendMessage(SmsBean smsBean) { System.out.println("
@RestController
public class SmsRestController {
@RequestMapping(value = "/sendSMS", method = RequestMethod.POST, consumes = "application/json")
public ResponseEntity sendMessage(SmsBean smsBean) {
System.out.println("form data received");
return new ResponseEntity("Messages Sent", HttpStatus.OK);
}
}
$http.post('/sendSMS.html', data).success(success).error(error);
和部署描述符:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
version="3.1">
<session-config>
<session-timeout>
30
</session-timeout>
</session-config>
<display-name>BulkSMS2</display-name>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<servlet>
<servlet-name>BulkSMS2</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>BulkSMS2</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
</web-app>
页面以静态文件的形式打开,当我单击submit时,我向rest控制器发送了一个ajax请求,但是没有调用它。如果用户看到输出,则应打印此行
System.out.println(“收到的表单数据”)代码>位于控制器内部 您错过了路径信息/BulkSMS
并在请求路径中添加了.html
,请尝试以下操作,可能会对您有所帮助;)
或者您可以从ajax请求中删除/BulkSMS
,如下所示:
@RestController
public class SmsRestController {
@RequestMapping(value = "/sendSMS", method = RequestMethod.POST, consumes = "application/json")
public ResponseEntity sendMessage(SmsBean smsBean) {
System.out.println("form data received");
return new ResponseEntity("Messages Sent", HttpStatus.OK);
}
}
$http.post('/sendSMS.html', data).success(success).error(error);
您丢失了路径信息/BulkSMS
,并在请求路径中添加了.html
,请尝试以下操作,可能会对您有所帮助;)
或者您可以从ajax请求中删除/BulkSMS
,如下所示:
@RestController
public class SmsRestController {
@RequestMapping(value = "/sendSMS", method = RequestMethod.POST, consumes = "application/json")
public ResponseEntity sendMessage(SmsBean smsBean) {
System.out.println("form data received");
return new ResponseEntity("Messages Sent", HttpStatus.OK);
}
}
$http.post('/sendSMS.html', data).success(success).error(error);
您已经将servlet映射到“/”
您应该将servlet映射到“/bulkSMS/*”您已经将servlet映射到“/”
您应该将servlet映射到“/bulkSMS/*”如下:servlet映射>BulkSMS2/BulkSMS2/*
?在我上面的评论中尝试过,并在控制台中抛出错误:http://localhost:8084/BulkSMS2/sendSMS 加载资源失败:服务器响应状态为404(未找到)
像这样:servlet映射>BulkSMS2/BulkSMS2/*
?在我上面的评论中尝试了这样的操作,并在控制台中抛出错误:http://localhost:8084/BulkSMS2/sendSMS 加载资源失败:服务器响应状态为404(未找到)
无效..引发错误:http://localhost:8084/BulkSMS2/sendSMS 加载资源失败:服务器响应状态为404(未找到)
OK,您有后缀=.html
,因此您应该将其添加到ajax调用中。请再次检查我的答案。类似错误:http://localhost:8084/sendSMS.html 加载资源失败:服务器响应状态为404(未找到)
@Satyadev通过这种方式,您是否添加了@RequestMapping(value=“/BulkSMS”)
在控制器中?不,我以前没有添加,但刚才我添加了它并尝试了,但仍然是相同的错误不起作用..抛出错误:http://localhost:8084/BulkSMS2/sendSMS 加载资源失败:服务器响应的状态为404(未找到)
确定,您有后缀
=.html
,因此,您应该将其添加到ajax调用中。请再次检查我的答案。类似错误:http://localhost:8084/sendSMS.html 加载资源失败:服务器响应状态为404(未找到)
@Satyadev通过这种方式,您是否添加了@RequestMapping(value=“/BulkSMS”)
在控制器中?不,我以前没有添加,但刚才我添加了它并尝试了,但仍然是相同的错误