# FileManagerSystem **Repository Path**: xunL-code/file-manager-system ## Basic Information - **Project Name**: FileManagerSystem - **Description**: 用 JAVA 实现一个基于 HTTP 协议的简易文件服务器 Server 端和 Client 端。 - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-11-04 - **Last Updated**: 2021-11-05 ## Categories & Tags **Categories**: Uncategorized **Tags**: 文件传输 ## README # FileManagerSystem #### 介绍 用 JAVA 实现一个基于 HTTP 协议的简易文件服务器 Server 端和 Client 端。 需求:用 JAVA 实现一个基于 HTTP 协议的简易文件服务器 Server 端和 Client 端。 #### Server 端功能需求: 1. #### 上传文件接口: 响应标准 http 协议的 post 请求发送来的文件,接收到文件后将文件重命名 (使用 UUID)并按照日期保存至服务器文件系统的不同的目录中(目录格 式 yyyyMMdd) ,同时将文件大小、文件类型,原始文件名、创建时间、文 件保存目录地址等元数据记录至数据库中,同时将 UUID 返回给客户端。 2. #### 下载文件接口: 响应客户端获取文件流的 get 请求,客户端参数为接口 1 中返回的 UUID, 在响应中写入文件流, 无其他返回值, 异常响应时返回 410 状态码。 3. #### 获取文件元数据接口: ​ 响应客户端 get 请求,客户端参数为接口 1 中返回的 UUID,返回值为 Json格式的元数据信息。 **Server 端技术要求:** 项目基于 Maven 构建, WEB 服务使用嵌入式 Jetty 或 Tomcat 实现, 只提供接口服务, 无界面, 可以使用任意第三方框架和库。 #### **Client 端功能需求:** **Client 端 SDK:** 封装 HTTP 请求, 实现对 Server 端的 3 个接口的调用。 **Client 端技术要求:** 项目基于 Maven 构建, 尽量不使用第三方框架和依赖, 并实现对客户端 SDK 的单元测试。 #### 软件架构 基于servlet的web项目 #### 安装教程 1. 配置tomcat 2. 选择maven仓库 3. 选择相应的jdk和junit 4、运行数据库文件,数据库使用的mysql #### 使用说明 1.修改com.lx.tool下的SqlInit文件的jdbc连接数据库的数据库名字和用户名密码 2.访问index.jsp进行功能接口选择,上传文件,下载文件获取文件元数据