基于javaweb和mysql的springboot音乐平台系统(java+springboot+mybaits+vue+elementui+mysql)
基于javaweb和mysql的springboot音乐平台系统(java+springboot+mybaits+vue+elementui+mysql)
私信源码获取及调试交流
私信源码获取及调试交流
运行环境
Java≥8、MySQL≥5.7、Node.js≥14
开发工具
后端:eclipse/idea/myeclipse/sts等均可配置运行
前端:WebStorm/VSCode/HBuilderX等均可
适用
课程设计,大作业,毕业设计,项目练习,学习演示等
功能说明
基于javaweb的SpringBoot音乐平台系统(java+springboot+mybaits+vue+elementui+mysql)
环境需要
1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。
2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA;
3.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS;
4.数据库:MySql 5.7/8.0版本均可;
5.是否Maven项目:是;
技术栈
后端:SpringBoot+Mybaits
前端:Vue + elementui
使用说明
项目运行:
-
使用Navicat或者其它工具,在mysql中创建对应sql文件名称的数据库,并导入项目的sql文件;
-
使用IDEA/Eclipse/MyEclipse导入项目,导入成功后请执行maven clean;maven install命令;
-
将项目中application.yml配置文件中的数据库配置改为自己的配置;
-
运行项目,在浏览器中输入地址:
前台地址:http://localhost:8080/springbootrpj39/front/index.html
后台地址:http://localhost:8080/springbootrpj39/admin/dist/index.html
管理员 abo 密码 abo
用户:用户1 密码: 123456
注意项目文件路径中不能含有中文、空格、特殊字符等,否则图片会上传不成功。
songPage.setTotalPage(totalPage);
// 添加到session
HttpSession session = request.getSession();
session.setAttribute("songPage", songPage);
session.setAttribute("singer", singer);
// 重定向到album-single页面
response.sendRedirect(request.getContextPath() + "/page/user/album-single.jsp");
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doPost(request, response);
歌单管理控制层:
@WebServlet("/addSongPlayCountServlet")
songPage.setList(allSongs);
songPage.setTotalCount(totalCount);
songPage.setRows(rows);
songPage.setTotalPage(totalPage);
// 添加到session
HttpSession session = request.getSession();
session.setAttribute("songPage", songPage);
session.setAttribute("type", type);
// 重定向到album-single页面
response.sendRedirect(request.getContextPath() + "/page/user/categories-single.jsp");
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doPost(request, response);
下载歌曲管理控制层:
@WebServlet("/user/person/downLoadServlet")
_rows = "10";
int currentPage = Integer.parseInt(_currentPage);
int rows = Integer.parseInt(_rows);
PageBean<Song> songPage = new PageBean<>();
int totalCount = Math.toIntExact(songService.getAllSongsCountByType(songType));
// 计算总页码
int totalPage = (totalCount % rows) == 0 ? (totalCount / rows) : (totalCount/rows) + 1;
songPage.setTotalPage(totalPage);
// 计算当前页码
if(currentPage <= 0){
currentPage = totalPage;
} else if(currentPage > totalPage) {
currentPage = 1;
List<Song> allSongs = songService.getSongByType(start, rows, songType);
Type type = typeService.getTypeByName(songType);
songPage.setList(allSongs);
songPage.setTotalCount(totalCount);
songPage.setRows(rows);
songPage.setTotalPage(totalPage);
// 添加到session
HttpSession session = request.getSession();
session.setAttribute("songPage", songPage);
session.setAttribute("type", type);
// 重定向到album-single页面
response.sendRedirect(request.getContextPath() + "/page/user/categories-single.jsp");
songService.addPlayCountBySongId(Integer.parseInt(songId));
JSONObject jsonObject = new JSONObject();
jsonObject.put("status", "ok");
ServletUtils.sendToPage(response, jsonObject.toString());
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doPost(request, response);
歌单分类管理控制层:
@WebServlet("/getAllCategoriesSongServlet")
public class GetAllCategoriesSongServlet extends HttpServlet {
private SongService songService = null;
String idStr = request.getParameter("songId");
System.out.println("作品id:" + idStr);
int songId = Integer.parseInt(idStr);
//从数据库找到该文件信息
Song song = songService.getSongById(songId);
//获取所要下载的文件名称
String absPath = request.getSession().getServletContext().getRealPath("");
System.out.println(absPath);
String filepath = absPath + "/" + song.getUrl();
//对文件名称编码
// filename = new String(filename.trim().getBytes("iso8859-1"),"UTF-8");
System.out.println("需要下载的文件路径为:" + filepath);
User user = userService.getUserByLogin(username, password);
if(user == null) {
request.setAttribute("titleMsg", "登陆失败!");
request.setAttribute("textMsg", "哎呀!<br>出了些问题,您要的页面不见了,请稍后再试");
String url = request.getContextPath() + "/page/user/login.jsp";
request.setAttribute("urlMsg", url);
request.setAttribute("pageMsg", "登陆");
request.setAttribute("codeMsg", "404");
request.getRequestDispatcher("/page/user/message.jsp").forward(request, response);
} else if(user.getActive() == 0) {
request.setAttribute("titleMsg", "登陆失败!");
System.out.println("添加歌曲ID为 " + songId + " 的播放数量!");
// 增加歌曲的播放次数
songService.addPlayCountBySongId(Integer.parseInt(songId));
JSONObject jsonObject = new JSONObject();
jsonObject.put("status", "ok");
ServletUtils.sendToPage(response, jsonObject.toString());
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doPost(request, response);
歌单分类管理控制层:
@WebServlet("/getAllCategoriesSongServlet")
@Override
public void init() throws ServletException {
songService = new SongServiceImpl();
typeService = new TypeServiceImpl();
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String songType = request.getParameter("songType");
String _currentPage = request.getParameter("currentPage"); // 当前页码
String _rows = request.getParameter("rows");// 每页显示条数
if(_currentPage == null || "".equals(_currentPage)){
_currentPage = "1";
if(_rows == null || "".equals(_rows)){
response.setCharacterEncoding("utf-8");
//获取下载的文件信息
String idStr = request.getParameter("songId");
System.out.println("作品id:" + idStr);
int songId = Integer.parseInt(idStr);
//从数据库找到该文件信息
Song song = songService.getSongById(songId);
//获取所要下载的文件名称
String absPath = request.getSession().getServletContext().getRealPath("");
System.out.println(absPath);
String filepath = absPath + "/" + song.getUrl();
//对文件名称编码
response.sendRedirect(request.getContextPath() + "/page/user/index.jsp");
} else {
request.setAttribute("titleMsg", "哎呀!");
request.setAttribute("textMsg", "出了些问题,您要的页面不见了,请稍后再试");
String url = request.getContextPath() + "/page/user/login.jsp";
request.setAttribute("urlMsg", url);
request.setAttribute("pageMsg", "登陆");
request.setAttribute("codeMsg", "404");
request.getRequestDispatcher("/page/user/message.jsp").forward(request, response);
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doPost(request, response);
歌手管理控制层:
session.setAttribute("singer", singer);
// 重定向到album-single页面
response.sendRedirect(request.getContextPath() + "/page/user/album-single.jsp");
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doPost(request, response);
歌单管理控制层:
@WebServlet("/addSongPlayCountServlet")
public class AddSongPlayCountServlet extends HttpServlet {
private SongService songService = null;
@Override
public void init() throws ServletException {
songService = new SongServiceImpl();
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String songId = request.getParameter("songId");
@Override
public void init() throws ServletException {
songService = new SongServiceImpl();
typeService = new TypeServiceImpl();
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String songType = request.getParameter("songType");
String _currentPage = request.getParameter("currentPage"); // 当前页码
String _rows = request.getParameter("rows");// 每页显示条数
if(_currentPage == null || "".equals(_currentPage)){
_currentPage = "1";
if(_rows == null || "".equals(_rows)){
_rows = "10";
// 增加歌曲的播放次数
songService.addPlayCountBySongId(Integer.parseInt(songId));
JSONObject jsonObject = new JSONObject();
jsonObject.put("status", "ok");
ServletUtils.sendToPage(response, jsonObject.toString());
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doPost(request, response);
歌单分类管理控制层:
@WebServlet("/getAllCategoriesSongServlet")
public class GetAllCategoriesSongServlet extends HttpServlet {
private SongService songService = null;
private TypeService typeService = null;
@Override
int start = (currentPage - 1) * rows;
// 获取该歌手的所有歌曲
List<Song> allSongs = songService.getSongByType(start, rows, songType);
Type type = typeService.getTypeByName(songType);
songPage.setList(allSongs);
songPage.setTotalCount(totalCount);
songPage.setRows(rows);
songPage.setTotalPage(totalPage);
// 添加到session
HttpSession session = request.getSession();
session.setAttribute("songPage", songPage);
session.setAttribute("type", type);
歌单分类管理控制层:
@WebServlet("/getAllCategoriesSongServlet")
public class GetAllCategoriesSongServlet extends HttpServlet {
private SongService songService = null;
private TypeService typeService = null;
@Override
public void init() throws ServletException {
songService = new SongServiceImpl();
typeService = new TypeServiceImpl();
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String songType = request.getParameter("songType");
String _currentPage = request.getParameter("currentPage"); // 当前页码
String _rows = request.getParameter("rows");// 每页显示条数
if(_currentPage == null || "".equals(_currentPage)){
//对文件名称编码
// filename = new String(filename.trim().getBytes("iso8859-1"),"UTF-8");
System.out.println("需要下载的文件路径为:" + filepath);
// //得到要下载的文件
File file = new File(filepath);
System.out.println("文件是否存在:" + file.exists());
//如果文件不存在
if (!file.exists()) {
request.setAttribute("titleMsg", "哎呀!");
request.setAttribute("textMsg", "出了些问题,您要下载的资源不存在了!");
String url = request.getContextPath() + "/page/user/album-single.jsp";
request.setAttribute("urlMsg", url);










更多推荐


所有评论(0)