我想知道用户的活动并且有相同的跟踪。例如:如果以youtube为例,我想知道:
1.新用户多少? 2.现有多少? 3.他们正在进行的活动是什么? (即他们经历过的视频类别,他们花费了多长时间,经常搜索的类别等等。)
答案 0 :(得分:-1)
由于您已标记java-ee
,因此可以帮助您的其中一个构造是WebFilter。您可以创建一个过滤器并将其映射到您要跟踪的Web URL - 例如,您可以将它与您想要跟踪的某些servlet或JSP相匹配,或者您可以使用{{}将URL匹配到所有页面1}}。
看看这个documentation from Oracle。
这是一个空的Filter实现:
/*
使用上面的import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.annotation.WebFilter;
@WebFilter("/*")
public class SampleFilter implements Filter {
public SampleFilter() {
}
public void init(FilterConfig fConfig) throws ServletException {
}
public void destroy() {
}
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
// place your code for capturing analytics here
// pass the request along the filter chain. don't remove this!
chain.doFilter(request, response);
}
}
方法来放置捕获分析的逻辑。您可以使用doFilter
方法进行一些初始化。它几乎像servlet一样工作。
init
注释负责在Deployment部署描述符中将类注册为Web Filter。此外,它还会映射所有请求,因为它具有@WebFilter("/*")
URL映射。
您还可以使用Google Analytics等第三方工具来执行此操作。
希望这有帮助!