springboot+vue+协同过滤算法电影推荐网站

2023-05-16

源码获取:文末获取联系方式!

一、项目运行

环境配置:

Jdk1.8 + Tomcat 8.5+ Mysql + VUE+ IDEA(Eclispe,MyEclispe,Sts都支持)。
项目技术:

Spring + SpringBoot+ SSM+ Maven + Vue + 协同过滤算法等等组成,B/S模式 + Maven管理等等。

二、项目展示

网站首页

电影列表

电影详情(收藏、下载、评论)

高分榜电影

后台管理

 三、关键代码展示

项目结构


协同过滤算法电影推荐
@ResponseBody
@RequestMapping("movieLove")
public HashMap<String,Object> productLove(HttpServletRequest request){
    HashMap<String,Object> res = new HashMap<String,Object>();
    Member member = (Member)request.getSession().getAttribute("sessionmember");
    //会员集合
    List<Member> ulist = memberDAO.selectAll(null);
    String[] uarray=new String[ulist.size()];
    for(int i=0;i<ulist.size();i++){
        uarray[i]=String.valueOf(ulist.get(i).getId());
    }

    //电影集合
    HashMap map = new HashMap();
    List<Movie> movies = movieDAO.selectAll(null);
    String[] dyarray=new String[movies.size()];
    for(int i=0;i<movies.size();i++){
        dyarray[i]=String.valueOf(movies.get(i).getId());
    }

    //评分
    int [][] arr2 = new int[ulist.size()][];
    int count = 0;
    //System.out.println("arr2.length=="+arr2.length);
    for(int i=0;i<arr2.length;i++){
        Member mb = ulist.get(i);
        //System.out.println("userobj"+i+"    "+userobj);
        //创建一维数组
        int[] tmpArr = new int[movies.size()];
        //创建二维数组
        for(int j=0;j < tmpArr.length;j++){
            Movie movie = movies.get(j);
            map.put("movieid", movie.getId());
            map.put("memberid", mb.getId());
            List<Comment> comments = commentDAO.selectAll(map);

            if(comments.size()>0){
                int pf = 0;
                for(Comment comment : comments){
                    pf += comment.getScore();
                }
                tmpArr[j] = pf;
            }

            //System.out.println("dyobj"+j+"    "+dyobj);
            //tmpArr[j] = (++count);
        }
        arr2[i] = tmpArr;
    }
    for(int m=0;m<arr2.length;m++){
        for(int n=0;n<arr2[m].length;n++){
            System.out.print(arr2[m][n]+"  ");
        }
        System.out.println();
    }

    UserCFDemo u = new UserCFDemo();
    u.users = uarray;
    u.movies = dyarray;
    u.allUserMovieStarList = arr2;
    u.membernum = ulist.size();
    u.mvnum = movies.size();
    List<String> rtnlist = u.mvlist(String.valueOf(member.getId()));
    String aa = "";


    List<Movie> tjproductlist = new ArrayList<Movie>();


    for(int m = 0;m< rtnlist.size();m++){
        Movie p = movieDAO.findById(Integer.valueOf(rtnlist.get(m)));
        Category category = categoryDAO.findById(p.getCategoryid());
        p.setCategory(category);
        tjproductlist.add(p);
        System.out.println("推荐的电影==="+p.getName());
    }
    res.put("lovelist", tjproductlist);

    return res;
}  

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

springboot+vue+协同过滤算法电影推荐网站 的相关文章

  • SpringMVC处理请求流程

    1 用户先发送请求 xff0c 请求被springMvc前端控制器捕获 2 前端控制器对请求URL解析获取请求URL xff0c 根据URL xff0c 调用HandlerMapping 3 前端控制器获得返回的HandlerExecuti
  • C语言(选择结构程序设计)4道例题答案

    1 xff0c include lt stdio h gt include lt math h gt int main float x printf 34 输入x的值是 xff1a n 34 scanf 34 f 34 amp x if x
  • C++ 图论之求图的连通块数量

    1 连通块的定义 块内每个点之间都有一条路径 2 思路 我们可以用dfs深度优先搜索 xff1a 从一个点出发遍历图将遍历过的点全部标记 xff0c 标记过的点则不会再遍历到 再写一个循环枚举所有的点 xff08 枚举起点 xff09 xf
  • 我花1200大洋所学的“元学习课”究竟学了些什么?

    我花1200大洋所学的 元学习课 究竟学了些什么 xff1f 讲课的是台湾的一位大牛名叫Xdite xff0c 以及亿万富豪李笑来 能够跟牛人学习怎么学习我想应该不会有错吧 xff0c 对我来说这次做的应该是一次正确的决定 xff0c 所谓
  • Javaer都在用的Java后端面试笔记, 涵盖90%的主流技术,啃完分分钟拿下大厂offer!!

    到底该如何准备高级开发 架构师级别的面试 xff1f 为了帮助有需要的朋友在金九银十面试 xff0c 最近整理了一份面试知识点笔记复习资料 xff0c 内容包含 xff1a JVM xff0c JAVA多线程并发 xff0c Spring
  • 八种排序算法和耗时

    读取文件big a txt的数据 xff08 包含500000个随机数 xff0c 1 5000000 xff09 xff0c 利用插入排序 希尔排序 xff0c 冒泡排序 快速排序 选择排序 堆排序 xff0c 归并排序 基数排序8种排序
  • Centos7.x升级内核

    文章目录 引言安装elrepo并修改为默认从清华源下载查看可用内核安装包 更新内核卸载多余的内核安装稍微没那么新版本的内核 引言 默认情况下Centos7 9的内核是3 10 xff0c 咱们给他升级一下 span class token
  • 自动化测试工具——Selenium详解

    目录 前言 Selenium的几个特点 seleniun组成部分 selenium RC selenium IDE selenium Grid selenium webDriver 那么selenium RC 与webdriver 主要有什
  • 远程访问及控制SSH 服务

    目录 前言 一 SSH概述 二 SSHD服务 2 1 远程登录 2 2 文件传输 三 SSH服务配置 3 1 SSH服务安全调优 3 2 SSH服务验证 四 密钥对构建 4 1 密钥对原理 4 2 远程拷贝 scp 4 2 1 本地文件复制
  • 前端 - get请求传递数组,出现400 Bad Request错误。

    原因 xff1a 如果请求参数中带有中括号 xff0c 在url中属于功能性字符 xff0c 入参会发生变化 xff0c 出现400 Bad Request错误 你提供的入参 params 61 b 1 2 3 后端接受到的参数 param
  • @Autowired自动装配原理

    一 64 Autowired自动装配 当我们在IDEA中不使用xml配置文件的时候 xff0c 这时候我们就需要 64 Autowired注解 xff0c 该注解的原理如下 xff1a 1 在启动Spring IOC时 xff0c 容器自动
  • zabbix邮箱告警

    1 1 邮件通知 xff1a 通过企业邮箱 第三方服务商邮箱发送报警邮件通知运维工程师 1 2 邮箱开启SMTP xff1a 如果是QQ邮箱需要单独开启SMTP xff0c 其他邮箱具体联系服务商 确认是已经打开状态 xff0c 如果是未开
  • 配置本地yum源仓库

    配置本地yum源仓库 mount dev cdrom mnt 把光盘挂在到mnt目录下 xff0c xff0c xff0c 因为制作本地yum仓库 xff0c 其目的是需要 rpm文件 xff0c 但是不借助网络 xff0c 本地只有iso
  • MySQL完全备份与恢复

    文章目录 MySQL完全备份与恢复数据备份的重要性数据库备份的分类从物理和逻辑角度分1 物理备份2 逻辑备份 从数据库的备份策略角度 xff0c 备份可分为常见的备份方法MySQL完全备份 优点 缺点 差异备份增量备份 备份方式的比较数据库
  • 成长记录-开启我的新生 (2016-12-06)

    真的是很惊险 xff0c 我差一点就错过了 获得新生 的机会 xff0c 我在蜻蜓音频中听到了逻辑思维 xff0c 从逻辑思维中了解到了 得到 xff0c 从 得到 中订阅了吴军博士的 硅谷来信 xff0c 却在过去的好几个月里 xff0c
  • Maven搭建Mybatis框架详解

    本章我们主要讲述在Maven管理系统下 xff0c 引入Mybatis框架的流程 xff0c 大致分为四个部分 xff1a 1 Maven的环境配置及其项目创建 2 利用Maven的依赖管理 xff08 坐标定位 xff09 导入Mybat
  • 生产者--消费者问题算法的实现

    一 知识背景 1 xff0e 进程管理 2 xff0e 信号量的有关知识 二 目的 1 xff0e 了解信号量的使用 2 xff0e 加深对信号量机制的理解 三 要求 1 xff0e 理解生产者与消费者问题模型 xff0c 掌握解决该问题的
  • 添加修改数据时前端报400的原因

    1 向后端提交的字段跟数据库中的字段对不上 当我们添加或者修改数据时 xff0c 前端跟后端的字段可能对不上 xff0c 如果没有让前后端的字段名保持一致 xff0c 就会导致数据不能正常添加到数据库 xff0c 因此会报400 2 对于某
  • 数组蛇形排序,优质解决方案

    目录 1 题目要求 xff0c 按照指定的行列号内 xff0c 数组按照蛇形的规律排列 xff0c 1 题目要求 xff0c 按照指定的行列号内 xff0c 数组按照蛇形的规律排列 xff0c 比如 1 2 6 7 3 5 8 13 4 9
  • (经典C语言题)1.输入3个字符串,要求按由小到大的顺序输出

    1 总体思路 字符串的比较可以使用 strcmp 函数 xff0c 返回值 gt 0 表示大于 xff0c 返回值小于 0 表示小于 xff0c 返回追等 于 0 表示相同 其他的比较排序思路与数字的排序交换没有区别 xff0c 逐个进行比

随机推荐

  • 【经典C语言题】输入10个整数,将其中最小的数与第一个数对换, 把最大的数与最后一个数对换,要求是使用三个函数

    1 先用函数输入10个数 xff0c 再调整 xff0c 最后输出 2 整体思路 在进行数值逐个比较的同时找到最小值的空间地址以及最大值的空间地址 xff0c 使用这两个空间 中的数据最终与第一和最后数据进行对换即可 3 上代码 1 先解决
  • (C语言经典题)有n个整数,使前面各数顺序向后移m个位置,最后m个数变成最前面m个数,

    解题思路 1 2 3 4 5 6 7 8 9 前面都向后移动2的话 8 9 1 2 3 4 5 6 7 可以看出就是8 9 换到前面了 先保存最后一位的值9 xff0c 然后前面的所有数字后移一位 xff0c 再把9放到第一位 接下来就是重
  • git简单使用流程

    通过 git status 查看文件的状态 stage 暂存 commit 提交 history 历史 git本地库 push 推送 pull 拉取 remote 远的 repository 仓库 clone 克隆 上传step 1 git
  • MT8788 Android11 修改默认字体,字体大小和像素密度

    环境 MT8788 Android11 ili9881p hd720 dsi vdo 1 修改默认语言 目录 b device mediateksample tb8788p1 64 bsp vnd tb8788p1 64 bsp mk 内容
  • MT8788 Android11 tp 启动流程

    环境 MT8788 Android11 focaltech touch HD720 5寸tp log信息 分析步骤 一 获取dts信息 和 添加驱动到内核 1 获取dts设备树中配置的信息 2 将tp厂商的驱动文件注册添加到 tpd dri
  • 最新Java电子书

    最新Java电子书 JAVA参考大全 J2SE 5EDITION 世界级程序设计大师作品 Thinking in Java第三版 43 第四版 xff08 中文版 43 习题答案 xff09 Java数据库高级编程宝典 Java核心技术第八
  • 关于mtk配置文件的一些说明

    一 ProjectConfig mk 共三种区别 1 AUTO ADD GLOBAL DEFINE BY NAME类型 xff1a 将它后面的名字 xff0c 定义为宏是没有初始值的 define XXX 2 AUTO ADD GLOBAL
  • 监控平台(windows版本)使用SDK的方式接入摄像头

    一 登录进入监控平台管理端 二 添加设备 1 依次点击左侧菜单栏中业务管理 设备管理 xff0c 进入到设备管理界面 如下图 2 点击设备列表字样下的添加按钮添加设备 如下图 3 在添加设备中按如下方式填写 设备编号 可根据需求自行填写 国
  • 认识HTML

    目录 HTML介绍HTML结构HTML常用标签注释标签标题标签段落标签和换行标签格式化标签图片标签超链接标签表格标签列表标签表单标签form和input标签其他标签 无语义标签 HTML特殊字符 HTML介绍 HTML全称是超文本标记语言
  • spring超全面详解

    spring概述 Spring 是于2003年兴起的一款轻量级的 非侵入式的IOC和AOP的一站式的java开发框架 为简化企业级应用开发而生 1 轻量级 就是指spring核心功能的jar包不大 2 非侵入式 我们的业务代码不需要继承或实
  • 虚拟机怎么从图形界面转到命令行(去掉桌面)

    点击 xff1a ctrl 43 alt 43 F1切换到桌面 点击 xff1a ctrl 43 alt 43 F5切换命令行 xff08 去掉桌面 xff09
  • springboot是怎么实现自动配置的?

    一 springboot是对spring框架做的一系列优化 xff0c 减少了大量繁琐的配置 xff0c 并提供了内置web服务器 xff0c 让程序运行更快 1 springboot起步依赖 xff1a 简单的说 xff0c 起步依赖就是
  • 第三章 Linux文件目录查找

    Find命令 find命令在Linux中搜索效果非常不错 xff0c 不仅可以按照文件名搜索文件 xff0c 还可以按照权限 时间 容量大小等来搜索文件 xff0c 但是find命令它是通过递归式在硬盘中进行搜索的 xff0c 如果指定的搜
  • 超市购物小程序

    编写一个超市购物程序 xff0c 在一家超市有牙刷 毛巾 水杯 苹果和香蕉五种商品 xff1a 拥护输入序列号进行购物 xff0c 并在输入购物数量后算出所需花费及退出购物时的总花费 一次购买结束后 xff0c 需用户输入 34 Y 34
  • 链游是什么?

    链游 从字面上理解它就是区块链上的游戏 xff0c 也被称作gamefi xff08 Gaming and Decentralized Finance xff09 在国内也被称为金融性游戏 在链游中玩家除了能够有玩游戏的体验之外也能够参与交
  • 出现error ‘props‘ is defined but never used 这种eslint相关的报错,关闭eslint的方法

    最近做项目遇到如下报错 xff1a cmd终端中 xff1a 为了关闭这个eslint报错 xff0c 可以用如下方法 xff1a 针对自己创建的新项目的话 xff0c 是在项目文件夹中的vue config js 中 此处项目是用Vue
  • 关于JAVA中内存溢出的解决办法

    关于JAVA中内存溢出的解决办法 J2ee应用系统是运行在J2EE应用服务器上的 xff0c 而j2ee应用服务器又是运行在JVM上的 xff0c 生成环境中JVM参数的优化和设置对于J2EE应用系统性能有着决定性的作用 要优化系统 xff
  • 用FTPClient上传文件,执行this.ftpClient.storeFile(fileName, inStream)报错

    this ftpClient storeFile fileName inStream 方法执行时无反应 xff0c 最后提示错误 原因 xff1a 代码中加了多了一个设置 this ftpClient enterLocalPassiveMo
  • Python+ADB脚本

    目录 准备工具 问题解决 xff1a 如何安装adb和python xff1f 编写程序 实现 注意 xff1a 准备工具 进入正题 xff0c 首先要准备的工具如下 1 一台正常的电脑且安装adb和python环境 2 一部安卓手机 4
  • springboot+vue+协同过滤算法电影推荐网站

    源码获取 xff1a 文末获取联系方式 xff01 一 项目运行 环境配置 xff1a Jdk1 8 43 Tomcat 8 5 43 Mysql 43 VUE 43 IDEA xff08 Eclispe MyEclispe Sts都支持