# SZHTTP **Repository Path**: maopaonew/szhttp ## Basic Information - **Project Name**: SZHTTP - **Description**: No description available - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 1 - **Created**: 2026-05-13 - **Last Updated**: 2026-05-16 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # SZHTTP - 简易 Java HTTP 服务器 一个基于 Java 26 开发的轻量级 HTTP 服务器,提供图形化管理界面,支持静态文件服务。 ## 功能特性 - ✅ 图形化管理界面(JavaFX 26 GUI) - ✅ 可配置端口和网站根目录 - ✅ 实时日志显示 - ✅ 支持静态文件服务(HTML、CSS、JS、图片等) - ✅ 多线程并发处理请求 - ✅ 完整的单元测试覆盖(72个测试用例) ## 技术栈 - Java 26 - Maven 3.x - JavaFX 26 (GUI) - JUnit 5 (测试框架) ## 快速开始 ### 环境要求 - JDK 26 或更高版本 - Maven 3.x ### 运行项目 ```bash # 运行项目 mvn javafx:run # 运行测试 mvn test ``` ## 使用说明 1. **启动服务器**: - 设置端口号(默认 8080) - 设置网站根目录(默认 webroot) - 设置线程池大小(默认 20) - 点击「启动服务器」按钮 2. **访问网站**: - 在浏览器中访问 `http://localhost:8080` 3. **停止服务器**: - 点击「停止服务器」按钮 ## 项目结构 ``` SZHTTP/ ├── src/ │ ├── main/ │ │ └── java/ │ │ └── com/sz/ │ │ ├── App.java # 主入口,GUI 界面 │ │ ├── HttpServer.java # HTTP 服务器核心 │ │ ├── ClientHandler.java # 客户端请求处理器 │ │ ├── HttpRequest.java # HTTP 请求解析 │ │ ├── HttpResponse.java # HTTP 响应构建 │ │ └── LogCallback.java # 日志回调接口 │ └── test/ │ └── java/ │ └── com/sz/ │ ├── SystemInfoTest.java # 系统信息测试 │ ├── HttpRequestTest.java # HTTP 请求解析测试 │ ├── HttpResponseTest.java # HTTP 响应构建测试 │ ├── ClientHandlerTest.java# 客户端处理测试 │ ├── HttpServerTest.java # HTTP 服务器测试 │ └── LogCallbackTest.java # 日志回调测试 ├── webroot/ # 默认网站根目录 │ ├── index.html │ ├── form.html │ └── test.html ├── pom.xml # Maven 配置 └── README.md # 项目说明 ``` ## 类说明 | 包名 | 类名 | 功能说明 | | -------- | --------------- | ------------------------------------ | | `com.sz` | `App` | 主应用入口,提供 JavaFx GUI 管理界面 | | `com.sz` | `HttpServer` | HTTP 服务器核心,监听端口并处理连接 | | `com.sz` | `ClientHandler` | 处理单个客户端 HTTP 请求 | | `com.sz` | `HttpRequest` | 解析 HTTP 请求报文 | | `com.sz` | `HttpResponse` | 构建 HTTP 响应报文 | | `com.sz` | `LogCallback` | 日志回调接口,用于 GUI 日志显示 | ## 测试覆盖 | 测试类 | 测试数量 | 覆盖内容 | |--------|----------|----------| | `SystemInfoTest` | 4 | Java/JavaFX 版本获取 | | `HttpRequestTest` | 12 | HTTP 请求解析、GET/POST、查询字符串、请求体 | | `HttpResponseTest` | 20 | 文件发送、错误响应、重定向、Content-Type | | `LogCallbackTest` | 7 | 日志回调接口测试 | | `ClientHandlerTest` | 13 | HTTP 方法检测、路径规范化 | | `HttpServerTest` | 15 | 服务器配置、端口验证、线程池验证 | | **总计** | **71** | **完整测试覆盖** | ## HTTP API 端点 | 路径 | 方法 | 说明 | |------|------|------| | `/` | GET | 返回首页(index.html) | | `/hello` | GET | 返回欢迎页面 | | `/status` | GET | 返回服务器状态 | | `/submit` | POST | 处理表单提交 | | `/form` | POST | 处理表单提交 | | `/*` | GET | 静态文件服务 | ## 许可证 [MIT License](LICENSE)