Cookie 实现记住上一次访问时间

最近看以往的知识点时,稍微整理了下,下面是Cookie 实现记住上一次访问时间

见代码:

1)CookieServlet

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("/CookieServlet")
public class CookieServlet extends HttpServlet {
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {


        System.out.println("CookieServlet被访问了......");
        response.setContentType("text/html;charset=utf-8");
        boolean isCookie=false;
        // 先判断cookie 是否有值
        Cookie[] cookies = request.getCookies();
        if(cookies!=null &&cookies.length>0){
            for (Cookie cookie : cookies) {
                String name = cookie.getName();
                if("lastTime".equals(name)){
                    isCookie=true;
                    // 有上次的访问时间
                    Date date=new Date();
                    SimpleDateFormat format=new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
                    String str_date = format.format(date);
                    System.out.println("解码前  日期为:"+str_date);
                    str_date=URLEncoder.encode(str_date,"utf-8");
                    System.out.println("编码后日期为:"+str_date);

                    String value = cookie.getValue();
                    System.out.println("解码前日期为:"+value);
                    value=URLDecoder.decode(value,"utf-8");
                    System.out.println("解码后日期为:"+value);
                    cookie.setValue(str_date);
                    response.addCookie(cookie);
                    response.getWriter().write("

欢迎回来,您上次登陆的时间为"+value+"

"); } } } if(cookies==null || isCookie==false || cookies.length==0){ System.out.println("第一次访问。。。。"); // 第一次访问 Date date=new Date(); SimpleDateFormat format=new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss"); String str_date = format.format(date); System.out.println("第一次访问 解码前日期为:"+str_date); String str_date2=URLEncoder.encode(str_date,"utf-8"); System.out.println("第一次访问,解码后日期为:"+str_date); Cookie cookie=new Cookie("lastTime",str_date2); response.addCookie(cookie); response.getWriter().write("

欢迎你第一次访问,本次的访问时间为"+str_date+"

"); } } protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { this.doPost(request, response); } }

2)直接访问即可 ,见下图:

Cookie 实现记住上一次访问时间_第1张图片

你可能感兴趣的:(java,EE)