Enseñe rápidamente cómo usar json (con el paquete jackson-2.9.0-jar)

Enseñe rápidamente cómo usar json (con el paquete jackson-2.9.0-jar)

Hoy, el blogger se combinó con Ajax para enseñarle cómo usar el formato json para transferir datos rápidamente. Para el Ajax involucrado, puede ver el blog sobre el contenido de Ajax que publiqué antes >>> Entienda rápidamente Ajax

paquete jackson-2.9.0-jar

paquete jackson-2.9.0-jar

Introducción a la función de código

Haga clic en el botón Obtener datos json para enviar los datos obtenidos de nuestro fondo a la página en formato de datos json.

Código de implementación

La
página principal show_json.jsp es responsable de activar el evento de adquisición de datos json y mostrar los datos json en la página.

<%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>接收json数据</title>
<script type="text/javascript">
	function getjson() {
     
     
		//1.创建异步对象
		var xmlHttp = new XMLHttpRequest();
		// 2.绑定事件
		xmlHttp.onreadystatechange = function() {
     
     
		// 处理服务器返回的数据,更新当前页面
		var data = xmlHttp.responseText;
		//eval是执行括号中的代码,把json字符串转为json对象
		var jsonobj = eval("(" + data + ")");
			document.getElementById("username").value = jsonobj.username;
			document.getElementById("password").value = jsonobj.password;
		}
		//布尔型,指定此请求是否为异步方式,默认为true
		// 3.初始请求数据
		xmlHttp.open("post", "sendjsonservlet", true);
		// 4.发起请求
		xmlHttp.send();
	}
</script>
</head>
<body>
	<input type="button" value="获得json数据" onclick="getjson()"/><br/> 
	用户名:<input type="text" id="username"/><br/>
	密码:<input type="text" id="password"/>
</body>
</html>

Clase de
entidad de usuario User.java

package com.test.entity;

public class User {
    
    
	private String username;
	private String password;
	public User() {
    
    
		super();
		// TODO Auto-generated constructor stub
	}
	public String getUsername() {
    
    
		return username;
	}
	public void setUsername(String username) {
    
    
		this.username = username;
	}
	public String getPassword() {
    
    
		return password;
	}
	public void setPassword(String password) {
    
    
		this.password = password;
	}
}

SendJsonServlet.java
usa Jackson para convertir el objeto de entidad a json y transferir los datos obtenidos al objeto asincrónico en ajax a través de la red.

package com.test.controller;

import java.io.IOException;
import java.io.PrintWriter;

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 com.fasterxml.jackson.databind.ObjectMapper;
import com.test.entity.User;

/**
 * Servlet implementation class SendJsonServlet
 */
@WebServlet("/sendjsonservlet")
public class SendJsonServlet extends HttpServlet {
    
    
	private static final long serialVersionUID = 1L;
       
    /**
     * @see HttpServlet#HttpServlet()
     */
    public SendJsonServlet() {
    
    
        super();
    }

	/**
	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    
    
		// TODO Auto-generated method stub
	}

	/**
	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    
    
		// TODO Auto-generated method stub
		// json的默认对象
		String json = "";
		String username = "faker";
		String password = "123456";
		User user = new User();
		user.setUsername(username);
		user.setPassword(password);
		ObjectMapper om = new ObjectMapper();
		//使用Jackson把实体对象转为json
		json = om.writeValueAsString(user);
		// 把获取的数据,通过网络传给ajax中的异步对象,响应结果数据
		// 指定服务器端(servlet)返回浏览器的是json数据格式
		response.setContentType("application/json;charset=utf-8");
		PrintWriter pw = response.getWriter();
		pw.println(json);
		pw.flush();
		pw.close();
	}

}

resultado de ejecución

Abra show_json.jsp y
Inserte la descripción de la imagen aquí
haga clic para obtener datos json para
Inserte la descripción de la imagen aquí
obtener los datos de fondo.
¡llevar a cabo!
Inserte la descripción de la imagen aquí

Supongo que te gusta

Origin blog.csdn.net/zjlwdqca/article/details/112724657
Recomendado
Clasificación