@WebServlet(name = "CookieTest", value = "/cookieTest")
public class CookieTest extends HttpServlet {
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
this.doPost(request, response);
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//设置响应消息体的格式和编码
response.setContentType("text/html;charset=utf-8");
//获取所有cookie
Cookie[] cookies = request.getCookies();
boolean flag = false;//没有cookie为false
if (cookies != null && cookies.length > 0){
//遍历cookie数组
for (Cookie cookie : cookies) {
//获取cookie名称
String name = cookie.getName();
//判断名称是否是lastTime
if ("lastTime".equals(name)){
flag = true;//找到cookie
//有cookie 不是第一次访问
//设置cookie的value,设置当前时间的字符串,重新设置cookie的值,重新发送cookie
String value = cookie.getValue();
Date date = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
String str_date = sdf.format(date);
str_date = URLEncoder.encode(str_date,"utf-8");
cookie.setValue(str_date);
//设置cookie的存活时间
cookie.setMaxAge(60*60*24);
response.addCookie(cookie);
//响应数据
value = URLDecoder.decode(value,"utf-8");
response.getWriter().write("<h1>欢迎回来,上次访问时间为:"+value+"</h1>");
break;
}
}
}
if (cookies == null || cookies.length == 0 || flag == false){
//第一次访问
//设置cookie的value,设置当前时间的字符串,重新设置cookie的值,重新发送cookie
Date date = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
String str_date = sdf.format(date);
str_date = URLEncoder.encode("str_date","utf-8");
Cookie cookie = new Cookie("lastTime",str_date);
//设置cookie的存活时间
cookie.setMaxAge(60*60*24);
response.addCookie(cookie);
response.getWriter().write("<h1>欢迎第一次访问</h1>");
}
}
}
cookie实例-记住上一次访问时间
最新推荐文章于 2024-09-22 22:15:03 发布