Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.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请求读取RestWebservice中的JSON数据_Java_Json_Ajax_Rest - Fatal编程技术网

Java 如何从AJAX请求读取RestWebservice中的JSON数据

Java 如何从AJAX请求读取RestWebservice中的JSON数据,java,json,ajax,rest,Java,Json,Ajax,Rest,我试图使用AJAX调用从HTML页面向RESTWebservice发送JSON字符串。服务器中的方法被调用,但是我无法通过AJAX调用检索在浏览器中设置的JSON数据。我将使用jersy进行其他服务 这是我的HTML代码 var userConfig={}; userConfig.user=“arin_12”; userConfig.fullName=“Arindam”; var data=JSON.stringify(userConfig); 警报(数据); var req=新的XMLHt

我试图使用AJAX调用从HTML页面向RESTWebservice发送JSON字符串。服务器中的方法被调用,但是我无法通过AJAX调用检索在浏览器中设置的JSON数据。我将使用jersy进行其他服务

这是我的HTML代码


var userConfig={};
userConfig.user=“arin_12”;
userConfig.fullName=“Arindam”;
var data=JSON.stringify(userConfig);
警报(数据);
var req=新的XMLHttpRequest();
请求打开('POST','http://localhost:8080/LiveHive2/rest/hello",对),;
setRequestHeader('Content-Type','application/json;charset=UTF-8');
req.onreadystatechange=函数(){
如果(req.readyState==4&&req.status==200){
如果(请求响应文本){
警报('数据保存为'+req.responseText');
}
}
}
请求发送(数据);
索引页

因此
POST
请求的主体将

{
    "user": "arin_12",
    "fullName": "Arindam"
}
编写这个JSON可以映射到的Java类

public class UserConfig {
    private String user;
    private String fullName;
    // Constructor, Getter, Setter, ...
}
然后,JAX-RS允许您自动将JSON转换为类实例

@POST
@Produces(MediaType.APPLICATION_JSON)
@Consumes(MediaType.APPLICATION_JSON)
public String sayJSONHello2(UserConfig userConfig) {
  System.out.println("got UserConfig: " + userConfig);  
  return "{\"Name\":\"Arindam\"}";
}
还可以让JAX-RS处理结果到JSON的映射。让我们为响应编写第二个类

public class HelloResponse {
    private String name;
    // Constructor, Getter, Setter, ...
}
更改JAX-RS方法以返回此类的实例

@POST
@Produces(MediaType.APPLICATION_JSON)
@Consumes(MediaType.APPLICATION_JSON)
public HelloResponse sayJSONHello2(UserConfig userConfig) {
  System.out.println("got UserConfig: " + userConfig);  
  return new HelloResponse(userConfig.getName());
}

我按照建议试了一下。但是没有起作用。现在甚至sayJSONHello2方法也没有被调用。请参阅新代码。还更新了web.xml。仍然没有进展,JAX-RS2.0上似乎有一些重大升级。根本找不到合适的例子。希望从一些技术人员那里得到答案。。。