Cookieで前回の訪問時間を覚える

3324 ワード

コードステップ
サーバ内のサーブレットは、lastTimeというクッキーがあるかどうかを判断します.
1.はい、初めてではありません
  • 1.データに応答して、お帰りなさい.前回の訪問時間は2019年11月06日22時37分
  • です.
  • 2.cookie、lasttime=2019年11月16日22時37分
  • 2、いいえ、初めての訪問です
  • 1.データに応答して、こんにちは、
  • への初アクセスを歓迎します.
  • 2.クッキー、LastTime=
  • 注意:tomcat 8以降、クッキーは中国語データをサポートします.ただし、特殊文字はサポートされていないので、URL符号化記憶、URL復号解析符号化:URLEncoderを使用することを推奨する.Encode(文字列、utf-8)復号:URLDecoder.decode(文字列,「utf-8」)
    @WebServlet("/cookieTest")
    public class CookieTest extends HttpServlet {
        protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
            //      
            response.setContentType("text/html;charset=utf-8");
    
            //1.  cookie
            Cookie[] cookies = request.getCookies();
            boolean flag=false;//  cookie LastTime
            //2.  cookie  
            if (cookies != null && cookies.length>0){
                for (Cookie cookie : cookies) {
                    //3.  cookie  
                    String name = cookie.getName();
                    //4.  cookie   lastTime
                    if("lastTime".equals(name)){
                        //  cookie,       
                        flag=true;// last TIME cookie
    
                        //    
                        //  cookie value,  
                        String value = cookie.getValue();
                        //URL  
                        value = URLDecoder.decode(value,"utf-8");
                        response.getWriter().write("

    , :" + value +"

    "); // cookie value // , cookie , cookies Date date = new Date(); SimpleDateFormat sdf = new SimpleDateFormat("yyyy MM dd HH:mm:ss"); String str_date = sdf.format(date); //URL cookie str_date = URLEncoder.encode(str_date, "utf-8");// cookie.setValue(str_date); // cookie cookie.setMaxAge(60*60*24);// response.addCookie(cookie); /* // // cookie value, String value = cookie.getValue(); //URL value = URLDecoder.decode(str_date,"utf-8"); response.getWriter().write("

    , :" + value +"

    ");*/ break; } } } if(cookies == null || cookies.length == 0 || flag==false){ // , // cookie value // , cookie , cookies Date date = new Date(); SimpleDateFormat sdf = new SimpleDateFormat("yyyy MM dd HH:mm:ss"); String str_date = sdf.format(date); //URL cookie str_date = URLEncoder.encode(str_date, "utf-8");// Cookie cookie = new Cookie("lastTime", str_date); // cookie cookie.setMaxAge(60*60*24);// response.addCookie(cookie); response.getWriter().write("

    "); } }