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

网站建设的面试要求灰色词排名推广

网站建设的面试要求,灰色词排名推广,wordpress 女装小说,做企业免费网站#x1f34a;作者#xff1a;计算机编程-吉哥 #x1f34a;简介#xff1a;专业从事JavaWeb程序开发#xff0c;微信小程序开发#xff0c;定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事#xff0c;生活就是快乐的。 #x1f34a;心愿#xff1a;点… 作者计算机编程-吉哥 简介专业从事JavaWeb程序开发微信小程序开发定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事生活就是快乐的。 心愿点赞 收藏 ⭐评论 文末获取源码联系 精彩专栏推荐订阅 不然下次找不到哟~Java毕业设计项目~热门选题推荐《1000套》 目录 1.技术选型 2.开发工具 3.功能 3.1【角色】 3.2【前端功能模块】 3.3【后端功能模块】 4.项目演示截图 4.1 首页 4.2 音乐信息 4.3 音乐资讯 4.4 个人中心 4.5 用户管理 4.6 音乐信息管理 4.7 音乐评分管理 4.8 我的歌单管理 5.核心代码 5.1拦截器 5.2分页工具类 5.3文件上传下载 5.4前端请求 6.LW文档大纲参考 背景意义介绍  个性化音乐推荐系统在当前数字音乐快速发展的背景下显得尤为重要。随着用户对音乐的多样化需求日益增长如何从海量的音乐数据中筛选出符合用户个人喜好的音乐成为了提升用户体验的关键。基于协同过滤算法的个性化音乐推荐系统通过分析用户的历史行为数据如听歌记录、评分和收藏等来挖掘用户的潜在喜好并推荐相似的音乐作品。 该系统通常包含用户管理、音乐信息管理、音乐评分管理、歌单管理、新闻资讯管理等模块。管理员可以通过系统进行用户信息的管理、音乐信息的更新、新闻资讯的发布等而用户则可以通过前端界面浏览音乐信息、享受个性化的音乐推荐、参与互动交流等。 使用Java、SpringBoot和Vue.js技术实现的个性化音乐推荐系统不仅能够提供稳定高效的后端服务还能为用户提供流畅且响应迅速的前端体验。通过协同过滤算法系统能够实现基于用户或物品的推荐通过计算用户之间的相似度或物品之间的相似度来生成推荐列表。 此外系统的研究和实现对于音乐爱好者、音乐产业和机器学习技术的发展都具有重要的价值和意义。它不仅能够丰富用户的音乐体验帮助音乐产业提高收入还能推动机器学习技术在音乐推荐领域的应用和发展。随着技术的不断进步未来的个性化音乐推荐系统将更加智能化为用户提供更加精准和个性化的音乐推荐服务。 1.技术选型 springboot、mybatisplus、vue、elementui、html、css、js、mysql、jdk1.8 2.开发工具 idea、navicat 3.功能 3.1【角色】 管理员、用户 3.2【前端功能模块】 登录注册首页音乐信息音乐资讯个人中心个人中心、修改密码、音乐评分、我的歌单、我的收藏 3.3【后端功能模块】 登录首页管理员管理用户管理音乐信息管理音乐类型、标签、音乐信息音乐评分管理我的歌单管理新闻资讯管理 4.项目演示截图 4.1 首页 4.2 音乐信息 4.3 音乐资讯 4.4 个人中心 4.5 用户管理 4.6 音乐信息管理 4.7 音乐评分管理 4.8 我的歌单管理 5.核心代码 5.1拦截器 package com.interceptor;import com.alibaba.fastjson.JSONObject; import com.annotation.IgnoreAuth; import com.entity.TokenEntity; import com.service.TokenService; import com.utils.R; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpStatus; import org.springframework.stereotype.Component; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.method.HandlerMethod; import org.springframework.web.servlet.HandlerInterceptor;import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.PrintWriter;/*** 权限(Token)验证*/ Component public class AuthorizationInterceptor implements HandlerInterceptor {public static final String LOGIN_TOKEN_KEY Token;Autowiredprivate TokenService tokenService;Overridepublic boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {//支持跨域请求response.setHeader(Access-Control-Allow-Methods, POST, GET, OPTIONS, DELETE);response.setHeader(Access-Control-Max-Age, 3600);response.setHeader(Access-Control-Allow-Credentials, true);response.setHeader(Access-Control-Allow-Headers, x-requested-with,request-source,Token, Origin,imgType, Content-Type, cache-control,postman-token,Cookie, Accept,authorization);response.setHeader(Access-Control-Allow-Origin, request.getHeader(Origin));// 跨域时会首先发送一个OPTIONS请求这里我们给OPTIONS请求直接返回正常状态if (request.getMethod().equals(RequestMethod.OPTIONS.name())) {response.setStatus(HttpStatus.OK.value());return false;}IgnoreAuth annotation;if (handler instanceof HandlerMethod) {annotation ((HandlerMethod) handler).getMethodAnnotation(IgnoreAuth.class);} else {return true;}//从header中获取tokenString token request.getHeader(LOGIN_TOKEN_KEY);/*** 不需要验证权限的方法直接放过*/if(annotation!null) {return true;}TokenEntity tokenEntity null;if(StringUtils.isNotBlank(token)) {tokenEntity tokenService.getTokenEntity(token);}if(tokenEntity ! null) {request.getSession().setAttribute(userId, tokenEntity.getUserid());request.getSession().setAttribute(role, tokenEntity.getRole());request.getSession().setAttribute(tableName, tokenEntity.getTablename());request.getSession().setAttribute(username, tokenEntity.getUsername());return true;}PrintWriter writer null;response.setCharacterEncoding(UTF-8);response.setContentType(application/json; charsetutf-8);try {writer response.getWriter();writer.print(JSONObject.toJSONString(R.error(401, 请先登录)));} finally {if(writer ! null){writer.close();}}return false;} } 5.2分页工具类 package com.utils;import java.io.Serializable; import java.util.List; import java.util.Map;import com.baomidou.mybatisplus.plugins.Page;/*** 分页工具类*/ public class PageUtils implements Serializable {private static final long serialVersionUID 1L;//总记录数private long total;//每页记录数private int pageSize;//总页数private long totalPage;//当前页数private int currPage;//列表数据private List? list;/*** 分页* param list 列表数据* param totalCount 总记录数* param pageSize 每页记录数* param currPage 当前页数*/public PageUtils(List? list, int totalCount, int pageSize, int currPage) {this.list list;this.total totalCount;this.pageSize pageSize;this.currPage currPage;this.totalPage (int)Math.ceil((double)totalCount/pageSize);}/*** 分页*/public PageUtils(Page? page) {this.list page.getRecords();this.total page.getTotal();this.pageSize page.getSize();this.currPage page.getCurrent();this.totalPage page.getPages();}/** 空数据的分页*/public PageUtils(MapString, Object params) {Page page new Query(params).getPage();new PageUtils(page);}public int getPageSize() {return pageSize;}public void setPageSize(int pageSize) {this.pageSize pageSize;}public int getCurrPage() {return currPage;}public void setCurrPage(int currPage) {this.currPage currPage;}public List? getList() {return list;}public void setList(List? list) {this.list list;}public long getTotalPage() {return totalPage;}public void setTotalPage(long totalPage) {this.totalPage totalPage;}public long getTotal() {return total;}public void setTotal(long total) {this.total total;}} 5.3文件上传下载 package com.controller;import java.io.File; import java.io.FileNotFoundException; import java.io.IOException; import java.util.Arrays; import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Random; import java.util.UUID;import org.apache.commons.io.FileUtils; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpHeaders; import org.springframework.http.HttpStatus; import org.springframework.http.MediaType; import org.springframework.http.ResponseEntity; import org.springframework.util.ResourceUtils; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.multipart.MultipartFile;import com.annotation.IgnoreAuth; import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.entity.ConfigEntity; import com.entity.EIException; import com.service.ConfigService; import com.utils.R;/*** 上传文件映射表*/ RestController RequestMapping(file) SuppressWarnings({unchecked,rawtypes}) public class FileController{Autowiredprivate ConfigService configService;/*** 上传文件*/RequestMapping(/upload)IgnoreAuthpublic R upload(RequestParam(file) MultipartFile file,String type) throws Exception {if (file.isEmpty()) {throw new EIException(上传文件不能为空);}String fileExt file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf(.)1);File path new File(ResourceUtils.getURL(classpath:static).getPath());if(!path.exists()) {path new File();}File upload new File(path.getAbsolutePath(),/upload/);if(!upload.exists()) {upload.mkdirs();}String fileName new Date().getTime().fileExt;File dest new File(upload.getAbsolutePath()/fileName);file.transferTo(dest);if(StringUtils.isNotBlank(type) type.equals(1)) {ConfigEntity configEntity configService.selectOne(new EntityWrapperConfigEntity().eq(name, faceFile));if(configEntitynull) {configEntity new ConfigEntity();configEntity.setName(faceFile);configEntity.setValue(fileName);} else {configEntity.setValue(fileName);}configService.insertOrUpdate(configEntity);}return R.ok().put(file, fileName);}/*** 下载文件*/IgnoreAuthRequestMapping(/download)public ResponseEntitybyte[] download(RequestParam String fileName) {try {File path new File(ResourceUtils.getURL(classpath:static).getPath());if(!path.exists()) {path new File();}File upload new File(path.getAbsolutePath(),/upload/);if(!upload.exists()) {upload.mkdirs();}File file new File(upload.getAbsolutePath()/fileName);if(file.exists()){HttpHeaders headers new HttpHeaders();headers.setContentType(MediaType.APPLICATION_OCTET_STREAM); headers.setContentDispositionFormData(attachment, fileName); return new ResponseEntitybyte[](FileUtils.readFileToByteArray(file),headers, HttpStatus.CREATED);}} catch (IOException e) {e.printStackTrace();}return new ResponseEntitybyte[](HttpStatus.INTERNAL_SERVER_ERROR);}} 5.4前端请求 import axios from axios import router from /router/router-static import storage from /utils/storageconst http axios.create({timeout: 1000 * 86400,withCredentials: true,baseURL: /furniture,headers: {Content-Type: application/json; charsetutf-8} }) // 请求拦截 http.interceptors.request.use(config {config.headers[Token] storage.get(Token) // 请求头带上tokenreturn config }, error {return Promise.reject(error) }) // 响应拦截 http.interceptors.response.use(response {if (response.data response.data.code 401) { // 401, token失效router.push({ name: login })}return response }, error {return Promise.reject(error) }) export default http 6.LW文档大纲参考 具体LW如何写法可以咨询博主耐心分享 你可能还有感兴趣的项目 更多项目推荐:计算机毕业设计项目 如果大家有任何疑虑请在下方咨询或评论
http://www.dnsts.com.cn/news/270556.html

相关文章:

  • 网站设计教程及在线模拟器莆田网站建设模板
  • 手机网站建设ppt上海房地产信息网官网
  • 西安响应式网站建设公司国企怎么做网站
  • 中国变装网站教你如何做女人初学网站建设
  • 设计师个人网站欣赏网站推广前景怎么样
  • 成立学校网站建设小组广州网络营销外包团队
  • 长沙网站建设哪家最好企业网站定制案例
  • 邢台做wap网站的公司做网站ssl证书必须要吗
  • 彩票网站开发的风险网站免费推广方式
  • 中国最大的中文网站陕西省建设工程信息网官网
  • 做网站能用python吗为了爱我可以做任何事俄剧网站
  • 网站建设设计公司排名网站开发远程服务器如何设置
  • 备案 网站名称什么用黑群晖按照wordpress
  • 重庆响应式网站网站建设演讲稿
  • 模版网站开发建立网站 费用
  • 做个网站商城要多少钱虚拟机wordpress安装教程视频教程
  • 西安网站建设gj网站建设犭金手指C排名15
  • 网站seo在哪里设置正规的佛山网站建设价格
  • 网站营销方案设计公司福田网站建设seo信科
  • 网页设计与制作论文6000自己网站怎么做百度优化
  • 做的好的h游戏下载网站婚礼策划师
  • php建站软件哪个好常熟制作网站的地方
  • 网站建设需要哪些功能网站开发就是ssh吗
  • 做网站公司价格多少定制商城网站的费用
  • 东营网站排名优化公司天元建设集团有限公司资质
  • 湖北网站设计企业营销方案策划
  • 网站主流系统编程做网站
  • 团购网站怎么运营wordpress评论框函数
  • 如何创建问卷网站163企业邮箱登陆
  • 个人备案的网站能做盈利吗做自己任务的网站