由于题目中没有具体说明需要实现的功能,因此下面提供一个简单的前后端交互的示例代码,供参考。

前端代码(HTML、JavaScript):

<!DOCTYPE html>
<html>
<head>
	<meta charset="UTF-8">
	<title>前后端交互示例</title>
</head>
<body>
	<h1>前后端交互示例</h1>
	<p>请输入一个数字:</p>
	<input type="text" id="input">
	<button onclick="sendRequest()">发送请求</button>
	<p id="output"></p>
	<script>
		function sendRequest() {
			var num = document.getElementById("input").value;
			var xhr = new XMLHttpRequest();
			xhr.onreadystatechange = function() {
				if (xhr.readyState === XMLHttpRequest.DONE) {
					if (xhr.status === 200) {
						document.getElementById("output").innerHTML = xhr.responseText;
					} else {
						alert("请求失败:" + xhr.status);
					}
				}
			};
			xhr.open("POST", 'http://localhost:8080/api/num', true);
			xhr.setRequestHeader("Content-type", "application/json");
			var data = { num: num };
			xhr.send(JSON.stringify(data));
		}
	</script>
</body>
</html>

该示例中包含一个输入框和一个按钮,用户输入一个数字后点击按钮,会向后端发送一个POST请求,请求的路径为http://localhost:8080/api/num,请求的内容为一个JSON对象,该JSON对象包含一个数字字段num,其值为用户输入的数字。当后端返回响应后,前端会将响应内容显示在页面上。

后端代码(Java):

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;
import com.google.gson.Gson;
import com.google.gson.JsonObject;

public class Server {

    public static void main(String[] args) throws Exception {
        ServerSocket serverSocket = new ServerSocket(8080);
        System.out.println("服务器已启动,监听端口 8080");

        while (true) {
            Socket socket = serverSocket.accept();
            System.out.println("客户端已连接:" + socket.getRemoteSocketAddress());

            BufferedReader reader = new BufferedReader(new InputStreamReader(socket.getInputStream()));
            PrintWriter writer = new PrintWriter(socket.getOutputStream(), true);

            String line = reader.readLine();
            StringBuilder sb = new StringBuilder();
            while (line != null && !line.isEmpty()) {
                sb.append(line).append("\n");
                line = reader.readLine();
            }

            String requestBody = sb.toString();
            System.out.println("请求内容:\n" + requestBody);

            JsonObject jsonObject = new Gson().fromJson(requestBody, JsonObject.class);
            int num = jsonObject.get("num").getAsInt();
            int result = num * 2;

            String responseBody = "输入的数字是:" + num + ",其2倍是:" + result;
            System.out.println("响应内容:\n" + responseBody);

            writer.println("HTTP/1.1 200 OK");
            writer.println("Content-type: text/plain");
            writer.println("Content-length: " + responseBody.length());
            writer.println();
            writer.println(responseBody);

            socket.close();
            System.out.println("客户端已断开:" + socket.getRemoteSocketAddress());
        }
    }

}

该示例中使用Java的ServerSocket类创建了一个简单的HTTP服务器,监听端口8080。当有客户端连接时,会读取客户端发送的请求内容,解析其中的数字字段,计算其2倍,并将结果返回给客户端。返回的响应内容包含一个简单的字符串,其中包含输入的数字和其2倍。

需要注意的是,这里的请求和响应都是手动构造的,因此并不是真正的HTTP协议,仅用于示例。在实际开发中,可以使用现成的HTTP库或框架来处理请求和响应。

Java 后端与前端交互代码示例 - 基于 HTTP 协议

原文地址: https://www.cveoy.top/t/topic/lLqn 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录