基于javaweb的SpringBoot轻语音乐网平台(java+springboot+ssm+mysql+maven+html)

运行环境

Java≥8、MySQL≥5.7

开发工具

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

适用

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

功能说明

070023282402

080023282402

090023282402

100023282402

110023282402

120023282402

基于javaweb的SpringBoot轻语音乐网平台(java+springboot+ssm+mysql+maven+html)

一、项目简述

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

二、项目运行

环境配置: Jdk1.8 + mysql + Eclispe (IntelliJ IDEA,Eclispe,MyEclispe,Sts 都支持)

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
 *  用于方法上,表示在类的父路径下追加方法上注解中的地址将会访问到该方法
*
* @Autowired@Autowired 注释,它可以对类成员变量、方法及构造函数进行标注,完成自动装配的工作。 通过 @Autowired的使用来消除 set ,get方法。
*
*
* @Resource@Autowired@Resource都可以用来装配bean. 都可以写在字段上,或写在setter方法上。
*
*
* @Responsebody 注解表示该方法的返回的结果直接写入 HTTP 响应正文(ResponseBody)中,
* 一般在异步获取数据时使用,通常是在使用 @RequestMapping 后,返回值通常解析为跳转路径,
* 加上 @Responsebody 后返回结果不会被解析为跳转路径,而是直接写入HTTP 响应正文中。
* 作用: 该注解用于将Controller的方法返回的对象,通过适当的HttpMessageConverter转换为指定格式后,写入到Response对象的body数据区。
*
*
*
*
* @RequestParam(value="aa" required=false
* 1.可以对传入参数指定参数名
*
* // 下面的对传入参数指定为aa,如果前端不传aa参数名,会报错
* @RequestParam(value="aa") String inputStr
*
* 2、可以通过required=false或者true来要求@RequestParam配置的前端参数是否一定要传
*
* 3、如果@requestParam注解的参数是int类型,并且required=false,此时如果不传参数的话,会报错。原因是,required=false时,不传参数的话,
* 会给参数赋值null,这样就会把null赋值给了int,因此会报错。
*
*
*
*/


// 从数据库中获取歌曲数据,在榜单中显示
@RequestMapping(value = "/getMusicLinkList", method = RequestMethod.POST, produces = "application/json;charset=UTF-8")
@ResponseBody
public WebResponse getMusicLinkList(HttpServletRequest request, HttpServletResponse response, HttpSession session,
@RequestParam(defaultValue = "1", required = false) Integer pageNo,
@RequestParam(defaultValue = "30", required = false) Integer pageSize,
@RequestParam(defaultValue = "正常", required = false) String tbStatus,
@RequestParam(required = false) String keyword,
@RequestParam(defaultValue = "ml_id", required = false) String order,
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
			statusCode = 202;
statusMsg = "insert false";
}
return webResponse.getWebResponse(statusCode, statusMsg, data);
}
int num = this.testService.update(test);
if (num > 0) {
statusMsg = "成功修改!!!";
} else {
statusCode = 202;
statusMsg = "update false";
}
return webResponse.getWebResponse(statusCode, statusMsg, data);
}

@RequestMapping(value = "/getTestById", produces = "application/json;charset=UTF-8")
@ResponseBody
public WebResponse getTestById(String testId) {
Object data = testId;
Integer statusCode = 200;
String statusMsg = "";
if (testId == null || testId.length() == 0 || testId.length() > 11) {
statusMsg = "参数为空或参数过长错误!!!";
statusCode = 201;
return webResponse.getWebResponse(statusCode, statusMsg, data);
}
Integer testIdNumNumeri = testId.matches("^[0-9]*$") ? Integer.parseInt(testId) : 0;
if (testIdNumNumeri == 0) {
statusMsg = "参数数字型错误!!!";
statusCode = 201;
return webResponse.getWebResponse(statusCode, statusMsg, data);
}
Test testVo = this.testService.getById(testIdNumNumeri);

if (testVo != null && testVo.getTestId() > 0) {
data = testVo;
statusMsg = "获取单条数据成功!!!";
} else {
statusCode = 202;
statusMsg = "no record!!!";
}
return webResponse.getWebResponse(statusCode, statusMsg, data);
}

@RequestMapping(value = "/getOneTest", method = RequestMethod.POST, produces = "application/json;charset=UTF-8")
@ResponseBody
public WebResponse getOneTest(@RequestParam(defaultValue = "正常", required = false) String tbStatus) {
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
public WebResponse getTestList(HttpServletRequest request, HttpServletResponse response, HttpSession session,
@RequestParam(defaultValue = "1", required = false) Integer pageNo,
@RequestParam(defaultValue = "8", required = false) Integer pageSize,
@RequestParam(defaultValue = "正常", required = false) String tbStatus,
@RequestParam(required = false) String keyword,
@RequestParam(defaultValue = "test_id", required = false) String order,
@RequestParam(defaultValue = "desc", required = false) String desc) {
Object data = null;
String statusMsg = "";
int statusCode = 200;
LinkedHashMap<String, String> condition = new LinkedHashMap<String, String>();
/*
* if (tbStatus != null && tbStatus.length() > 0) { condition.put("tb_status='"
* + tbStatus + "'", "and"); }
*/
if (keyword != null && keyword.length() > 0) {
StringBuffer buf = new StringBuffer();
buf.append("(");
buf.append("test_name like '%").append(keyword).append("%'");
buf.append(" or ");
buf.append("info like '%").append(keyword).append("%'");
buf.append(" or ");
buf.append("other like '%").append(keyword).append("%'");
buf.append(")");
condition.put(buf.toString(), "and");
}
String field = null;
if (condition.size() > 0) {
condition.put(condition.entrySet().iterator().next().getKey(), "");
}
int count = this.testService.getCount(condition, field);
if (order != null && order.length() > 0 & "desc".equals(desc)) {
order = order + " desc";
}
List<Test> list = this.testService.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<Test> listFont = new ArrayList<Test>();
Test vo;
Test voFont = new Test();
for (int i = 0; i < size; i++) {
vo = list.get(i);
BeanUtils.copyProperties(vo, voFont);
listFont.add(voFont);
voFont = new Test();
}
map.put("list", listFont);
data = map;
statusMsg = "根据条件获取分页数据成功!!!";
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28




/**
*
*/

@Controller
@RequestMapping("/myMusic")
public class MyMusicController {

@Autowired
protected WebResponse webResponse;

@Resource
protected IMyMusicService myMusicService;

// @Autowired
// MyMusicService myMusicService2;

// 歌曲收藏
@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) String user_name) {
WebResponse webResponse = new WebResponse();
MyMusic myMusic = new MyMusic();
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
	}
}

@RequestMapping(value = "/addTest", method = RequestMethod.POST, produces = "application/json;charset=UTF-8")
@ResponseBody
public WebResponse addTest(HttpServletRequest request, HttpServletResponse response, HttpSession session,
String testName, String info, String other) {
Object data = null;
String statusMsg = "";
Integer statusCode = 200;
Map<String, String> paramMap = new HashMap<String, String>();
paramMap.put("testName", testName);
paramMap.put("info", info);
paramMap.put("other", other);
data = paramMap;
if (testName == null || "".equals(testName.trim()) || info == null || "".equals(info.trim()) || other == null
|| "".equals(other.trim())) {
statusMsg = " 参数为空错误!!!!";
statusCode = 201;
return webResponse.getWebResponse(statusCode, statusMsg, data);
}
if (testName.length() > 255 || info.length() > 65535) {
statusMsg = " 参数长度过长错误!!!";
statusCode = 201;
return webResponse.getWebResponse(statusCode, statusMsg, data);
}
Test test = new Test();

boolean isAdd = true;
return this.addOrEditTest(request, response, session, data, test, testName, info, other, isAdd);
}

@RequestMapping(value = "/editTest", method = RequestMethod.POST, produces = "application/json;charset=UTF-8")
@ResponseBody
public WebResponse editTest(HttpServletRequest request, HttpServletResponse response, HttpSession session,
String testId, @RequestParam(required = false) String testName, @RequestParam(required = false) String info,
@RequestParam(required = false) String other) {
Object data = null;
String statusMsg = "";
Integer statusCode = 200;
Map<String, String> paramMap = new HashMap<String, String>();
paramMap.put("testId", testId);
paramMap.put("testName", testName);
paramMap.put("info", info);
paramMap.put("other", other);
data = paramMap;
if (testId == null || "".equals(testId.trim())) {
statusMsg = "未获得主键参数错误!!!";
statusCode = 201;
return webResponse.getWebResponse(statusCode, statusMsg, data);
}
Integer testIdNumeri = testId.matches("^[0-9]*$") ? Integer.parseInt(testId) : 0;
if (testIdNumeri == 0) {


项目链接:
https://javayms.github.io?id=541422322105200lf
https://javayms.pages.dev?id=541422322105200lf