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

发布于:2022-12-19 ⋅ 阅读:(199) ⋅ 点赞:(0)

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

一、项目运行

环境配置:

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;
}

本文含有隐藏内容,请 开通VIP 后查看

网站公告

今日签到

点亮在社区的每一天
去签到