package com.hqyj.gwr.cookie; 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.net.URLDecoder; import java.net.URLEncoder; import java.text.SimpleDateFormat; import java.util.Date; @WebServlet("/TestServlet") public class homework1 extends HttpServlet { @Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request, response); } @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // 设置响应的消息体的数据格式以及编码 response.setContentType("text/html;charset=utf-8"); // 获取全部的cookie Cookie[] cookies = request.getCookies(); boolean flag = false; // 标识符 // 进行遍历 if(cookies!=null&&cookies.length>0){ for (Cookie cookie : cookies) { String name = cookie.getName(); // 判断是否是第一次访问 if("lastTime".equals(name)){ flag = true; // 获取上次访问的时间 String value = cookie.getValue(); Date date = new Date(); SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss"); String format = sdf.format(date); // cookie不支持特殊字符,使用URL编码存储,URL解码解析 format= URLEncoder.encode(format,"utf-8"); // 设置本次访问时间 cookie.setValue(format); // 设置生命周期 cookie.setMaxAge(500); response.addCookie(cookie); // URL编码 value = URLDecoder.decode(value,"utf-8"); response.getWriter().write("<h1>你上次访问时间为:</h1>"+value); } } } // 第一次登陆 if(cookies==null || cookies.length==0 || flag==false){ Date date = new Date(); SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss"); String format = sdf.format(date); format= URLEncoder.encode(format,"utf-8"); Cookie cookie = new Cookie("lastTime",format); cookie.setMaxAge(30*24*60*60); response.addCookie(cookie); response.getWriter().write("<h1>您好,欢迎您首次访问</h1>"); } } }
“相关推荐”对你有帮助么?
-
非常没帮助
-
没帮助
-
一般
-
有帮助
-
非常有帮助
提交