java Servlet中使用Cookie记录浏览器客户端访问时间

Posted cn-dragon

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java Servlet中使用Cookie记录浏览器客户端访问时间相关的知识,希望对你有一定的参考价值。

@WebServlet("/accessTimeServlet")
public class AccessTimeServlet extends HttpServlet {
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // 设置 ContentType
        response.setContentType("text/html;charset=utf-8");
        // 获取Cookies
        Cookie[] cookies = request.getCookies();
        boolean flag = false;
        if (cookies != null && cookies.length > 0) {
            for (Cookie cookie : cookies) {
                if (cookie.getName().equals("lastTime")) {
                    flag = true;
                    // 定义时间
                    String date = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date());
                    // 通过url解码并输出至窗口
                    response.getWriter().write("欢迎回来,您上次访问时间为" + URLDecoder.decode(cookie.getValue(), "utf-8"));
                    // 因cookie无法存储空格,所以通过url编码添加
                    cookie.setValue(URLEncoder.encode(date, "utf-8"));
                    // 设置cookie蠢货时间
                    cookie.setMaxAge(30 * 24 * 60 * 60);
                    // 添加cookie 值
                    response.addCookie(cookie);
                    break;
                }
            }
        }

        if (cookies == null || cookies.length < 1 || flag == false) {
            response.getWriter().write("您好,欢迎首次访问!");
            // 定义时间
            String date = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date());
            // 创建cookie
            Cookie timeCookie = new Cookie("lastTime", URLEncoder.encode(date, "utf-8"));
            // 添加进cookies
            response.addCookie(timeCookie);
        }
    }

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        this.doPost(request, response);
    }
}

 

以上是关于java Servlet中使用Cookie记录浏览器客户端访问时间的主要内容,如果未能解决你的问题,请参考以下文章

javaWeb 使用cookie显示商品浏览记录

显示商品的浏览记录

Servlet 之会话cookie与session

[Java]Servlet工作原理之二:Session与Cookie

Cookie中图片的浏览记录与cookie读取servle时路径的设置(文字描述)

JAVA框架-Servlet下