java根据cookie统计uv,利用Cookie统计UV流量 | 学步园
1、利用Cookie统计UV数据(邮件群发,然后统计打开该邮件的点击量)
2、在邮件中植入这个InsureToolAction的访问地址
3、在BaseAction中封装了getRequest()和getResponse()方法
public class InsureToolAction extends BaseAction {
// 客户标识
private final String CUSTOMER_IDENTIFICATION = "CusID";
private String uvFlag;
/**
* cookie中获取用户唯一标识 采用uuid记录 存在获取不存在重新设置
*/
private void autoSetCookie() {
Cookie[] cookies = getRequest().getCookies();
int count = 0;
if (cookies != null) {
for (Cookie cookie : cookies) {
if (org.apache.commons.lang3.StringUtils.equals(cookie.getName(), CUSTOMER_IDENTIFICATION)) {
uvFlag = cookie.getValue();
break;
}
count++;
// 该cookie在cookie列表中不存在
if (count == cookies.length) {
autoSetCid();
}
}
} else {
autoSetCid();
}
}
/**
* 自动设置客户端唯一标识
*/
private void autoSetCid() {
uvFlag = UUID.randomUUID().toString().replaceAll("[-]", "");
Cookie cidCookie = new Cookie(CUSTOMER_IDENTIFICATION, uvFlag);
cidCookie.setDomain(PropertyFileUtil.get("domain"));
cidCookie.setMaxAge(365*24*60*60);
cidCookie.setPath("/");
getResponse().addCookie(cidCookie);
}
}
@Scope("prototype")
public class BaseAction extends ActionSupport {
private HttpServletRequest request;
private HttpServletResponse response;
public void setRequest(HttpServletRequest request) {
this.request = request;
this.session=request.getSession();
this.application=request.getSession().getServletContext();
}
public void setResponse(HttpServletResponse response) {
this.response = response;
}
// 获取Request
public HttpServletRequest getRequest() {
return ServletActionContext.getRequest();
}
// 获取Response
public HttpServletResponse getResponse() {
return ServletActionContext.getResponse();
}
}
java根据cookie统计uv,利用Cookie统计UV流量 | 学步园相关推荐
- 关键词数量统计python_利用python统计《十九大报告》中的关键词和词频
利用python统计<十九大报告>中的关键词.报告摘要和词频.引用snowNLP.得到的结果: 1.关键词: 前五个关键词为 ['发展', '人民', '中国', '党', '建设'] 2 ...
- java resultset 赋值_ResultSet数据自动绑定到JavaBean中 | 学步园
由于需要用jdbc写点程序,不使用Hibernate , mybatis等框架,在设置结果集到bean时相当麻烦,所以写了一个专门完成此功能的类 package com.ehl.dc.authoriz ...
- python从邮箱获取指定邮件_用python提取并统计指定邮箱里的特定邮件 | 学步园
1.需求描述: 我们经常有这样的需求,需要某个邮箱中提取一个mailist的人员,发来的特定邮件,比如他们的周报,提交的patch等等.由于这是一个周期性的工作,有很大的重复和繁杂性,我们这里编写了一 ...
- java计数器策略模式_策略模式与外观模式 | 学步园
1.策略 :定义不同的 2. 例子:随机生成宠物,并统计各种宠物生成数量. a) 抽象类:PetCreator,用于随机生成宠物. package context; import java.util. ...
- java 降低jdk版本_jdk1.7降级到1.6 | 学步园
最近在整jenkins,发现内存jenkins 服务器占用及其夸张,启动后就达到3.4G的虚拟内存,1G的实际内存,查了很久没有什么进展,网上有个帖子说是jdk1.7吃内存,降到1.6比较好,就试试看 ...
- java读取1g超大图片_java读取大文件1G+ | 学步园
正常读取大文件,可能会想到用缓存 如: package base; import java.io.BufferedInputStream; import java.io.BufferedReader; ...
- java map string stu_Java Map遍历的三种方式 | 学步园
最近经常碰到Map遍历的问题,在网上查找资料后,记录下,权当备忘~~~~~~ 这里给出了三种遍历的方式,注释中已说明各自方式的优点. package edu.hrbeu.cloud.testIterM ...
- java vim ide_把VIM配置成IDE开发环境 | 学步园
VIM常用命令 VIM命令图 VIM键盘布局图 VIM键盘布局英文 VIM键盘布局中文 将VIM配置成IDE(通过 VIM基本插件 和VIM配置文件) Ubuntu14下我的VIM IDE配置的效果图 ...
- java ocr识别中文_java零碎要点—Tesseract 3.0,Java OCR 图像智能字符识别技术,可识别中文 | 学步园...
2.Java OCR 图像智能字符识别技术,可识别中文 几天一直在研究OCR技术,据我了解的情况,国内最专业的OCR软件只有2家,清华TH-OCR和汉王OCR,看了很多的OCR 技术发现好多对英文与数 ...
- java的connect和http_java发起HttpURLConnection和HttpsURLConnection请求 | 学步园
/** * 发起https请求并获取结果 * * @param requestUrl 请求地址 * @param requestMethod 请求方式(GET.POST) * @param outpu ...
最新文章
- VS 断点无法调试学习总结
- 1.12 Java空对象(null)是怎么回事?
- 关于学习新技术的方法
- 当AR落地B端行业应用,它的无限可能在哪?
- matlab调用C程序
- 招人!入职阿里仅1年,我和做AI的程序员薪资翻了2倍!
- Java二进制小数表示_《Java编程的逻辑》笔记9--小数的二进制表示
- 不好意思,00后黑客CEO登场了!
- nginx 4层代理配置
- share一段采集程序的代码
- 数据分析避坑必读:让人怀疑人生的七大悖论
- POJ 2411.Mondriaan's Dream 解题报告
- 试除法计算最小的N个素数
- 动态创建和移除HTML标签
- Linux批量更改文件后缀名
- 【原理+代码】Python实现Topsis分析法(优劣解距离法)
- 12V直通限流芯片,输出12V,短路保护,可调限流1A-4A
- 广东又将添新高校:香山大学来了
- Python爬取小猪短租全网数据
- 数仓及其维度(分层)建模(ODS DWD DWS DWT ADS)
热门文章
- mysql主从IP地址变更
- # Markdown 学习笔记 ## 标题的使用 1. 一级标题 # 2. 二级标题 ## 3. 三级标题 ### 4. 四级列表#### 5. 五级列表##### 6. 六级列表####
- 计算机的音量打不开,电脑没声音。音量控制也打不开怎么处理?
- 已知椭圆长短轴半径a,b,matlab画椭圆(附椭圆公式)
- App版本更新接口的设计
- 基于Android的办公自动化系统APP设计与实现
- 赛事解析|乒乓球时序动作定位大赛亚军方案分享
- PPT学习整理(八)PPT图片技巧
- Linux wine系列——Ubuntu20.04安装wine教程 [2021.3]
- 最有效地戒掉晚睡强迫症(熬夜强迫症、假象失眠症等等)