package com.example.demo.learn.servlet.cookie;
import org.apache.commons.lang3.time.DateFormatUtils;
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.io.PrintWriter;
import java.net.URLDecoder;
import java.net.URLEncoder;
import java.util.Date;
/**
* 显示最后一次访问时间
*/
@WebServlet("/LastAccessTimeServlet")
public class LastAccessTimeServlet extends HttpServlet {
private static String COOKIE_LAST_ACCESS_TIME = "lastAccessTime";
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
resp.setCharacterEncoding("UTF-8");
resp.setContentType("text/html;charset=utf-8");
String currentDate = DateFormatUtils.format(new Date(), "yyyy-MM-dd HH:mm:ss");
PrintWriter out = resp.getWriter();
Cookie[] cookies = req.getCookies();
String lastTime = null;
if (cookies != null) {
for (Cookie c : cookies) {
if (c.getName().equals(COOKIE_LAST_ACCESS_TIME)) {
lastTime = c.getValue();
break;
}
}
}
if (lastTime == null) {
out.write("您是第一次访问本网站");
} else {
out.write("您上一次访问本网站的时间是: " + URLDecoder.decode(lastTime,"UTF-8"));
}
Cookie cookie = new Cookie(COOKIE_LAST_ACCESS_TIME, URLEncoder.encode(currentDate,"UTF-8"));
cookie.setMaxAge(60 * 60 * 24);
resp.addCookie(cookie);
}
}