企业网站 数据库设计,centos nginx wordpress,沈阳招标投标信息网,广州大型网站建设公司排名一、源码特点 springboot 电影推荐系统是一套完善的完整信息系统#xff0c;结合mvc框架和LayUI框架完成本系统springboot dao bean 采用协同过滤算法进行推荐 #xff0c;对理解JSP java编程开发语言有帮助系统采用springboot框架#xff08;MVC模式开发#xff09;结合mvc框架和LayUI框架完成本系统springboot dao bean 采用协同过滤算法进行推荐 对理解JSP java编程开发语言有帮助系统采用springboot框架MVC模式开发系统具有完整的源代码和数据库系统主要采用B/S模式开发。 前段主要技术 css jquery LayUI框架 后端主要技术 Springboot 框架 数据库 mysql 开发工具 IDEA JDK1.8 idea Springboot 电影推荐系统1 二、功能介绍 前台功能 1系统首页 2公告浏览 3电影浏览、查看电影详情 并记录用户浏览记录系统采用协同过滤算法根据用户的行为习惯进行推荐其他电影 4电影评价 5用户注册、登录 后台功能 (1)管理员管理对管理员信息进行添加、删除、修改和查看 (2)用户管理对用户信息进行添加、删除、修改和查看 (3)公告管理对公告信息进行添加、删除、修改和查看 (4)电影管理对电影信息进行添加、删除、修改和查看excel导入 (5)浏览管理对浏览信息进行删除、修改和查看 (6)评价管理对评价信息进行添加、删除、修改和查看 (7)用户登录、个人信息修改
数据库设计
CREATE TABLE gly (
glyid int(11) NOT NULL auto_increment,
yhm VARCHAR(40) default NULL COMMENT 用户名,
mm VARCHAR(40) default NULL COMMENT 密码,
xm VARCHAR(40) default NULL COMMENT 姓名, PRIMARY KEY (glyid)
) ENGINEInnoDB DEFAULT CHARSETgb2312;
CREATE TABLE yonghu (
yhid int(11) NOT NULL auto_increment,
yhm VARCHAR(40) default NULL COMMENT 用户名,
mm VARCHAR(40) default NULL COMMENT 密码,
xm VARCHAR(40) default NULL COMMENT 姓名,
lxdh VARCHAR(40) default NULL COMMENT 联系电话,
lxdz VARCHAR(40) default NULL COMMENT 联系地址, PRIMARY KEY (yhid)
) ENGINEInnoDB DEFAULT CHARSETgb2312;
CREATE TABLE gonggao (
ggid int(11) NOT NULL auto_increment,
bt VARCHAR(40) default NULL COMMENT 标题,
nr VARCHAR(40) default NULL COMMENT 内容,
fbsj VARCHAR(40) default NULL COMMENT 发布时间, PRIMARY KEY (ggid)
) ENGINEInnoDB DEFAULT CHARSETgb2312;
CREATE TABLE dianying (
dyid int(11) NOT NULL auto_increment,
dymc VARCHAR(40) default NULL COMMENT 电影名称,
js VARCHAR(40) default NULL COMMENT 介绍,
tp VARCHAR(40) default NULL COMMENT 图片,
zy VARCHAR(40) default NULL COMMENT 主演,
jq VARCHAR(40) default NULL COMMENT 剧情, PRIMARY KEY (dyid)
) ENGINEInnoDB DEFAULT CHARSETgb2312;
CREATE TABLE liulan (
llid int(11) NOT NULL auto_increment,
yh VARCHAR(40) default NULL COMMENT 用户,
dy VARCHAR(40) default NULL COMMENT 电影,
sj VARCHAR(40) default NULL COMMENT 时间, PRIMARY KEY (llid)
) ENGINEInnoDB DEFAULT CHARSETgb2312;
CREATE TABLE pingjia (
pjid int(11) NOT NULL auto_increment,
dy VARCHAR(40) default NULL COMMENT 电影,
pj VARCHAR(40) default NULL COMMENT 评价,
yh VARCHAR(40) default NULL COMMENT 用户,
sj VARCHAR(40) default NULL COMMENT 时间, PRIMARY KEY (pjid)
) ENGINEInnoDB DEFAULT CHARSETgb2312;控制层代码设计
/**电影列表 查询dianying* */RequestMapping(value listpage)public ModelAndView listpage(HttpServletRequest request, HttpServletResponse response) {try {request.setCharacterEncoding(gb2312);//强制字符集}catch(Exception e){e.printStackTrace();}MapString,Object map new HashMapString,Object();ModelAndView mav new ModelAndView();//初始化mav.setViewName(dianying/dianyinglist);//跳转jsp 页面String dyid(String)request.getParameter(dyid);if(dyid!null!dyid.equals()){//判断电影编号// System.out.println(dyid);map.put(dyid,dyid);//拼接sql语句电影编号}String dymc(String)request.getParameter(dymc);if(dymc!null!dymc.equals()){//判断电影名称// System.out.println(dymc);map.put(dymc,dymc);//拼接sql语句电影名称}String js(String)request.getParameter(js);if(js!null!js.equals()){//判断介绍// System.out.println(js);map.put(js,js);//拼接sql语句介绍}String tp(String)request.getParameter(tp);if(tp!null!tp.equals()){//判断图片// System.out.println(tp);map.put(tp,tp);//拼接sql语句图片}String zy(String)request.getParameter(zy);if(zy!null!zy.equals()){//判断主演// System.out.println(zy);map.put(zy,zy);//拼接sql语句主演}String jq(String)request.getParameter(jq);if(jq!null!jq.equals()){//判断剧情// System.out.println(jq);map.put(jq,jq);//拼接sql语句剧情}Listdianying listdianyingdao.getAll(map);//查询dianying 表数据返回 list对象mav.addObject(list,list);//赋值变量return mav;}/**电影添加方法 对表 dianying 进行添加* */RequestMapping(value add)public ModelAndView add(HttpServletRequest request, HttpServletResponse response){try {request.setCharacterEncoding(gb2312);//强制字符集}catch(Exception e){//捕获异常e.printStackTrace();}ModelAndView mav new ModelAndView();//初始化mav.setViewName(dianying/dianyingadd);//跳转页面dianying beannew dianying();String dyid(String)request.getParameter(dyid);//电影编号 变量bean.setDyid(dyid);//赋值封装String dymc(String)request.getParameter(dymc);//电影名称 变量bean.setDymc(dymc);//赋值封装String js(String)request.getParameter(js);//介绍 变量bean.setJs(js);//赋值封装String tp(String)request.getParameter(tp);//图片 变量bean.setTp(tp);//赋值封装String zy(String)request.getParameter(zy);//主演 变量bean.setZy(zy);//赋值封装String jq(String)request.getParameter(jq);//剧情 变量bean.setJq(jq);//赋值封装dianyingdao.add(bean);//执行 添加 dianying 添加操作request.setAttribute(msg, scriptalert(添加成功);/script);//操作提示return addpage(request,response);}/**电影添加页面 * */RequestMapping(value addpage)public ModelAndView addpage(HttpServletRequest request, HttpServletResponse response){try {request.setCharacterEncoding(gb2312);//强制字符集// request.setAttribute(conn,jdbcTemplate.getDataSource().getConnection());}catch(Exception e){//捕获异常e.printStackTrace();}ModelAndView mav new ModelAndView();//初始化对象mav.setViewName(dianying/dianyingadd);//跳转页面对象return mav;}/**电影删除方法 对表 dianying 进行删除* */RequestMapping(value del)public ModelAndView del(HttpServletRequest request, HttpServletResponse response){String id(String)request.getParameter(keyid);//获得 主键idModelAndView mav new ModelAndView();// mav.setViewName(add/add);try{dianyingdao.delete(Integer.parseInt(id));//执行 删除 dianying 方法}catch(Exception e){e.printStackTrace();;}request.setAttribute(msg, scriptalert(删除成功);/script);//返回前台 操作提示return listpage(request,response);}/**电影查看方法 对表 dianying 进行查看* */RequestMapping(value detail)public ModelAndView detail(HttpServletRequest request, HttpServletResponse response){String id(String)request.getParameter(keyid);//获得 主键idtry {request.setCharacterEncoding(gb2312);//强制字符集// request.setAttribute(conn,jdbcTemplate.getDataSource().getConnection());}catch(Exception e){e.printStackTrace();}dianying beannew dianying();//初始对象电影ModelAndView mav new ModelAndView();//初始化mav.setViewName(dianying/dianyingdetail);//跳转jsp页面try{beandianyingdao.getdianyingByID(Integer.parseInt(id));//查询获得当前dianying对象request.setAttribute(dyid, bean.getDyid());//电影编号request.setAttribute(dymc, bean.getDymc());//电影名称request.setAttribute(js, bean.getJs());//介绍request.setAttribute(tp, bean.getTp());//图片request.setAttribute(zy, bean.getZy());//主演request.setAttribute(jq, bean.getJq());//剧情}catch(Exception e){e.printStackTrace();;}return mav;}
核心算法设计
static {DBO dbnew DBO();String sql;ResultSet rsnull;///电影int i0;sqlselect * from dianying where 11;try{rsdb.query(sql);while(rs.next()){userSet.add(rs.getString(dyid));//电影// users[i]rs.getString(spid);i;}}catch(Exception e){e.printStackTrace();}usersnew String[i-1];sqlselect * from yonghu where 11;i0;try{rsdb.query(sql);while(rs.next()){filmSet.add(rs.getString(yhm));//用户//films[i]rs.getString(yhm);i;}}catch(Exception e){e.printStackTrace();}filmsnew String[i-1];score getScore();}public static String outNearbyUserList(String user) { //user电影idDBO dbnew DBO();Map scores new HashMap();String sql;ResultSet rsnull;///商品int i0;sqlselect * from dianying where 11;try{rsdb.query(sql);while(rs.next()){// i;if (rs.getString(dyid).equalsIgnoreCase(user)) {continue;}double score getOSScore(user, rs.getString(dyid));System.out.println(scorescore);scores.put(rs.getString(dyid), String.valueOf(score));}db.close();}catch(Exception e){e.printStackTrace();}/*for (String tempUser : users) {if (tempUser.equalsIgnoreCase(user)) {continue;}double score getOSScore(user, tempUser);System.out.println(scorescore);scores.put(tempUser, score);}*/System.out.println(scores.toString());TreeMapTest mpnew TreeMapTest();String a mp.getMin(scores);System.out.println(aa);return a;}private static Double getOSScore(String user1, String user2) {HashMap user1Score (HashMap) score.get(user1);HashMap user2Score (HashMap) score.get(user2);double totalscore 0.0;Iterator it user1Score.keySet().iterator();while (it.hasNext()) {String film (String) it.next();int a1 (Integer) user1Score.get(film);int a2 (Integer) user1Score.get(film);int b1 (Integer) user2Score.get(film);int b2 (Integer) user2Score.get(film);int a a1 * a2 - b1 * b2;//System.out.println(Math.abs(a));totalscore Math.sqrt(Math.abs(a));}return totalscore;}
三、注意事项 1、管理员账号admin密码admin 数据库配置文件src\main\resources 下的 application.properties 2、开发环境为IDEA开发数据库为mysql使用java语言开发。 3、数据库文件名是jspfilmsql 系统名称film 4、地址qt/index.jsp 四系统实现 协同过滤算法计算过程 在控制台打印
下载地址https://download.csdn.net/download/qq_41221322/89059304
需要源码 其他的定制服务 下方联系卡片↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓