Hadoop好友推荐系统-推荐结果查询
来源:互联网 发布:php开源项目 编辑:程序博客网 时间:2024/05/17 13:14
项目总目录:基于Hadoop的好友推荐系统项目综述
一、前端展示
1、jsp页面
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%> <body> <div data-options="region:'north',border:false" style="height:60px;padding:50px 50px 10px 50px;"> <h1> 朋友推荐</h1> <label>用户ID:</label> <input class="easyui-validatebox" type="text" id="recommend_input_id" data-options="required:true" style="width:300px" value="9905" /> <a id="recommend_button_id" href="" class="easyui-linkbutton" data-options="iconCls:'icon-note'">查看</a> <br><hr><br> </div> <div id="recommend_return_id" style="padding-left: 30px;font-size: 20px;padding-top:10px;"></div> <br> <div id="recommend_layer_id" style="width:1100px;height:300px;display:none"> <table id="recommend_id" class ="easyui-datagrid" > </table> </div> <!-- --> <script type="text/javascript" src="js/recommend.js"></script> </body>
2、js逻辑
// reocmmend 用户查询及推荐 var id_=$('#recommend_input_id').val(); $('#recommend_id').datagrid({ border : false, fitColumns : false, singleSelect : true, width : 600, height : 250, nowrap : false, fit : true, pagination : true,// 分页控件 pageSize : 4, // 每页记录数,需要和pageList保持倍数关系 pageList : [ 4, 8, 12 ], rownumbers : true,// 行号 pagePosition : 'top', url : 'dB/dB_getRecommendData.action',// url:'', queryParams: { id: id_ // , // subject: 'datagrid' }, idField:'id', columns :[[ { field : 'displayName', title : '用户名', width : '120' },{ field : 'downVotes', title : '反对数', width : '150' },{ field : 'upVotes', title : '支持数', width : '150' },{ field : 'views', title : '浏览数', width : '150', },{ field : 'reputation', title : '声望值', width : '150' },{ field : 'aboutMe', title : '关于我', width : '300' } ]] }); // recomend});
二、后台逻辑
1、action层
对应的action在这里获取:url : ‘dB/dB_getRecommendData.action’,
/** * 获取推荐信息 */ public void getRecommendData(){ Map<String,Object> map = null; try{ map=dBService.getRecommendData(id,rows,page); }catch(Exception e){ e.printStackTrace(); } String json =JSON.toJSONString(map); log.info(json); Utils.write2PrintWriter(json); return ; }
2、service层
/** * 获取推荐信息 * 1. 根据id查询UserGroup看是否有记录; * 2. 如有记录,则用户有推荐的朋友;跳转到4; * 3. 如果没有,则返回说当前用户没有分组; * 4. 根据查询的groupType再次查询所有该组的id; * 5. 根据4中的id去UserData中查找数据并显示; * * @param id * @param page * @param rows * @return * @throws Exception */ public Map<String, Object> getRecommendData(String id, int rows, int page) throws Exception { Map<String, Object> map = new HashMap<String, Object>(); String hql = "from UserGroup ug where ug.userId=?"; Object ug = null; try { ug = baseDao.get(hql, new Object[] { Integer.parseInt(id) }); if (ug == null) {// map.put("flag", "false"); map.put("html", "当前用户没有分组,不能推荐朋友!"); map.put("msg", "当天用户没有分组!"); return map; } UserGroup userG = (UserGroup) ug; int groupType = userG.getGroupType(); hql = "select count(1) from UserGroup ug where ug.groupType=?"; long total = (long) baseDao.count(hql, new Object[] { groupType }); hql = "from UserGroup ug where ug.groupType=?"; List<Object> userGroups = baseDao.find(hql, new Object[] { groupType }, page, rows); List<UserData> userDatas = new ArrayList<UserData>(); UserData ud = null; hql = "from UserData ud where ud.id=?"; for (Object u : userGroups) { userG = (UserGroup) u; ud = (UserData) baseDao.get(hql, new Object[] { userG.getUserId() }); userDatas.add(ud); } map.put("flag", "true"); map.put("html", "当前用户的分组是:" + groupType + ",下面是该用户的推荐朋友:"); map.put("total", total); map.put("rows", userDatas); } catch (Exception e) { e.printStackTrace(); map.put("flag", "false"); map.put("html", "后台运行出错!"); map.put("msg", "后台运行出错!"); throw e; } return map; }
三、程序运行截图
阅读全文
0 0
- Hadoop好友推荐系统-推荐结果查询
- Hadoop好友推荐系统-数据表的初始化
- Hadoop好友推荐系统-用户距离计算
- Hadoop好友推荐系统-寻找最佳DC
- Hadoop好友推荐系统-画出决策图
- Hadoop好友推荐系统-执行分类算法
- Hadoop好友推荐系统-组别数据入库
- Hadoop/MapReduce 好友推荐解决方案
- 基于Hadoop的好友推荐系统项目综述
- Hadoop好友推荐系统-HDFS的文件上传和下载
- Hadoop好友推荐系统-去重后的数据存入数据库
- Hadoop好友推荐系统-数据库过滤数据到HDFS
- Hadoop好友推荐系统-执行聚类算法
- Hadoop好友推荐系统-寻找聚类中心
- Hadoop/Spark推荐系统(一)——共同好友
- 好友推荐
- Hadoop实例:二度人脉与好友推荐
- Hadoop实例:二度人脉与好友推荐
- mac上安装hadoop
- PHP面向对象编程中的魔术方法__clone()
- bzoj3626[LNOI2014]LCA 树链剖分
- tensorflow学习笔记(2)——基础(二)——张量和会话
- 二叉查找树
- Hadoop好友推荐系统-推荐结果查询
- 2017.7.10 C组总结
- 牛腩总结
- JAVA 静态变量(方法)用法
- foreach遍历list删除元素一定会报错?
- 笔记5--CSS基础知识
- 记忆宫殿
- hdu1698-Just a Hook (线段树区间更新)(延迟标记)
- Android中Activity的四种启动模式