基于javaweb+springboot的音乐网站音乐平台(java+Springboot+ssm+mysql+maven+jsp)

基于javaweb+springboot的音乐网站音乐平台(java+Springboot+ssm+mysql+maven+jsp)
一、项目简述
功能: 用户管理模块:用户登录、用户注册、修改密码 榜单列表模块:动态地从数据库中获取歌曲的链接和数据 在榜单中显示 歌曲搜索模块:在首页的搜索框中可以输入关键字进行歌 曲的模糊搜索 歌曲收藏模块:在榜单列表中或搜索页面中可以点击歌曲 进行收藏 我的音乐模块:收藏的歌曲会被添加到我的音乐列表中, 在我的音乐列表中也可以对歌曲进行删除操作 音乐播放器模块:在榜单、搜索页面和我的音乐列表等地 方点击歌曲可以炼专到播放页面进行播放。播放页面显示 播放进度条,删除歌曲,暂停等操作。播放页面背景为模 糊背景,根据歌手的专辑图片自动变化。

二、项目运行
环境配置: Jdk1.8 + Tomcat8.5 + mysql + Eclispe (IntelliJ IDEA,Eclispe,MyEclispe,Sts 都支持)

项目技术: JSP +SpringBoot + MyBatis + html+ css + JavaScript + JQuery + Ajax + Bootstrap+ maven 等等。

请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述

适用

课程设计,大作业,毕业设计,项目练习,学习演示等

					listFont.add(voFont);
					voFont = new MyMusic();
				}
				map.put("list", listFont);
				data = map;
				statusMsg = "根据条件获取分页数据成功!!!";
			} else {
				map.put("list", list);
				data = map;
				statusCode = 202;
				statusMsg = "no record!!!";
				return webResponse.getWebResponse(statusCode, statusMsg, data);
			}
		}catch (Exception e){
		}
		return webResponse.getWebResponse(statusCode, statusMsg, data);
				List<MyMusic> listFont = new ArrayList<MyMusic>();
				MyMusic vo;
				MyMusic voFont = new MyMusic();
				for (int i = 0; i < size; i++) {
					vo = list.get(i);
					// 通过java反射将类中当前属性字段对应的内容复制到另外一个类中
					BeanUtils.copyProperties(vo, voFont);
					listFont.add(voFont);
					voFont = new MyMusic();
				}
				map.put("list", listFont);
				data = map;
				statusMsg = "根据条件获取分页数据成功!!!";
			} else {
				map.put("list", list);
				data = map;
				statusCode = 202;
				statusMsg = "no record!!!";
		System.out.println("结束");
		Map<Object, Object> map = new HashMap<Object, Object>();
		map.put("total", count);
		int size = list.size();
		if (size > 0) {
			List<MusicLink> listFont = new ArrayList<MusicLink>();
			MusicLink vo;
			MusicLink voFont = new MusicLink();
			for (int i = 0; i < size; i++) {
				vo = list.get(i);
				BeanUtils.copyProperties(vo, voFont);
				listFont.add(voFont);
		condition.put("tb_status='" + tbStatus + "'", "");
		User userVo = this.userService.getOne(condition);
		Object data = null;
		String statusMsg = "";
		if (userVo != null && userVo.getUser_id() > 0) {
			data = userVo;
			statusMsg = "根据条件获取单条数据成功!!!";
		} else {
			statusMsg = "no record!!!";
		}
		return webResponse.getWebResponse(statusMsg, data);
	}
	@RequestMapping(value = "/getUserList", method = RequestMethod.POST, produces = "application/json;charset=UTF-8")
	@ResponseBody
	public WebResponse getTestList(HttpServletRequest request, HttpServletResponse response, HttpSession session,
				voFont = new MusicLink();
			}
			map.put("list", listFont);
			data = map;
//				for (int i = 0; i < map.size(); i++) {
//					System.out.println(map.get(listFont).toString());
//				}
//				
			statusMsg = "根据条件获取分页数据成功!!!";
		} else {
			map.put("list", list);
			data = map;
			statusCode = 202;
			statusMsg = "no record!!!";
			return webResponse.getWebResponse(statusCode, statusMsg, data);
		}
		return webResponse.getWebResponse(statusCode, statusMsg, data);
	}
	// 歌曲收藏
	@RequestMapping(value = "/addMusicCollect", method = RequestMethod.POST, produces = "application/json;charset=UTF-8")
	@ResponseBody
		int count = this.userService.getCount(condition, field);
		if (order != null && order.length() > 0 & "desc".equals(desc)) {
			order = order + " desc";
		}
		List<User> list = this.userService.getList(condition, pageNo, pageSize, order, field);
		Map<Object, Object> map = new HashMap<Object, Object>();
		map.put("total", count);
		int size = list.size();
		if (size > 0) {
			List<User> listFont = new ArrayList<User>();
			User vo;
			User voFont = new User();
			for (int i = 0; i < size; i++) {
				vo = list.get(i);
				BeanUtils.copyProperties(vo, voFont);
				listFont.add(voFont);
				voFont = new User();
			}
			map.put("list", listFont);
			data = map;
			statusMsg = "根据条件获取分页数据成功!!!";
		} else {
		int uId = 0;
		// 取参数的方法,对应登录表单中的用户名
		String user_name = request.getParameter("user_name");
		String newUser_password = request.getParameter("newUser_password");
		try {
			uId = (int) this.userService2.resetPassword(user_name, newUser_password);
			System.out.println("修改密码返回的id:" + uId);
		} catch (Exception e) {
		}
		return webResponse.getWebResponse(statusCode, statusMsg, data);
	}
	// 用户注册
		Map<Object, Object> map = new HashMap<Object, Object>();
		map.put("total", count);
		int size = list.size();
		if (size > 0) {
			List<User> listFont = new ArrayList<User>();
			User vo;
			User voFont = new User();
			for (int i = 0; i < size; i++) {
				vo = list.get(i);
				BeanUtils.copyProperties(vo, voFont);
				listFont.add(voFont);
				voFont = new User();
			}
			map.put("list", listFont);
			data = map;
			statusMsg = "根据条件获取分页数据成功!!!";
				for (int i = 0; i < size; i++) {
					vo = list.get(i);
					// 通过java反射将类中当前属性字段对应的内容复制到另外一个类中
					BeanUtils.copyProperties(vo, voFont);
					listFont.add(voFont);
					voFont = new MyMusic();
				}
				map.put("list", listFont);
				data = map;
				statusMsg = "根据条件获取分页数据成功!!!";
			} else {
				map.put("list", list);
				data = map;
				statusCode = 202;
				statusMsg = "no record!!!";
				return webResponse.getWebResponse(statusCode, statusMsg, data);
			}
		}catch (Exception e){
		}
		return webResponse.getWebResponse(statusCode, statusMsg, data);
	}
	// 删除音乐
	@RequestMapping(value = "/deleteMyMusic", method = RequestMethod.POST, produces = "application/json;charset=UTF-8")
			System.out.println("状态码:" + webResponse.getStatusCode());
			System.out.println("登录成功了");
			System.out.println();
			return webResponse.getWebResponseUserId(statusCode, statusMsg, data, userId);
		}
	}
	// 更改密码 更改密码 更改密码
	@RequestMapping(value = "/resetUserPassword", method = RequestMethod.POST, produces = "application/json;charset=UTF-8")
	@ResponseBody
	public WebResponse resetUserPassword(HttpServletRequest request, HttpSession session) {
		Object data = null;
		String statusMsg = "";
		Integer statusCode = 200;
		// 取参数的方法,对应登录表单中的用户名
		String user_name = request.getParameter("user_name");
		String newUser_password = request.getParameter("newUser_password");
		try {
			uId = (int) this.userService2.resetPassword(user_name, newUser_password);
			System.out.println("修改密码返回的id:" + uId);
		} catch (Exception e) {
		}
		return webResponse.getWebResponse(statusCode, statusMsg, data);
	}
	// 用户注册
	@RequestMapping(value = "/addOrEditUser", method = RequestMethod.POST, produces = "application/json;charset=UTF-8")
	@ResponseBody
	public WebResponse addOrEditTest(HttpServletRequest request, HttpServletResponse response, HttpSession session,
			String user_id, @RequestParam(required = false) String user_name,
			@RequestParam(required = false) String user_password) {
		Object data = null;
		String statusMsg = "用户名已存在,请重新注册!";
			buf.append(")");
			condition.put(buf.toString(), "and");
		}
		String field = null;
		if (condition.size() > 0) {
			condition.put(condition.entrySet().iterator().next().getKey(), "");
		}
		int count = this.userService.getCount(condition, field);
		if (order != null && order.length() > 0 & "desc".equals(desc)) {
			order = order + " desc";
		}
		List<User> list = this.userService.getList(condition, pageNo, pageSize, order, field);
		Map<Object, Object> map = new HashMap<Object, Object>();
		map.put("total", count);
		int size = list.size();
		if (size > 0) {
			map.put("list", list);
			data = map;
			statusMsg = "根据条件获取分页数据成功!!!";
		} else {
			map.put("list", list);
			data = map;
			statusCode = 202;
			statusMsg = "no record!!!";
			return webResponse.getWebResponse(statusCode, statusMsg, data);
		}
		return webResponse.getWebResponse(statusCode, statusMsg, data);
	}
	// 歌曲收藏
	@RequestMapping(value = "/addMusicCollect", method = RequestMethod.POST, produces = "application/json;charset=UTF-8")
	@ResponseBody
	public WebResponse addMusicCollect(HttpServletRequest request, HttpServletResponse response, HttpSession session,
			@RequestParam(required = false) int song_id, @RequestParam(required = false) String user_name,
			@RequestParam(required = false) String user_password, @RequestParam(required = false) String songName) {
		WebResponse webResponse = new WebResponse();
		MusicLink musicLink = new MusicLink();
		User user = new User();
		System.out.println("歌曲id:" + song_id + " 用户名:" + user_name + "  户用密码:" + user_password);
		Object data = null;
		String statusMsg = "";
		int statusCode = 200;
		String user_Id = null;
		try {
			return webResponse.getWebResponse(statusCode, statusMsg, data);
		} else {
			statusCode = 200;
			webResponse.setStatusCode(statusCode);
			System.out.println("状态码:" + webResponse.getStatusCode());
			System.out.println("登录成功了");
			System.out.println();
			return webResponse.getWebResponseUserId(statusCode, statusMsg, data, userId);
		}
	}
	// 更改密码 更改密码 更改密码
	@RequestMapping(value = "/resetUserPassword", method = RequestMethod.POST, produces = "application/json;charset=UTF-8")
	@ResponseBody
	public WebResponse resetUserPassword(HttpServletRequest request, HttpSession session) {
		Object data = null;
		String statusMsg = "";
		System.out.println("登录的id:" + user.getUser_id());
		System.out.println("登录的用户名:" + session.getAttribute(tname));
		System.out.println("前端,用户名:" + user_name + " 密码:" + user_password);
		System.out.println("根据前端在数据库中查找到的用户名:" + tname + " 用户的id:" + userId);
		// 用户名和密码匹配不成功,则返回的用户名为空
		if (tname == null) {
			System.out.println("用户不存在");
			System.out.println();
			statusMsg = "用户或密码错误!";
			statusCode = 201;
			return webResponse.getWebResponse(statusCode, statusMsg, data);
		} else {
			statusCode = 200;
			webResponse.setStatusCode(statusCode);
			System.out.println("状态码:" + webResponse.getStatusCode());
			System.out.println("登录成功了");
			System.out.println();
			return webResponse.getWebResponseUserId(statusCode, statusMsg, data, userId);
		}
//				for (int i = 0; i < map.size(); i++) {
//					System.out.println(map.get(listFont).toString());
//				}
//				
			statusMsg = "根据条件获取分页数据成功!!!";
		} else {
			map.put("list", list);
			data = map;
			statusCode = 202;
			statusMsg = "no record!!!";
			return webResponse.getWebResponse(statusCode, statusMsg, data);
		}
		return webResponse.getWebResponse(statusCode, statusMsg, data);
	}
	// 歌曲收藏
			condition.put(buf.toString(), "and");
		}
		String field = null;
		if (condition.size() > 0) {
			condition.put(condition.entrySet().iterator().next().getKey(), "");
		}
		int count = this.userService.getCount(condition, field);
		if (order != null && order.length() > 0 & "desc".equals(desc)) {
			order = order + " desc";
		}
		List<User> list = this.userService.getList(condition, pageNo, pageSize, order, field);
		Map<Object, Object> map = new HashMap<Object, Object>();
		MyMusic myMusic = new MyMusic();
		System.out.println("接收到的用户名:" + user_name);
		Integer statusCode = 200;
		// 数据库插入语句,对应xml文件的insert
		this.myMusicService.insert(myMusic);
		webResponse.setStatusCode(statusCode);
		return webResponse;
	}
	// 从数据库中获取歌曲数据,在我的音乐中显示
	@RequestMapping(value = "/getMyMusicList", method = RequestMethod.POST, produces = "application/json;charset=UTF-8")
	@ResponseBody
	public WebResponse getMyMusicList(HttpServletRequest request, HttpServletResponse response, HttpSession session,
			@RequestParam(defaultValue = "1", required = false) Integer pageNo,
			@RequestParam(defaultValue = "10", required = false) Integer pageSize,
			@RequestParam(defaultValue = "正常", required = false) String tbStatus,
			@RequestParam(required = false) String keyword,
			@RequestParam(defaultValue = "ml_id", required = false) String order,
	protected IMusicLinkService musicLinkService;
	@Resource
	protected MusicLinkService musicLinkService2;
	
	
	/**
	 *  //常用注解快速解释:
	 *  @Controller :用于标记在一个类上,使用它标记的类就是一个SpringMVC Controller 对象。
	 *  分发处理器将会扫描使用了该注解的类的方法,并检测该方法是否使用了@RequestMapping 注解。@Controller 
	 *  只是定义了一个控制器类,而使用@RequestMapping 注解的方法才是真正处理请求的处理器。
	 *  
	 *  @RequestMapping :是一个用来处理请求地址映射的注解,可用于类或方法上。
	 *  用于类上,表示类中的所有响应请求的方法都是以该地址作为父路径;
	 *  用于方法上,表示在类的父路径下追加方法上注解中的地址将会访问到该方法
	 *  
	 *  @Autowired:@Autowired 注释,它可以对类成员变量、方法及构造函数进行标注,完成自动装配的工作。 通过 @Autowired的使用来消除 set ,get方法。
	 *  
	 * 
			data = map;
			statusMsg = "根据条件获取分页数据成功!!!";
		} else {
			map.put("list", list);
			data = map;
			statusCode = 202;
			statusMsg = "no record!!!";
			return webResponse.getWebResponse(statusCode, statusMsg, data);
		}
		return webResponse.getWebResponse(statusCode, statusMsg, data);
		System.out.println("接收到的用户名:" + user_name);
		Integer statusCode = 200;
		// 数据库插入语句,对应xml文件的insert
		this.myMusicService.insert(myMusic);
		webResponse.setStatusCode(statusCode);
		return webResponse;
	}
	// 从数据库中获取歌曲数据,在我的音乐中显示
	@RequestMapping(value = "/getMyMusicList", method = RequestMethod.POST, produces = "application/json;charset=UTF-8")
	@ResponseBody
	public WebResponse getMyMusicList(HttpServletRequest request, HttpServletResponse response, HttpSession session,
			@RequestParam(defaultValue = "1", required = false) Integer pageNo,
			@RequestParam(defaultValue = "10", required = false) Integer pageSize,
		String statusMsg = "";
		if (num > 0) {
			statusMsg = "成功删除!!!";
		} else {
			statusMsg = "no record!!!";
		}
		return webResponse.getWebResponse(statusMsg, data);
	}
}
我的音乐控制层:
/**
 * 我的音乐控制层
 */
@Controller
@RequestMapping("/myMusic")
public class MyMusicController {
	@Autowired
	protected WebResponse webResponse;
	@Resource
	public WebResponse getSongRearch(HttpServletRequest request, HttpServletResponse response, HttpSession session,
			@RequestParam(required = false) String songName) {
		Object data = null;
		String statusMsg = "";
		int statusCode = 200;
		// 调用Mapper层的songRearch方法,进行数据库的操作
		List<MusicLink> list = this.musicLinkService2.songRearch(songName);
		int count = list.size();
		System.out.println();
		System.out.println("搜索到的歌曲数:" + count);
		System.out.println("结束");
		Map<Object, Object> map = new HashMap<Object, Object>();
		map.put("total", count);
		int size = list.size();
		if (size > 0) {
			List<MusicLink> listFont = new ArrayList<MusicLink>();
}
我的音乐控制层:
/**
 * 我的音乐控制层
 */
@Controller
@RequestMapping("/myMusic")
public class MyMusicController {
	@Autowired
	protected WebResponse webResponse;
	@Resource
	protected IMyMusicService myMusicService;
//	@Autowired
//	MyMusicService myMusicService2;
	// 歌曲收藏
			}
			map.put("list", listFont);
			data = map;
			statusMsg = "根据条件获取分页数据成功!!!";
		} else {
			map.put("list", list);
			data = map;
			statusCode = 202;
			statusMsg = "no record!!!";
			return webResponse.getWebResponse(statusCode, statusMsg, data);
		}
		return webResponse.getWebResponse(statusCode, statusMsg, data);
	}
	@RequestMapping(value = "/getAdminUserList", method = RequestMethod.POST, produces = "application/json;charset=UTF-8")
	@ResponseBody
		// List<MyMusic> list = this.myMusicService.getList(condition, pageNo, pageSize,
		// order, field);
		try {
			List<MyMusic> list = this.myMusicService.getMyMusicList(userId);
			Map<Object, Object> map = new HashMap<Object, Object>();
			// map.put("total", count);
			int size = list.size();
			if (size > 0) {
				List<MyMusic> listFont = new ArrayList<MyMusic>();
				MyMusic vo;
				MyMusic voFont = new MyMusic();
				for (int i = 0; i < size; i++) {
					vo = list.get(i);
					// 通过java反射将类中当前属性字段对应的内容复制到另外一个类中
					BeanUtils.copyProperties(vo, voFont);
					listFont.add(voFont);
		} else {
			map.put("list", list);
			data = map;
			statusCode = 202;
			statusMsg = "no record!!!";
		}
		return JSON.toJSONString(data);
	}
	@RequestMapping(value = "/delUser", method = RequestMethod.POST, produces = "application/json;charset=UTF-8")
	@ResponseBody
	public WebResponse delTest(int id) {
		int num = this.userService.delBySign(id);
		Object data = null;
		String statusMsg = "";
		if (num > 0) {
			statusMsg = "成功删除!!!";
		} else {
			statusMsg = "no record!!!";
		}
		return webResponse.getWebResponse(statusMsg, data);
	}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值