我在我的ajax文件中编写了post:obj1是Stringified JSON对象。
$.ajax({
url:'./rest/input/post',
type: 'POST',
data:obj1,
contentType: 'application/json',
dataType:'json',
success:function(data)
{
var values = JSON.stringify(data);
alert(values);
},
},'json');我将它传递给一个Java类,如下所示:
@Path("/input")
public class InputResponse {
@POST
@Path("/post")
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
public Input postInputRecord(Input obj){
return obj;
}
}我的Web.xml文件如下所示:
<?xml version="1.0" encoding="ISO-8859-1"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
version="3.0"
metadata-complete="true">
<display-name>CAD</display-name>
<servlet>
<servlet-name>Jersey Web Application</servlet-name>
<servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
<init-param>
<param-name>jersey.config.server.provider.packages</param-name>
<param-value>com.cad.example.response</param-value>
</init-param>
<init-param>
<param-name>com.sun.jersey.config.property.packages</param-name>
<param-value>com.cad.data.model</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Jersey Web Application</servlet-name>
<url-pattern>/rest/*</url-pattern>
</servlet-mapping>
</web-app>这是一个maven项目:我在一个Jetty Server上运行它,同时调用一个url "name/rest/input/post“,但是它给了我404错误。除了以下内容之外,控制台中没有错误。为什么会这样呢?我怎么才能解决这个问题?任何建议都很感激。
发布于 2015-09-16 04:50:59
查看Java类中的path变量。/input翻译为http://localhost:8001/input/post,这可能不是您想要的。
您还将在Java文件中重新声明两次@Path变量。一次在InputResponse类定义之前,然后在InputResponse类本身内。
https://stackoverflow.com/questions/32599609
复制相似问题