++++++++++++++++++++++++++
源码(这里的排版有问题,不知道怎么调。。。):
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
// 设置响应的消息体的数据格式以及编码(为了支持中文)
resp.setContentType("text/html;charset=utf-8");
// 定义一个变量判断是否找到LastTime这个cookie
boolean lasttime = false;
// 1、获取所有cookie
Cookie[] cookies = req.getCookies();
// 2、遍历数组,并且找出其中 name="LastTime" 的键值对
if(cookies != null && cookies.length > 0){
for(Cookie cookie : cookies){
// 找出 LastTime
String name = cookie.getName();
if("LastTime".equals(name)){
// 如果匹配出来,说明不是第一次访问
lasttime = true;
// 设置cookie的value
// 获取当前时间的字符串,重新设置cookie的值
Date date = new Date();
// 设置 日期的输出格式
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年mm月dd日-hh:mm:ss");
String new_value = sdf.format(date);
cookie.setValue(new_value);
// 设置cookie的存活时间
cookie.setMaxAge(60*60*24);
// 覆盖原来的value
resp.addCookie(cookie);
String value = cookie.getValue();
// 取出数据
resp.getWriter().write("<h1>欢迎回来,您上一次访问的时间是:"+value+"</h1>");
// 找到了就不用再找了
break;
}
}
}
if(cookies == null || cookies.length == 0 || lasttime == false){
// 以上条件都成立,说明是第一次访问
// 获取当前时间的字符串,重新设置cookie的值
Date date = new Date();
// 设置 日期的输出格式
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年mm月dd日-hh:mm:ss");
String new_value = sdf.format(date);
Cookie cookie = new Cookie("LastTime", new_value);
// 设置cookie的存活时间
cookie.setMaxAge(60*60*24);
// 覆盖原来的value
resp.addCookie(cookie);
resp.getWriter().write("<h1>您好,欢迎你首次访问</h1>");
}
}
++++++++++++++++++++++++++