最近看视频学习Java的cookie,跟着视频实战一下
package com.rule1.cookie.web;
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 javax.xml.crypto.Data;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date;
@WebServlet("/cookieServlet")
public class cookieServlet extends HttpServlet {
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//设置响应内容形式
response.setContentType("text/html;charset=utf-8");
boolean flag=false;
//获取cookie
Cookie[] cookies = request.getCookies();
if (cookies!=null&&cookies.length>0){
//遍历找到需要的cookie
for (Cookie cookie : cookies) {
String name = cookie.getName();
if ("lastTime".equals(name)){
//获取cookie的值
String value = cookie.getValue();
response.getWriter().write("欢迎回来上次您的登录时间为:"+value);
//重新设置cookie
Date date = new Date();
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy年MM月dd日hh:mm:ss");
value = simpleDateFormat.format(date);
cookie.setValue(value);
flag=true;
cookie.setMaxAge(60*60*24*30);
response.addCookie(cookie);
break;
}
}
}
//首次访问设置cookie
if (cookies==null||cookies.length==0||flag==false){
//获取时间设置cookie
Date date = new Date();
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy年MM月dd日hh:mm:ss");
String value = simpleDateFormat.format(date);
Cookie lastTime = new Cookie("lastTime", value);
System.out.println("lastTime"+value);
flag=true;
lastTime.setMaxAge(60*60*24*30);
response.addCookie(lastTime);
response.getWriter().write("你是首次登录");
}
}
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
this.doPost(request, response);
}
}