前端:jPlayer (HTML5/Flash 音頻播放) + jQuery/Ajax 交互。
後端:SSH (Struts2 + Spring + Hibernate) 或現代 Spring Boot。
存儲:資料庫存元數據,文件系統/對象存儲存音頻文件。
CREATE TABLE music (
id BIGINT PRIMARY KEY AUTO_INCREMENT,
title VARCHAR(200) NOT NULL,
artist VARCHAR(100),
album VARCHAR(100),
duration INT, -- 秒
cover_url VARCHAR(500), -- 封面圖 URL
audio_url VARCHAR(500) NOT NULL, -- 音頻文件訪問路徑
lyric TEXT, -- 歌詞 (LRC 格式)
play_count INT DEFAULT 0,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
/var/www/music/),Nginx 靜態資源映射。audio_url 為 CDN 域名路徑。GET /api/music/list?page=1&size=20 → 返回 JSON 陣列含 title, artist, audio_url, cover_url, lyric。$("#player").jPlayer({ ready: function() { $(this).jPlayer("setMedia", { mp3: audio_url }); } });POST /api/music/play-count?id=xxx。Music 實體,注意大文本字段(歌詞)用 @Lob。CommonsMultipartFile,存儲至配置目錄,寫入資料庫路徑。服務器即一台擁有存儲空間、可運行 Java/Tomcat 的電腦。將 WAR 包部署至 Tomcat,配置 Nginx 反向代理與靜態資源映射,域名解析至服務器 IP,即可對外訪問。