您的位置:首页 > 其它

Cookie 用户统计浏览器访问次数

2017-12-28 11:10 561 查看
package cn.et;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
* Servlet implementation class CookieDemo1
*/
public class CookieDemo1 extends HttpServlet {
private static final long serialVersionUID = 1L;

/**
* @see HttpServlet#HttpServlet()
*/
public CookieDemo1() {
super();
// TODO Auto-generated constructor stub
}

/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setCharacterEncoding("UTF-8");
response.setContentType("text/html;charset=UTF-8");
PrintWriter pw = response.getWriter();
Integer n = 0;

Cookie[] cookies = request.getCookies();
for(int i=0;cookies!=null && i<cookies.length;i++) {
if(cookies[i].getName().equals("visitCount")) {
n = Integer.parseInt(cookies[i].getValue());
}
}
n = n + 1;
Cookie cookie = new Cookie("visitCount",n+"");
cookie.setMaxAge(7*24*3600);
response.addCookie(cookie);
pw.write("你访问了"+n+"次<a href='/ServletExample6_Cookie_Session/DeleteCookieVisitCountServlet'>清空访问次数</a>");
}

/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
}

}
package cn.et;

import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class DeleteCookieVisitCountServlet extends HttpServlet {
private static final long serialVersionUID = 1L;

public DeleteCookieVisitCountServlet() {
super();

}

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
Cookie cookie = new Cookie("visitCount","0");
//浏览器关了就没了
//设置为0,删除Cookie
cookie.setMaxAge(0);
response.addCookie(cookie);
System.out.println("访问次数已重置");
response.sendRedirect("/ServletExample6_Cookie_Session/CookieDemo1");
}

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request, response);
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: