cookie之记录用户的上次访问的时间
不使用工具类:
设置字符集
response.setContentType("text/html;charset=utf-8");
// 获取浏览器发送过的cookie信息
Cookie[] cookies = request.getCookies();
// 如果cookie第一次访问是null表示的是第一次访问
if(cookies == null){
// 创建cookie
Cookie cookie = new Cookie("lastVisit", new Date().toLocaleString());
// 发送给浏览器
response.addCookie(cookie);
// 第一次访问我们来标识一下
response.getWriter().print("您是第一次访问,欢迎你的加入!");
return;
}
// 遍历cookie数组
for(Cookie c : cookies){//第一次访问的时候cookie是不存在的 null
// 判断cookie的name是不是lastvisit
if("lastVisit".equals(c.getName())){
// 获取cookie的中的值
c.getValue();
// 把这个值进行输出
response.getWriter().print("你上次访问的时间:"+c.getValue());
// 去重新设置cookie中的值
c.setValue(new Date().toLocaleString());
response.addCookie(c);
}
}
/*
// 创建cookie-- 怎么创建一个cookie
Cookie cookie = new Cookie("lastVisit", new Date().toLocaleString());
// 发送给浏览器
response.addCookie(cookie);
*/
}
使用过工具类:
cookieUtil工具类
package cn.cyp.cookie;
import javax.servlet.http.Cookie;
/**
* @Author:cyp
* @date:2019/8/29 11:45
* @Desc:
*/
public class cookieUtil {
public static Cookie findCookie(Cookie[] cookies,String name){
// 判断cookie是否为空
if (cookies==null){
return null;
}
for (Cookie cookie1:cookies){
// 找到相对应的cookie
if (cookie1.getName().equals(name)){
return cookie1;
}
}
return null;
}
}
servlet类:
package cn.cyp.cookie;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.Date;
/**
* @Author:cyp
* @date:2019/8/29 11:50
* @Desc:
*/
@WebServlet(urlPatterns = "/cookieUtilServlet")
public class cookieUtilServlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html;charset=utf-8");
//请求所有的cookie
Cookie[] cookies = request.getCookies();
// 调用cookieUtil中的方法
Cookie last = cookieUtil.findCookie(cookies, "last");
if (last==null){
// 创建cookie
last=new Cookie("last",new Date().toString());
// 将创建好的cookie响应给浏览器
response.addCookie(last);
response.getWriter().print("第一次访问该网站");
}else{
// 当cookie不为空的时候,直接获取cookie的value值
String value = last.getValue();
// 设置cookie的value值
last.setValue(new Date().toLocaleString());
// 响应给浏览器
response.addCookie(last);
response.getWriter().print("你上次的访问时间是"+value);
}
}
}