看到了个东西,不知道怎么弄,

liu6jing6 发布于 2013/03/19 11:41
阅读 242
收藏 0
今天看到别人网站上 有个好玩的东西, 里边显示个来访次数, 这个怎么实现?是JS么。。我看着像。。。
加载中
0
lizhi_java
lizhi_java

不用吧,使用过滤器试试,你看行不

public class MyFilter implements Filter {
 public void doFilter(ServletRequest req, ServletResponse resp,
   FilterChain chain) throws IOException, ServletException {
  HttpServletRequest request = (HttpServletRequest) req;
  HttpServletResponse response = (HttpServletResponse) resp;
  // 拦截所有的请求,每次访问让访问次数加1,由于是要统计多个会话的在 application域要维护一个变量,先查,没创建,有用它
  
  ServletContext application = request.getSession().getServletContext();
  // 获得访问次数的集合
  Map<String,Integer> countMap = (Map<String,Integer>) application.getAttribute("countMap");
  
  if(countMap==null) {
   // 第一次访问
   countMap = new HashMap<String,Integer>();
   application.setAttribute("countMap", countMap);
  }
  
  // 获得 ip
  //String ip = request.getRemoteAddr();统计每个地址的访问次数
  String uri = request.getRequestURI();统计每个网页的访问次数
  
  // 将 ip 作为 key 去map中取出次数
  Integer count = countMap.get(uri);
  
  if(count==null)
   count = 1;
  else
   count++;
  
  // 将次数存入
  countMap.put(uri, count);
  // 放行
  chain.doFilter(request, response);

 

1
皛尛惢
皛尛惢
oschina的个人空间左下角也有呀
皛尛惢
皛尛惢
回复 @liu6jing6 : @红薯 开源访问次数的做法
liu6jing6
liu6jing6
哦。。我看看。。怎么搞啊。。。
0
風一樣的男子
風一樣的男子

如果是网站的话,站长统计、百度统计等第三方都提供这个功能

liu6jing6
liu6jing6
哦。。我看看。。怎么搞啊。。。
0
starmichael
starmichael
果断session
0
返回顶部
顶部