需求
判断用户是否是第一次访问服务器,如果是第一次访问服务器,返回欢迎*****如果不是第一次登入
访问服务器,返回其第一次登入的时间
功能实现tomcat上的资源类
@WebServlet("/CookieTest") public class CookieTest extends HttpServlet { @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { this.doPost(req ,resp); } @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { //设置回应编码 resp.setContentType("text/html;charset=utf-8"); //获取cookie的值 Cookie[] cookies = req.getCookies(); boolean dd = false; if( cookies != null && cookies.length > 0 ){ for (Cookie c: cookies ) { String name = c.getName(); //判断是否是用户是否是第一次访问 if("listTime".equals(name)){ dd = true ; //获取当前的时间 Date date = new Date(); SimpleDateFormat sim = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss"); String format = sim.format(date); //设置时间的一个编码值 String encode = URLEncoder.encode(format, "utf-8"); //把时间放入到cookie对象的值里面 c.setValue(encode); resp.addCookie(c); //进行回应你是你上一次访问的时间 String value = c.getValue(); PrintWriter writer = resp.getWriter(); //进行解码 String decode = URLDecoder.decode(value, "utf-8"); writer.write("欢迎你回来你上一次访问的时间是"+decode); break; } } } //当用户是第一次访问时 if( cookies == null || cookies.length == 0 || dd == false ){ //获取第一次访问的时间 Date date = new Date(); SimpleDateFormat sim = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss"); String format = sim.format(date); //设置编码值 String encode = URLEncoder.encode(format, "utf-8"); Cookie cookie = new Cookie("listTime", encode); resp.addCookie(cookie); PrintWriter writer = resp.getWriter(); writer.write("你好欢迎第一次访问"); } } }