java 下网站有什么方法可以记录每个用户分别访问了哪些页面

2016-07-05 12:03:39 +08:00
 irainsoft
帮一个做策划的朋友问的,针对每一个注册 id 访问的商品页面进行记录这样可以方便统计不同用户选择意向的区别

顺带问一下这个工作量是不是很大?朋友公司的程序员似乎不是很想去做...
3044 次点击
所在节点    问与答
11 条回复
ooTwToo
2016-07-05 12:13:14 +08:00
AOP
caixiexin
2016-07-05 12:14:25 +08:00
在所有请求前加个拦截器,分析请求中的用户 id ,已经访问的页面地址,入库。
如果怕性能问题,可以先不入库,写入缓存或消息队列后续慢慢处理
wander2008
2016-07-05 12:31:43 +08:00
用得着楼上那些这么复杂么
des
2016-07-05 12:44:14 +08:00
@wander2008 楼上可以不改动现有程序啊
learnshare
2016-07-05 12:45:50 +08:00
Web 服务器( Nginx )上统计日志不就好了
cocalrush
2016-07-05 12:48:48 +08:00
你们可以试试 Apache 或者 ngnix 的 log 的么。你们把登录用户的 ID 写在 cookie 里面。打 ngnix 或者 Apache 日志的时候打出这个 cookie …用日志统计下就好了。
ThreeBody
2016-07-05 13:00:53 +08:00
你们要直观点,或者后期随时可以查的话,肯定要做程序,对程序改动最小的,个人建议也是拦截器,不怕逻辑改动
notgod
2016-07-05 13:00:58 +08:00
这个不是 java 的事
部署一个 nginx 记录日志 使用 empty_gif 模块
然后使用 js 用户每次访问一个页面 就 post 一次请求给 nginx
日志格式可以自己定义 比如 uri path time 等等
比如时间的维度 记录从请求到网页完全载入的时间

至于用户的问题 根据用户的 id 生成一个 uuid, post 请求的时候加密 分析日志的时候解密
然后分析日志就可以了

大部分的流量统计系统 都是这么做的 一个原理
wander2008
2016-07-05 13:06:26 +08:00
@des 谁说需要修改了?不用修改一样可以。用户行为的数据完全可以分析出来
notgod
2016-07-05 13:45:45 +08:00
我弄复杂了
忘记了我自己的方案
你这个需求和我之前为统计 load time 和 user Internet speed 的需求差不多
什么都不要改动 也不用额外部署 只需要加个统计代码

最简单的方案 使用 google 分析
加个 GA js 的统计代码
改下 send 的参数 使用 js 生成各种参数 包括加密的用户 id path 等等
然后直接把数据 send 给 ga
在 ga 搜索 分析 查看 就可以了

不用担心拖速度问题 ga 默认国内解析到北京的服务器

keep easy
admintest001
2016-07-05 17:38:53 +08:00
@notgod 这个很方便

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/290360

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX