27 11 2020

系统功能大致描述:基于servlet和jdbc和mysql的音乐分享网站,实现了用户注册和用户登录功能,歌曲的发布,修改,删除,模糊搜索查询等功能。界面简洁,功能简单全面,实现容易,非常适合初学者。

系统运行演示视频:有系统源码运行录制视频,购买源码后和视频效果一样。

系统运行视频演示

系统详细内容介绍
数据库字段说明:数据库使用sql文件存储,导入mysql就可以使用
messages(评论表)
字段名 类型 默认值 主外键 是否为空 注释
id int(11) null 主键 NO 编号
username varchar(30) null YES 评论用户名
comment varchar(600) null YES 评论内容
createtime varchar(30) null YES 评论时间

music(音乐信息表)
字段名 类型 默认值 主外键 是否为空 注释
id int(11) null 主键 NO 编号
title varchar(30) null YES 歌曲名
singer varchar(30) null YES 歌曲作者
time datetime null YES 发布时间
url varchar(50) null YES 音乐路径
userid int(11) null YES 用户ID

userinfo(用户信息表)
字段名 类型 默认值 主外键 是否为空 注释
id int(11) null 主键 NO ID
username varchar(20) null YES 用户名
password varchar(20) null YES 用户密码
age int(11) null YES 用户年龄
gender varchar(10) null YES 用户性别
email varchar(30) null YES 用户邮箱

数据库字段说明

数据库字段说明
系统运行效果截图

歌单管理页面

歌单管理页面

登陆页面

登陆页面

歌单列表

歌单列表

歌单搜索

歌单搜索

歌单信息修改

歌单信息修改

留言栏页面

留言栏页面

视频页面

视频页面

添加歌单页面

添加歌单页面

注册页面

注册页面

网站首页

网站首页
源码目录结构截图展示

项目目录结构截图

项目目录结构截图

项目目录结构截图

项目目录结构截图
部分源码使用说明
driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/javaweb_music?useUnicode=true&characterEncoding=utf-8
username=root
password=root
initial=3
max=10
package dao;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;

import entity.Music;
import entity.User;
import util.DBUtils;

//音乐表数据库操作
public class MusicDao {

	// 添加音乐
	public void insertMusic(Music m) {
		Connection conn = null;
		PreparedStatement ps = null;
		try {
			conn = DBUtils.getConn();
			ps = conn.prepareStatement("INSERT INTO  music(id,title,singer,time,url,userid) VALUES (0,?,?,now(),?,?)");
			ps.setString(1, m.getTitle());
			ps.setString(2, m.getSinger());
			ps.setString(3, m.getUrl());
			ps.setInt(4, m.getUserid());
			ps.executeUpdate();
		} catch (Exception e) {
			e.printStackTrace();
			throw new RuntimeException(e);
		} finally {
			DBUtils.getClose(conn, ps, null);
		}
	}

	// 修改
	public void updateMusic(Music m) {
		Connection conn = null;
		PreparedStatement ps = null;
		try {
			conn = DBUtils.getConn();
			ps = conn.prepareStatement("UPDATE  music SET  title=?,singer=?,time=now(),url=?,userid=? WHERE id=?");
			ps.setString(1, m.getTitle());
			ps.setString(2, m.getSinger());
			ps.setString(3, m.getUrl());
			ps.setInt(4, m.getUserid());
			ps.setInt(5, m.getId());
			ps.executeUpdate();
		} catch (Exception e) {
			e.printStackTrace();
			throw new RuntimeException(e);
		} finally {
			DBUtils.getClose(conn, ps, null);
		}
	}

	// 删除
	public void deleteMusic(int id) {
		Connection conn = null;
		PreparedStatement ps = null;
		try {
			conn = DBUtils.getConn();
			ps = conn.prepareStatement("DELETE FROM music WHERE id  = ? ");
			ps.setInt(1, id);
			ps.executeUpdate();
		} catch (Exception e) {
			e.printStackTrace();
			throw new RuntimeException(e);
		} finally {
			DBUtils.getClose(conn, ps, null);
		}
	}

	// 查询全部歌单
	public List findMusic() {
		List musics = new ArrayList();
		Connection conn = null;
		PreparedStatement ps = null;
		ResultSet rs = null;
		try {
			conn = DBUtils.getConn();
			ps = conn.prepareStatement("select * from music");
			rs = ps.executeQuery();
			while (rs.next()) {
				Music music = new Music();
				music.setId(rs.getInt("id"));
				music.setTitle(rs.getString("title"));
				music.setSinger(rs.getString("singer"));
				music.setTime(rs.getDate("time"));
				music.setUrl(rs.getString("url"));
				music.setUserid(rs.getInt("userid"));
				musics.add(music);
			}
		} catch (Exception e) {
			e.printStackTrace();
			throw new RuntimeException(e);
		} finally {
			DBUtils.getClose(conn, ps, rs);
		}

		return musics;
	}

	// 根据关键字查询歌单
	public List ifMusic(String str) {
		List musics = new ArrayList();
		Connection conn = null;
		PreparedStatement ps = null;
		ResultSet rs = null;
		try {
			conn = DBUtils.getConn();
			ps = conn.prepareStatement("select * from music where title like '%" + str + "%'");
			rs = ps.executeQuery();
			while (rs.next()) {
				Music music = new Music();
				music.setId(rs.getInt("id"));
				music.setTitle(rs.getString("title"));
				music.setSinger(rs.getString("singer"));
				music.setTime(rs.getDate("time"));
				music.setUrl(rs.getString("url"));
				music.setUserid(rs.getInt("userid"));
				musics.add(music);
			}
		} catch (Exception e) {
			e.printStackTrace();
			throw new RuntimeException(e);
		} finally {
			DBUtils.getClose(conn, ps, rs);
		}
		return musics;
	}

	// 根据id获取音乐信息
	public Music getMusic(int id) {
		Music music = new Music();
		Connection conn = null;
		PreparedStatement ps = null;
		ResultSet rs = null;
		try {
			conn = DBUtils.getConn();
			ps = conn.prepareStatement("select * from music where id=" + id);
			rs = ps.executeQuery();
			while (rs.next()) {
				music.setId(rs.getInt("id"));
				music.setTitle(rs.getString("title"));
				music.setSinger(rs.getString("singer"));
				music.setTime(rs.getDate("time"));
				music.setUrl(rs.getString("url"));
				music.setUserid(rs.getInt("userid"));
			}
		} catch (Exception e) {
			e.printStackTrace();
			throw new RuntimeException(e);
		} finally {
			DBUtils.getClose(conn, ps, rs);
		}
		return music;
	}

}

数据库创建表语句

DROP TABLE IF EXISTS `messages`;
CREATE TABLE `messages`  (
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '编号',
  `username` varchar(30) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '评论用户名',
  `comment` varchar(600) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '评论内容',
  `createtime` varchar(30) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '评论时间',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 15 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '评论表' ROW_FORMAT = Compact;

-- ----------------------------
-- Records of messages
-- ----------------------------
INSERT INTO `messages` VALUES (2, '游客', '你们好呀', '2019-06-16 13:06:00 星期日');
INSERT INTO `messages` VALUES (3, 'xiao', '大家好才是真的好', '2019-06-16 13:06:57 星期日');
INSERT INTO `messages` VALUES (4, '游客', '第一次留言', '2019-06-16 13:08:50 星期日');
INSERT INTO `messages` VALUES (5, 'xiao', '我也来留言试试', '2019-06-16 13:09:20 星期日');
INSERT INTO `messages` VALUES (6, 'xiao', '大家可以来音乐平台交流下。', '2019-06-16 13:09:51 星期日');
INSERT INTO `messages` VALUES (7, '游客', '这个网站真不错', '2019-07-18 17:34:29 星期四');
INSERT INTO `messages` VALUES (8, '游客', '这个网站真不错', '2019-07-18 17:34:31 星期四');
INSERT INTO `messages` VALUES (9, '游客', '这个网站真不错', '2019-07-18 17:34:32 星期四');
INSERT INTO `messages` VALUES (10, '游客', '音乐非常好听', '2019-07-18 17:34:49 星期四');
INSERT INTO `messages` VALUES (11, 'tianming', '我要测试一下留言', '2019-07-18 17:37:21 星期四');
INSERT INTO `messages` VALUES (12, '游客', '测试留言', '2019-07-18 17:51:28 星期四');
INSERT INTO `messages` VALUES (13, '游客', '是的发送到', '2019-07-18 17:51:32 星期四');
INSERT INTO `messages` VALUES (14, 'tianming', '我要来测试留言', '2019-07-18 17:52:14 星期四');

-- ----------------------------
-- Table structure for music
-- ----------------------------
DROP TABLE IF EXISTS `music`;
CREATE TABLE `music`  (
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '编号',
  `title` varchar(30) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '歌曲名',
  `singer` varchar(30) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '歌曲作者',
  `time` datetime NULL DEFAULT NULL COMMENT '发布时间',
  `url` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '音乐路径',
  `userid` int(11) NULL DEFAULT NULL COMMENT '用户ID',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 17 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '音乐信息表' ROW_FORMAT = Compact;

-- ----------------------------
-- Records of music
-- ----------------------------
INSERT INTO `music` VALUES (2, '月半小夜曲', '陈乐基', '2019-06-15 12:22:51', '陈乐基 - 月半小夜曲 - Mc Yy版.mp3', 1);
INSERT INTO `music` VALUES (3, '忘记你还需要多久', '陈玉建', '2019-06-15 12:26:54', '陈玉建 - 忘记你还需要多久.mp3', 1);
INSERT INTO `music` VALUES (4, '情人', '古巨基', '2019-06-15 12:27:43', '古巨基 - 情人.mp3', 1);
INSERT INTO `music` VALUES (5, '我不愿让你一个人', '品冠 ', '2019-06-15 12:28:19', '品冠 - 我不愿让你一个人.mp3', 1);
INSERT INTO `music` VALUES (6, '情凭谁来定错对', '谭咏麟', '2019-06-16 12:29:03', '谭咏麟 - 情凭谁来定错对.mp3', 1);
INSERT INTO `music` VALUES (7, '雨夜的浪漫', '谭咏麟', '2019-06-16 12:29:38', '谭咏麟 - 雨夜的浪漫.mp3', 1);
INSERT INTO `music` VALUES (8, '谁明浪子心', '王杰', '2019-06-16 12:30:08', '王杰、赵学而 - 谁明浪子心.mp3', 1);
INSERT INTO `music` VALUES (9, '幸福了 然后呢', 'A-Lin', '2019-06-16 12:30:41', 'A-Lin - 幸福了 然后呢.mp3', 1);
INSERT INTO `music` VALUES (14, '美食意见123', '我来也', '2019-07-18 17:52:57', '陈乐基 - 月半小夜曲 - Mc Yy版.mp3', 2);
INSERT INTO `music` VALUES (15, '月半小夜曲', '我来也', '2019-07-18 17:53:14', '陈乐基 - 月半小夜曲 - Mc Yy版.mp3', 2);
INSERT INTO `music` VALUES (16, '月半小夜曲2', '我来也', '2019-07-18 17:53:20', '陈乐基 - 月半小夜曲 - Mc Yy版.mp3', 2);

-- ----------------------------
-- Table structure for userinfo
-- ----------------------------
DROP TABLE IF EXISTS `userinfo`;
CREATE TABLE `userinfo`  (
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'ID',
  `username` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '用户名',
  `password` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '用户密码',
  `age` int(11) NULL DEFAULT NULL COMMENT '用户年龄',
  `gender` varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '用户性别',
  `email` varchar(30) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '用户邮箱',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 3 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '用户信息表' ROW_FORMAT = Compact;

-- ----------------------------
-- Records of userinfo
-- ----------------------------
INSERT INTO `userinfo` VALUES (1, 'xiao', '123456', 18, 'boy', '123@sina.com');
INSERT INTO `userinfo` VALUES (2, 'tianming', '123456', 18, 'boy', 'tianming@qq.com');


项目使用简单说明

基于servlet和jdbc和mysql的音乐分享网站,实现了用户注册和用户登录功能,歌曲的发布,修改,删除,模糊搜索查询等功能。

界面简洁,功能简单全面,实现容易,非常适合初学者。


【系统登录账号:】

用户登录账号: tianming   123456【账号可以自行注册】


数据库文件使用方法:

使用方法一: 在mysql中新建一个名为javaweb_music的数据库;

导入javaweb_music.sql文件内容即可                            


数据库连接信息修改:jdbc.properties 中进行修改就可以


发表评论