基于javaweb的精美网上音乐平台(前后端分离+java+vue+springboot+ssm+mysql+redis)

运行环境

Java≥8、MySQL≥5.7、Node.js≥10

开发工具

后端:eclipse/idea/myeclipse/sts等均可配置运行

前端:WebStorm/VSCode/HBuilderX等均可

适用

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

功能说明

20220819215730

20220819215731

20220819215732

20220819215733

20220819215734

20220819215735

基于javaweb+mysql的精美网上音乐平台(前后端分离+java+vue+Springboot+ssm+mysql+maven+redis)

一、项目简述

本系统功能包括: 音乐播放 用户登录注册 用户信息编辑、头像修改 歌曲、歌单搜索 歌单打分 歌单、歌曲评论 歌单列表、歌手列表分页显示 歌词同步显不 音乐收藏、下载、拖动控制、音粉制 后台对用户、歌曲、歌手、歌单信息的管理

二、项目运行

环境配置: Jdk1.8 + Tomcat8.5 + Mysql + HBuilderX (Webstorm也 行)+ Eclispe (IntelliJ IDEA,Eclispe,MyEclispe,Sts都支 持)。

项目技术: Springboot + Maven + Mybatis + Vue + Redis, B/S 模式+ Maven等等

收藏信息控制层:

@RestController

@Controller

public class CollectController {

@Autowired

private CollectServiceImpl collectService;

// 添加收藏的歌曲

@ResponseBody

@RequestMapping(value = “/collection/add”, method = RequestMethod.POST)

public Object addCollection(HttpServletRequest req){

JSONObject jsonObject = new JSONObject();

String user_id = req.getParameter(“userId”);

String type = req.getParameter(“type”);

String song_id=req.getParameter(“songId”);

String song_list_id=req.getParameter(“songListId”);

if (song_id == “”){

jsonObject.put(“code”, 0);

jsonObject.put(“msg”, “收藏歌曲为空”);

return jsonObject;

} else if (collectService.existSongId(Integer.parseInt(user_id), Integer.parseInt(song_id))) {

jsonObject.put(“code”, 2);

jsonObject.put(“msg”, “已收藏”);

return jsonObject;

Collect collect = new Collect();

collect.setUserId(Integer.parseInt(user_id));

collect.setType(new Byte(type));

if (new Byte(type) == 0) {

collect.setSongId(Integer.parseInt(song_id));

} else if (new Byte(type) == 1) {

collect.setSongListId(Integer.parseInt(song_list_id));

collect.setCreateTime(new Date());

boolean res = collectService.addCollection(collect);

if (res){

jsonObject.put(“code”, 1);

jsonObject.put(“msg”, “收藏成功”);

return jsonObject;

}else {

jsonObject.put(“code”, 0);

jsonObject.put(“msg”, “收藏失败”);

return jsonObject;

// 返回所有用户收藏列表

@RequestMapping(value = “/collection”, method = RequestMethod.GET)

public Object allCollection(){

return collectService.allCollect();

// 返回的指定用户ID收藏列表

@RequestMapping(value = “/collection/detail”, method = RequestMethod.GET)

public Object collectionOfUser(HttpServletRequest req){

String userId = req.getParameter(“userId”);

return collectService.collectionOfUser(Integer.parseInt(userId));

// 删除收藏的歌曲

@RequestMapping(value = “/collection/delete”, method = RequestMethod.GET)

public Object deleteCollection(HttpServletRequest req){

String user_id = req.getParameter(“userId”).trim();

String song_id = req.getParameter(“songId”).trim();

return collectService.deleteCollect(Integer.parseInt(user_id), Integer.parseInt(song_id));

// 更新收藏

@ResponseBody

@RequestMapping(value = “/collection/update”, method = RequestMethod.POST)

public Object updateCollectMsg(HttpServletRequest req){

JSONObject jsonObject = new JSONObject();

String id = req.getParameter(“id”).trim();

String user_id = req.getParameter(“userId”).trim();

String type = req.getParameter(“type”).trim();

String song_id = req.getParameter(“songId”).trim();

// String song_list_id = req.getParameter(“songListId”).trim();

Collect collect = new Collect();

collect.setId(Integer.parseInt(id));

collect.setUserId(Integer.parseInt(user_id));

collect.setType(new Byte(type));

collect.setSongId(Integer.parseInt(song_id));

boolean res = collectService.updateCollectMsg(collect);

if (res){

jsonObject.put(“code”, 1);

jsonObject.put(“msg”, “修改成功”);

return jsonObject;

}else {

jsonObject.put(“code”, 0);

jsonObject.put(“msg”, “修改失败”);

return jsonObject;

歌曲控制层:

@RestController

@Controller

public class SongController {

@Autowired

private SongServiceImpl songService;

@Bean

public MultipartConfigElement multipartConfigElement() {

MultipartConfigFactory factory = new MultipartConfigFactory();

//文件最大10M,DataUnit提供5中类型B,KB,MB,GB,TB

factory.setMaxFileSize(DataSize.of(10, DataUnit.MEGABYTES));

/// 设置总上传数据总大小10M

factory.setMaxRequestSize(DataSize.of(10, DataUnit.MEGABYTES));

return factory.createMultipartConfig();

@Configuration

public class MyPicConfig implements WebMvcConfigurer {

@Override

public void addResourceHandlers(ResourceHandlerRegistry registry) {

// registry.addResourceHandler(“/img/songPic/**”).addResourceLocations(“file:/Users/hongweiyin/Documents/github-workspace/music-website/music-server/img/songPic/”);

// registry.addResourceHandler(“/song/**”).addResourceLocations(“file:/Users/hongweiyin/Documents/github-workspace/music-website/music-server/song/”);

// 添加歌曲

@ResponseBody

@RequestMapping(value = “/song/add”, method = RequestMethod.POST)

public Object addSong(HttpServletRequest req, @RequestParam(“file”) MultipartFile mpfile){

JSONObject jsonObject = new JSONObject();

String singer_id = req.getParameter(“singerId”).trim();

String name = req.getParameter(“name”).trim();

String introduction = req.getParameter(“introduction”).trim();

String pic = “/img/songPic/tubiao.jpg”;

String lyric = req.getParameter(“lyric”).trim();

if (mpfile.isEmpty()) {

jsonObject.put(“code”, 0);

jsonObject.put(“msg”, “音乐上传失败!”);

return jsonObject;

String fileName = mpfile.getOriginalFilename();

String filePath = System.getProperty(“user.dir”) + System.getProperty(“file.separator”) + “song”;

File file1 = new File(filePath);

if (!file1.exists()){

file1.mkdir();

File dest = new File(filePath + System.getProperty(“file.separator”) + fileName);

String storeUrlPath = “/song/”+fileName;

try {

mpfile.transferTo(dest);

Song song = new Song();

song.setSingerId(Integer.parseInt(singer_id));

song.setName(name);

song.setIntroduction(introduction);

song.setCreateTime(new Date());

song.setUpdateTime(new Date());

song.setPic(pic);

song.setLyric(lyric);

song.setUrl(storeUrlPath);

boolean res = songService.addSong(song);

if (res) {

jsonObject.put(“code”, 1);

jsonObject.put(“avator”, storeUrlPath);

jsonObject.put(“msg”, “上传成功”);

return jsonObject;

} else {

jsonObject.put(“code”, 0);

jsonObject.put(“msg”, “上传失败”);

return jsonObject;

} catch (IOException e) {

jsonObject.put(“code”, 0);

jsonObject.put(“msg”, “上传失败” + e.getMessage());

return jsonObject;

} finally {

return jsonObject;

// 返回所有歌曲

@RequestMapping(value = “/song”, method = RequestMethod.GET)

public Object allSong(){

return songService.allSong();

// 返回指定歌曲ID的歌曲

@RequestMapping(value = “/song/detail”, method = RequestMethod.GET)

public Object songOfId(HttpServletRequest req){

String id = req.getParameter(“id”);

return songService.songOfId(Integer.parseInt(id));

// 返回指定歌手ID的歌曲

@RequestMapping(value = “/song/singer/detail”, method = RequestMethod.GET)

public Object songOfSingerId(HttpServletRequest req){

String singerId = req.getParameter(“singerId”);

return songService.songOfSingerId(Integer.parseInt(singerId));

// 返回指定歌手名的歌曲

@RequestMapping(value = “/song/singerName/detail”, method = RequestMethod.GET)

public Object songOfSingerName(HttpServletRequest req){

String name = req.getParameter(“name”);

return songService.songOfSingerName(‘%’+ name + ‘%’);

// 返回指定歌曲名的歌曲

@RequestMapping(value = “/song/name/detail”, method = RequestMethod.GET)

public Object songOfName(HttpServletRequest req){

String name = req.getParameter(“name”).trim();

return songService.songOfName(name);

// 删除歌曲

@RequestMapping(value = “/song/delete”, method = RequestMethod.GET)

public Object deleteSong(HttpServletRequest req){

String id = req.getParameter(“id”);

return songService.deleteSong(Integer.parseInt(id));

// 更新歌曲信息

@ResponseBody

@RequestMapping(value = “/song/update”, method = RequestMethod.POST)

public Object updateSongMsg(HttpServletRequest req){

JSONObject jsonObject = new JSONObject();

String id = req.getParameter(“id”).trim();

String singer_id = req.getParameter(“singerId”).trim();

String name = req.getParameter(“name”).trim();

String introduction = req.getParameter(“introduction”).trim();

String lyric = req.getParameter(“lyric”).trim();

Song song = new Song();

song.setId(Integer.parseInt(id));

song.setSingerId(Integer.parseInt(singer_id));

song.setName(name);

song.setIntroduction(introduction);

song.setUpdateTime(new Date());

song.setLyric(lyric);

boolean res = songService.updateSongMsg(song);

if (res){

jsonObject.put(“code”, 1);

jsonObject.put(“msg”, “修改成功”);

return jsonObject;

}else {

jsonObject.put(“code”, 0);

jsonObject.put(“msg”, “修改失败”);

return jsonObject;

// 更新歌曲图片

@ResponseBody

@RequestMapping(value = “/song/img/update”, method = RequestMethod.POST)

public Object updateSongPic(@RequestParam(“file”) MultipartFile urlFile, @RequestParam(“id”)int id){

JSONObject jsonObject = new JSONObject();

if (urlFile.isEmpty()) {

jsonObject.put(“code”, 0);

jsonObject.put(“msg”, “音乐上传失败!”);

return jsonObject;

String fileName = System.currentTimeMillis()+urlFile.getOriginalFilename();

String filePath = System.getProperty(“user.dir”) + System.getProperty(“file.separator”) + “img” + System.getProperty(“file.separator”) + “songPic”;

File file1 = new File(filePath);

if (!file1.exists()){

file1.mkdir();

File dest = new File(filePath + System.getProperty(“file.separator”) + fileName);

String storeUrlPath = “/img/songPic/”+fileName;

try {

urlFile.transferTo(dest);

Song song = new Song();

song.setId(id);

song.setPic(storeUrlPath);

boolean res = songService.updateSongPic(song);

if (res){

jsonObject.put(“code”, 1);

jsonObject.put(“avator”, storeUrlPath);

jsonObject.put(“msg”, “上传成功”);

return jsonObject;

}else {

jsonObject.put(“code”, 0);

jsonObject.put(“msg”, “上传失败”);

return jsonObject;

}catch (IOException e){

jsonObject.put(“code”, 0);

jsonObject.put(“msg”, “上传失败” + e.getMessage());

return jsonObject;

}finally {

return jsonObject;

// 更新歌曲URL

@ResponseBody

@RequestMapping(value = “/song/url/update”, method = RequestMethod.POST)

public Object updateSongUrl(@RequestParam(“file”) MultipartFile urlFile, @RequestParam(“id”)int id){

JSONObject jsonObject = new JSONObject();

if (urlFile.isEmpty()) {

jsonObject.put(“code”, 0);

jsonObject.put(“msg”, “音乐上传失败!”);

return jsonObject;

String fileName = urlFile.getOriginalFilename();

String filePath = System.getProperty(“user.dir”) + System.getProperty(“file.separator”) + “song”;

File file1 = new File(filePath);

if (!file1.exists()){

file1.mkdir();

File dest = new File(filePath + System.getProperty(“file.separator”) + fileName);

String storeUrlPath = “/song/”+fileName;

try {

urlFile.transferTo(dest);

Song song = new Song();

song.setId(id);

song.setUrl(storeUrlPath);

boolean res = songService.updateSongUrl(song);

if (res){

jsonObject.put(“code”, 1);

jsonObject.put(“avator”, storeUrlPath);

jsonObject.put(“msg”, “上传成功”);

return jsonObject;

}else {

jsonObject.put(“code”, 0);

jsonObject.put(“msg”, “上传失败”);

return jsonObject;

}catch (IOException e){

jsonObject.put(“code”, 0);

jsonObject.put(“msg”, “上传失败” + e.getMessage());

return jsonObject;

}finally {

return jsonObject;

歌手信息控制层:

@RestController

@Controller

public class SingerController {

@Autowired

private SingerServiceImpl singerService;

@Configuration

public class MyPicConfig implements WebMvcConfigurer {

@Override

public void addResourceHandlers(ResourceHandlerRegistry registry) {

// registry.addResourceHandler(“/img/singerPic/**”).addResourceLocations(“file:/Users/hongweiyin/Documents/github-workspace/music-website/music-server/img/singerPic/”);

// 添加歌手

@ResponseBody

@RequestMapping(value = “/singer/add”, method = RequestMethod.POST)

public Object addSinger(HttpServletRequest req){

JSONObject jsonObject = new JSONObject();

String name = req.getParameter(“name”).trim();

String sex = req.getParameter(“sex”).trim();

String pic = req.getParameter(“pic”).trim();

String birth = req.getParameter(“birth”).trim();

String location = req.getParameter(“location”).trim();

String introduction = req.getParameter(“introduction”).trim();

Singer singer = new Singer();

DateFormat dateFormat = new SimpleDateFormat(“yyyy-MM-dd”);

Date myBirth = new Date();

try {

myBirth = dateFormat.parse(birth);

}catch (Exception e){

e.printStackTrace();

singer.setName(name);

singer.setSex(new Byte(sex));

singer.setPic(pic);

singer.setBirth(myBirth);

singer.setLocation(location);

singer.setIntroduction(introduction);

boolean res = singerService.addSinger(singer);

if (res){

jsonObject.put(“code”, 1);

jsonObject.put(“msg”, “添加成功”);

return jsonObject;

}else {

jsonObject.put(“code”, 0);

jsonObject.put(“msg”, “添加失败”);

return jsonObject;

// 返回所有歌手

@RequestMapping(value = “/singer”, method = RequestMethod.GET)

public Object allSinger(){

return singerService.allSinger();

// 根据歌手名查找歌手

@RequestMapping(value = “/singer/name/detail”, method = RequestMethod.GET)

public Object singerOfName(HttpServletRequest req){

String name = req.getParameter(“name”).trim();

return singerService.singerOfName(name);

// 根据歌手性别查找歌手

@RequestMapping(value = “/singer/sex/detail”, method = RequestMethod.GET)

public Object singerOfSex(HttpServletRequest req){

String sex = req.getParameter(“sex”).trim();

return singerService.singerOfSex(Integer.parseInt(sex));

// 删除歌手

@RequestMapping(value = “/singer/delete”, method = RequestMethod.GET)

public Object deleteSinger(HttpServletRequest req){

String id = req.getParameter(“id”);

return singerService.deleteSinger(Integer.parseInt(id));

// 更新歌手信息

@ResponseBody

@RequestMapping(value = “/singer/update”, method = RequestMethod.POST)

public Object updateSingerMsg(HttpServletRequest req){

JSONObject jsonObject = new JSONObject();

String id = req.getParameter(“id”).trim();

String name = req.getParameter(“name”).trim();

String sex = req.getParameter(“sex”).trim();

String pic = req.getParameter(“pic”).trim();

String birth = req.getParameter(“birth”).trim();

String location = req.getParameter(“location”).trim();

String introduction = req.getParameter(“introduction”).trim();

Singer singer = new Singer();

DateFormat dateFormat = new SimpleDateFormat(“yyyy-MM-dd”);

Date myBirth = new Date();

try {

myBirth = dateFormat.parse(birth);

}catch (Exception e){

e.printStackTrace();

singer.setId(Integer.parseInt(id));

singer.setName(name);

singer.setSex(new Byte(sex));

singer.setPic(pic);

singer.setBirth(myBirth);

singer.setLocation(location);

singer.setIntroduction(introduction);

boolean res = singerService.updateSingerMsg(singer);

if (res){

jsonObject.put(“code”, 1);

jsonObject.put(“msg”, “修改成功”);

return jsonObject;

}else {

jsonObject.put(“code”, 0);

jsonObject.put(“msg”, “修改失败”);

return jsonObject;

// 更新歌手头像

@ResponseBody

@RequestMapping(value = “/singer/avatar/update”, method = RequestMethod.POST)

public Object updateSingerPic(@RequestParam(“file”) MultipartFile avatorFile, @RequestParam(“id”)int id){

JSONObject jsonObject = new JSONObject();

if (avatorFile.isEmpty()) {

jsonObject.put(“code”, 0);

jsonObject.put(“msg”, “文件上传失败!”);

return jsonObject;

String fileName = System.currentTimeMillis()+avatorFile.getOriginalFilename();

String filePath = System.getProperty(“user.dir”) + System.getProperty(“file.separator”) + “img” + System.getProperty(“file.separator”) + “singerPic” ;

File file1 = new File(filePath);

if (!file1.exists()){

file1.mkdir();

File dest = new File(filePath + System.getProperty(“file.separator”) + fileName);

String storeAvatorPath = “/img/singerPic/”+fileName;

try {

avatorFile.transferTo(dest);

Singer singer = new Singer();

singer.setId(id);

singer.setPic(storeAvatorPath);

boolean res = singerService.updateSingerPic(singer);

if (res){

jsonObject.put(“code”, 1);

jsonObject.put(“pic”, storeAvatorPath);

jsonObject.put(“msg”, “上传成功”);

return jsonObject;

}else {

jsonObject.put(“code”, 0);

jsonObject.put(“msg”, “上传失败”);

return jsonObject;

}catch (IOException e){

jsonObject.put(“code”, 0);

jsonObject.put(“msg”, “上传失败” + e.getMessage());

return jsonObject;

}finally {

return jsonObject;


Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐