package com.caizhen.Servlet;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date;
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;
@WebServlet("/LastAccessServlet")
public class LastAccessServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
public LastAccessServlet() {
super();
// TODO Auto-generated constructor stub
}
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=utf-8");
String lastAccessTime = null;
Cookie[] cookies = request.getCookies();
for (int i = 0; cookies != null && i < cookies.length; i++) {
if ("lastAccess".equals(cookies[i].getName())) {
lastAccessTime = cookies[i].getValue();
break;
}
}
if (lastAccessTime == null) {
response.getWriter().println("您是第一次访问本站");
} else {
response.getWriter().println("您上次访问的时间是:" + lastAccessTime);
}
String currentTime = new SimpleDateFormat("yyyy年MM月dd日hh时:mm分:ss秒").format(new Date());
Cookie cookie = new Cookie("lastAccess", currentTime);
cookie.setMaxAge(60*60);
response.addCookie(cookie);
}
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doGet(request, response);
}
}
第一运行时,IDE报错,经检查是我的Tomcat9,在cookie的value中不允许存在空格。
更改输出后,成功执行
。
发现不是24小时制度,更改后成功显示
SimpleDateFormat时间显示上,HH是24小时,hh是12小时制