有关前后端交互
·
由于我无法直接生成图片,以下采用文本图表形式展示Java Web技术栈的分层架构关系:
+---------------------+
| [6] Spring Boot接口 |
| (Controller) |
+---------↑-----------+
|
+---------------------+
| [5] Spring MVC框架 |
| (DispatcherServlet)|
+---------↑-----------+
|
+---------------------+
| [4] Tomcat容器 |
| (实现Servlet规范) |
+---------↑-----------+
|
+---------------------+
| [3] Servlet规范 |
| (接口标准) |
+---------↑-----------+
|
+---------------------+
| [2] JDK原生网络通信 |
| (ServerSocket/Socket)|
+---------↑-----------+
|
+---------------------+
| [1] 操作系统层 |
| (TCP协议栈) |
+---------------------+
层次说明:
- 操作系统层:提供TCP协议实现等基础网络功能
- JDK原生层:通过
ServerSocket/Socket类提供基础网络通信能力
代码如下:package com.itbear; import java.io.*; import java.net.*; public class SimpleServer { public static void main(String[] args) { int port = 8080; try (ServerSocket serverSocket = new ServerSocket(port)) { System.out.println("服务器启动,监听端口:" + port); while (true) { Socket clientSocket = serverSocket.accept(); new Thread(() -> { try (BufferedReader in = new BufferedReader( new InputStreamReader(clientSocket.getInputStream())); PrintWriter out = new PrintWriter(clientSocket.getOutputStream(), true)) { // 读取浏览器发来的 HTTP 请求头(只读第一行) String requestLine = in.readLine(); System.out.println("收到请求:" + requestLine); // 构造一个简单的 HTTP 响应 String responseBody = "Hello, this is my simple server!"; out.println("HTTP/1.1 200 OK"); out.println("Content-Type: text/html; charset=utf-8"); out.println("Content-Length: " + responseBody.getBytes().length); out.println("Connection: close"); out.println(); // 响应头和响应体之间必须有一个空行 out.print(responseBody); } catch (IOException e) { e.printStackTrace(); } finally { try { clientSocket.close(); } catch (IOException e) { e.printStackTrace(); } } }).start(); } } catch (IOException e) { e.printStackTrace(); } } } - Servlet规范:定义
HttpServlet等标准处理接口 - Tomcat:作为Servlet容器实现规范,内部封装
ServerSocket - SpringMVC:通过
DispatcherServlet封装Servlet实现 - Spring Boot控制器:用户编写的业务处理层接口
以上图示展现了从底层网络通信到上层应用开发的垂直依赖关系,箭头方向表示下层为上层提供服务支持。
openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构
更多推荐
所有评论(0)