当前位置: 首页 > news >正文

java计算机毕业设计ssm 音乐播放交流论坛网站

该系统是基于H5,使用Vue、JavaScript、CSS技术开发而成。系统服务器使用Tomcat,利用MySQL存储数据、用JDBC实现数据的访问。管理员在系统部署阶段将所有用户对应权限进行分配。正式投入使用时,用户通过登录模块进入系统。根据权限控制管理,每个用户角色的操作界面也有所不同。普通用户可以进行音乐播放,音乐查询,管理个人信息,发布评论,删除评论,音乐分享,扫码购买会员升级包,音乐收藏,以及免费歌曲的下载,还能通过有首页进行查看自己发布的评论等,有什么信息不正确的地方可以进行删除,管理员模块可以进行更改对应的歌曲。管理员用户则统筹全局,管理所有系统用户、个人信息,用户权限分配,针对个人信息来的更改来实现实时更新,修改权限等
请添加图片描述
请添加图片描述
管理系统主要实现功能如下:
1;登录模块:管理员和用户以及会员能进行简单的登录及注册。
2;管理员模块:在该模块中,系统管理员对个人信息管理以及账号进行管理,并且管理音乐节点的录入及删除,以及各种评论的管理。
3;会员模块:在该模块中,会员可以有个性的主页模板,升级为会员之后也能获得勋章,免费发布CD,会员曲库歌曲无限听,也可以发布一些评论等等。
4;普通用户模块:在该模块中,用户可以注册自己的信息,可以查看音乐信息、播放音乐,分享音乐,免费歌曲的下载,音乐收藏等等。
请添加图片描述

请添加图片描述


/**
 * 登录相关
 */
@RequestMapping("users")
@RestController
public class UserController{
	
	@Autowired
	private UserService userService;
	
	@Autowired
	private TokenService tokenService;

	/**
	 * 登录
	 */
	@IgnoreAuth
	@PostMapping(value = "/login")
	public R login(String username, String password, String captcha, HttpServletRequest request) {
		UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username));
		if(user==null || !user.getPassword().equals(password)) {
			return R.error("账号或密码不正确");
		}
		String token = tokenService.generateToken(user.getId(),username, "users", user.getRole());
		return R.ok().put("token", token);
	}
	
	/**
	 * 注册
	 */
	@IgnoreAuth
	@PostMapping(value = "/register")
	public R register(@RequestBody UserEntity user){
//    	ValidatorUtils.validateEntity(user);
    	if(userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername())) !=null) {
    		return R.error("用户已存在");
    	}
        userService.insert(user);
        return R.ok();
    }

	/**
	 * 退出
	 */
	@GetMapping(value = "logout")
	public R logout(HttpServletRequest request) {
		request.getSession().invalidate();
		return R.ok("退出成功");
	}
	
	/**
     * 密码重置
     */
    @IgnoreAuth
	@RequestMapping(value = "/resetPass")
    public R resetPass(String username, HttpServletRequest request){
    	UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username));
    	if(user==null) {
    		return R.error("账号不存在");
    	}
    	user.setPassword("123456");
        userService.update(user,null);
        return R.ok("密码已重置为:123456");
    }
	
	/**
     * 列表
     */
    @RequestMapping("/page")
    public R page(@RequestParam Map<String, Object> params,UserEntity user){
        EntityWrapper<UserEntity> ew = new EntityWrapper<UserEntity>();
    	PageUtils page = userService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.allLike(ew, user), params), params));
        return R.ok().put("data", page);
    }

	/**
     * 列表
     */
    @RequestMapping("/list")
    public R list( UserEntity user){
       	EntityWrapper<UserEntity> ew = new EntityWrapper<UserEntity>();
      	ew.allEq(MPUtil.allEQMapPre( user, "user")); 
        return R.ok().put("data", userService.selectListView(ew));
    }

    /**
     * 信息
     */
    @RequestMapping("/info/{id}")
    public R info(@PathVariable("id") String id){
        UserEntity user = userService.selectById(id);
        return R.ok().put("data", user);
    }
    
    /**
     * 获取用户的session用户信息
     */
    @RequestMapping("/session")
    public R getCurrUser(HttpServletRequest request){
    	Long id = (Long)request.getSession().getAttribute("userId");
        UserEntity user = userService.selectById(id);
        return R.ok().put("data", user);
    }

    /**
     * 保存
     */
    @PostMapping("/save")
    public R save(@RequestBody UserEntity user){
//    	ValidatorUtils.validateEntity(user);
    	if(userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername())) !=null) {
    		return R.error("用户已存在");
    	}
        userService.insert(user);
        return R.ok();
    }

    /**
     * 修改
     */
    @RequestMapping("/update")
    public R update(@RequestBody UserEntity user){
//        ValidatorUtils.validateEntity(user);
        userService.updateById(user);//全部更新
        return R.ok();
    }

    /**
     * 删除
     */
    @RequestMapping("/delete")
    public R delete(@RequestBody Long[] ids){
        userService.deleteBatchIds(Arrays.asList(ids));
        return R.ok();
    }
}

请添加图片描述
请添加图片描述
目 录
摘 要 1
前 言 3
第1章 概述 4
1.1 研究背景 4
1.2 研究目的 4
1.3 研究内容 4
第二章 开发技术介绍 5
2.1Java技术 6
2.2 Mysql数据库 6
2.3 B/S结构 7
2.4 SSM框架 8
第三章 系统分析 9
3.1 可行性分析 9
3.1.1 技术可行性 9
3.1.2 经济可行性 10
3.1.3 操作可行性 10
3.2 系统性能分析 10
3.3 系统功能需求分析 10
3.4 业务流程分析 12
3.4.1登录流程 13
第四章 系统设计 14
4.1 系统的功能结构图 14
4.2 系统数据库设计 14
4.2.1 数据库E-R图 14
4.2.2 数据表字段设计 16
第五章 系统功能实现 18
5.1 管理员登录 18
5.2管理员功能实现 18
5.3前台首页功能实现 21
5.4用户功能实现 21
第六章 系统测试 23
6.1 测试方法 23
6.2 测试分析 23
6.3 测试结论 24
结 论 26
致 谢 27
参考文献 28

相关文章:

  • GO开发环境配置
  • Docker-compose安装mysql
  • 字符函数和字符串函数(C语言)
  • zynq pl访问ps ddr
  • JavaEE初阶:HTML
  • IDEA中JDBC连接MYSQL数据库步骤超详细总结
  • docker 开启 nginx 容器
  • 109 使用Ajax传递请求本地数据库
  • 《算法系列》之设计
  • xerces-c++内存管理策略为何耗费大量内存
  • STM32学习笔记:驱动SPI外设读写FLASH
  • 操作系统安全 基本概念
  • 猿创征文——C++|string类2
  • 【51单片机】认识单片机
  • Windows中执行C语言编译的程序乱码的解决方法
  • Docker: 容器互访的三种方式
  • Git 使用集
  • in typeof instanceof ===这些运算符有什么作用
  • PaddlePaddle-GitHub的正确打开姿势
  • PHP 使用 Swoole - TaskWorker 实现异步操作 Mysql
  • spark本地环境的搭建到运行第一个spark程序
  • vue总结
  • 构建二叉树进行数值数组的去重及优化
  • 关于Android中设置闹钟的相对比较完善的解决方案
  • 名企6年Java程序员的工作总结,写给在迷茫中的你!
  • 收藏好这篇,别再只说“数据劫持”了
  • 系统认识JavaScript正则表达式
  • 职业生涯 一个六年开发经验的女程序员的心声。
  • Android开发者必备:推荐一款助力开发的开源APP
  • ​​​​​​​GitLab 之 GitLab-Runner 安装,配置与问题汇总
  • ![CDATA[ ]] 是什么东东
  • #{} 和 ${}区别
  • %3cscript放入php,跟bWAPP学WEB安全(PHP代码)--XSS跨站脚本攻击
  • (4.10~4.16)
  • (Matlab)使用竞争神经网络实现数据聚类
  • (ZT)出版业改革:该死的死,该生的生
  • (zz)子曾经曰过:先有司,赦小过,举贤才
  • (待修改)PyG安装步骤
  • (附源码)python旅游推荐系统 毕业设计 250623
  • (附源码)ssm考试题库管理系统 毕业设计 069043
  • (六) ES6 新特性 —— 迭代器(iterator)
  • (六)软件测试分工
  • (三分钟)速览传统边缘检测算子
  • (原創) 如何刪除Windows Live Writer留在本機的文章? (Web) (Windows Live Writer)
  • **Java有哪些悲观锁的实现_乐观锁、悲观锁、Redis分布式锁和Zookeeper分布式锁的实现以及流程原理...
  • .360、.halo勒索病毒的最新威胁:如何恢复您的数据?
  • .java 指数平滑_转载:二次指数平滑法求预测值的Java代码
  • .NET CF命令行调试器MDbg入门(一)
  • .NET Core 中插件式开发实现
  • .NET Core跨平台微服务学习资源
  • .net 后台导出excel ,word
  • .net反编译的九款神器
  • .net使用excel的cells对象没有value方法——学习.net的Excel工作表问题
  • .net项目IIS、VS 附加进程调试
  • .NET项目中存在多个web.config文件时的加载顺序