<%--
Created by IntelliJ IDEA.
User: Je'f'f
Date: 2021/9/2
Time: 14:33
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>$Title$</title>
<script>
function but(){
var xhr = new XMLHttpRequest();
xhr.open("get","single.do");
xhr.send();
xhr.onreadystatechange = function(){
if(xhr.readyState == 4 && xhr.status == 200){
alert(xhr.responseText);
//通过javaScript的内置对象JSON中的parse函数将JSON格式的字符串对转换成javascript对象
var obj = JSON.parse(xhr.responseText);
alert(obj.userid+" "+obj.username);
document.getElementById("span").innerHTML=obj.userid+"<br/>"+obj.username;
}
}
}
</script>
</head>
<body>
<h3>JSON格式的单个响应</h3>
<hr>
<sapn id="span"> </sapn>
<input type="button" value="ok" onclick="but()"/>
</body>
</html>
jsp代码
package pojo;
public class Users {
private int userid;
private String username;
public int getUserid() {
return userid;
}
public void setUserid(int userid) {
this.userid = userid;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
}
Users类
package com.servlet;
import com.fasterxml.jackson.databind.ObjectMapper;
import pojo.Users;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
@WebServlet("/single.do")
public class SingleObjectServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
this.doPost(req, resp);
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
Users users = new Users();
users.setUserid(1);
users.setUsername("tutu");
//使用jackson的API转化为JSON对象
ObjectMapper objectMapper = new ObjectMapper();
//将Users对象转换为JSON格式的字符对象
String string = objectMapper.writeValueAsString(users);
System.out.println(string);
//设置相应类型为application/json
resp.setContentType("application/json");
PrintWriter pw = resp.getWriter();
pw.print(string);
pw.flush();
pw.close();
}
}
SingleObjectServlet

运行结果,点击OK无反应。请问是什么问题,找半天找不出来。

F12看了是这个