用户注册



邮箱:

密码:

用户登录


邮箱:

密码:
记住登录一个月忘记密码?

发表随想


还能输入:200字
云代码 - jsp代码库

jsp 使用Cookie记录用户访问本网页的次数

2012-11-24 作者: 程序猿style举报

[jsp]代码库

<%@ page language="java" contentType="text/html; charset=GB2312" pageEncoding="GB2312"%>
<%@ page import="java.util.Date" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
    <head>
        <title>使用Cookie记录用户访问本网页的次数</title>
    </head>
 
    <body>
        <%  Cookie temp = null;
            //取得Cookie资料
            Cookie[] cookies = request.getCookies();
            int cookielen = cookies.length;
            int count = 0;
            String date = "";
            if (cookielen != 0) {
                // 遍历取得cookies数组中的Cookie变量
                for (int i = 0; i < cookielen; i++) {
                    temp = cookies[i];
                    // 找到本网页设置的cookie项
                    if (temp.getName().equals("accessCount")) {
                        // 得到此前的访问数
                        count = Integer.parseInt(temp.getValue());
                    } else if(temp.getName().equals("accessDate")){
                        date = temp.getValue();
                    }
                    // 找到这两个值便退出遍历
                    if ((count != 0) && !date.equals("")){
                        break;
                    }
                }
            }
            // 显示用户的登陆次数
            if (count == 0) {
                out.println("首度光临的新朋友,欢迎您访问我的网页!");
            } else {
                out.println("这是您第 <font color = red>" + (count + 1)
                        + "</font> 次访问我的网页!<BR/><BR/>");
                out.println("您上次访问的时间是 <font color = red>" + date
                        + "</font> ");
            }
            // 如果访问次数小于500,则更新cookie
            if (count < 500) {
                Cookie accessCountCookie = new Cookie("accessCount", String
                        .valueOf(count + 1));
                // 将Cookie的有效时间设定为1周
                int validateTime = 7 * 24 * 60 * 60;
                accessCountCookie.setMaxAge(validateTime);
                // 设置Cookie的访问路径,当用户访问本服务器的/book路径时,该Cookie会添加在request中
                accessCountCookie.setPath("/book");
                // 将更新后的数据存入cookie变量,存在客户端
                response.addCookie(accessCountCookie);
                 
                // 更新访问时间cookie
                Cookie accessDateCookie = new Cookie("accessDate", new Date().toString());
                accessDateCookie.setMaxAge(validateTime);
                accessDateCookie.setPath("/book");
                response.addCookie(accessDateCookie);
 
            } else {
                // 当访问数大于500时,将cookie删除
                Cookie killMyCookie = new Cookie("accessCount", null);
                killMyCookie.setMaxAge(0);
                killMyCookie.setPath("/book");
                response.addCookie(killMyCookie);
                killMyCookie = new Cookie("accessDate", null);
                killMyCookie.setMaxAge(0);
                killMyCookie.setPath("/book");
                response.addCookie(killMyCookie);
            }
        %>
        <br>
    </body>
</html>


网友评论    (发表评论)

共1 条评论 1/1页

发表评论:

评论须知:

  • 1、评论每次加2分,每天上限为30;
  • 2、请文明用语,共同创建干净的技术交流环境;
  • 3、若被发现提交非法信息,评论将会被删除,并且给予扣分处理,严重者给予封号处理;
  • 4、请勿发布广告信息或其他无关评论,否则将会删除评论并扣分,严重者给予封号处理。


扫码下载

加载中,请稍后...

输入口令后可复制整站源码

加载中,请稍后...