[英]send json data from ajax and parse in servlet
Hi I am a newbie in servlet and trying to send object from javascript to servlet using ajax.嗨,我是 servlet 的新手,正在尝试使用 ajax 将对象从 javascript 发送到 servlet。 javascript code looks like this:
javascript 代码如下所示:
$.ajax({
url:'GetUserServlet',
contentType: "application/json",
data: JSON.stringify(response),
type:'post',
cache:false,
success:function(data){
//alert(data);
$('#somediv').text("user info sent successfully");
},
error:function(){
$('#somediv').text("some error occured");
}
}
); );
Here response is object received from facebook api.这里的响应是从 facebook api 收到的对象。 It is:
这是:
reponse={ first_name: "Jhon", last_name: "Doe", id: "19862217575855" }
The doPost
method of GetUserServlet
is defined as: GetUserServlet
的doPost
方法定义为:
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
Gson gson = new Gson();
User user = gson.fromJson(request.getParameter(response), User.class);
System.out.println(user);
}
User.class
is another class containing getter and setter for first_name
, last_name
and id
User.class
是另一个包含first_name
、 last_name
和id
getter 和 setter 的类
But the program is not getting compiled.但是程序没有被编译。 I have used many syntax changes but cannot find the correct value.
我使用了许多语法更改,但找不到正确的值。 How can i get the
response
object inside servlet?如何在 servlet 中获取
response
对象?
// 1. get received JSON data from request
BufferedReader br = new BufferedReader(new InputStreamReader(request.getInputStream()));
String json = "";
if(br != null){
json = br.readLine();
}
// 2. initiate jackson mapper
ObjectMapper mapper = new ObjectMapper();
// 3. Convert received JSON to User
User user = mapper.readValue(json, User.class);
// 4. Set response type to JSON
response.setContentType("application/json");
System.out.println("..user.." + user);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.