步骤分析:
1、先判断请求中的cookie是否有含有名为"lastTime"名称的cookie,如果有为再次登入
没有则为首次登入
2、有就取出lastTime在页面中显示时间,然后再创建新的同名cookie响应给客户端
3、没有lastTime cookie就显示首次登入,然后再创建一个Cookie响应给客户端
4、时间解析使用simpleDateFormat(yyy-MM-dd HH-mm-ss)
@WebServlet("/cookieTest")
public class cookieTest extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html;charset=utf-8");
Cookie[] cookies = request.getCookies();
boolean flag =false;
if (cookies!=null && cookies.length>0){
for (Cookie c : cookies) {
String name = c.getName();
if ("lastTime".equals(name)){
String value = c.getValue();
flag =true;
response.getWriter().write("<h1>欢迎再次登入,您上次登入的时间为:"+value+"</h1>");
Date date = new Date();
SimpleDateFormat slf = new SimpleDateFormat("yyyy年MM月dd日HH:mm:ss");
String str_time = slf.format(date);
Cookie lastTime = new Cookie("lastTime", str_time);
response.addCookie(lastTime);
break;
}
}
}
if (cookies==null || cookies.length<0 || flag==false){
Date date = new Date();
SimpleDateFormat slf = new SimpleDateFormat("yyyy年MM月dd日HH:mm:ss");
String str_time = slf.format(date);
Cookie lastTime = new Cookie("lastTime", str_time);
response.addCookie(lastTime);
response.getWriter().write("<h1>欢迎您首次登入!</h1>");
}
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
this.doPost(request, response);
}