溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

cookie實例運用分析

發(fā)布時間:2022-03-15 15:13:18 來源:億速云 閱讀:158 作者:iii 欄目:web開發(fā)

這篇“cookie實例運用分析”文章的知識點大部分人都不太理解,所以小編給大家總結(jié)了以下內(nèi)容,內(nèi)容詳細,步驟清晰,具有一定的借鑒價值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“cookie實例運用分析”文章吧。

cookie學(xué)習(xí)

/**
 在服務(wù)器中的Servlet判斷是否有一個名為lastTime的cookie
 1. 有:不是第一次訪問
 1. 響應(yīng)數(shù)據(jù):歡迎回來,您上次訪問時間為:2018年6月10日11:50:20
 2. 寫回Cookie:lastTime=2018年6月10日11:50:01
 2. 沒有:是第一次訪問
 1. 響應(yīng)數(shù)據(jù):您好,歡迎您首次訪問
 2. 寫回Cookie:lastTime=2018年6月10日11:50:01

了解一下
URLEncoder編碼和URLDecoder解碼,都需要使用一個變量來接收
 */

@WebServlet("/cookieDemo")
public class CookieDemo extends HttpServlet {
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        //設(shè)置響應(yīng)的消息體的數(shù)據(jù)格式以及編碼
        response.setContentType("text/html;charset=utf-8");
        boolean flag=false;
        Cookie[] cookies = request.getCookies();


        if (cookies!=null&&cookies.length>0){
            for (Cookie cookie : cookies) {
                String name = cookie.getName();
                
                if ("lastTime".equals(name)){
                    //再次光臨
                    Date date = new Date();
                    SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
                    String str_date = sdf.format(date);
                    str_date=URLEncoder.encode(str_date,"utf-8");

                    flag=true;
                    String value = cookie.getValue();
                    value =URLDecoder.decode(value,"utf-8");
                    response.getWriter().write("<h2>再次光臨,你上次登錄的時間是:"+value+"</h2>");
                    
                    cookie.setValue(str_date);
                    cookie.setMaxAge(60*60*24*30);
                    response.addCookie(cookie);
                    break;
                }
            }
        }

        if(cookies==null||cookies.length==0||flag==false){
            //第一次
            Date date = new Date();
            SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
            String str_date = sdf.format(date);
            System.out.println("編碼前:" + str_date);
            str_date =URLEncoder.encode(str_date,"utf-8");
            System.out.println("編碼后:" + str_date);

            Cookie cookie = new Cookie("lastTime",str_date);
            cookie.setMaxAge(60*60*24*30);
            response.addCookie(cookie);
            str_date =URLDecoder.decode(str_date,"utf-8");
            response.getWriter().write("<h2>你好,歡迎首次登錄  :  "+str_date+"</h2>");
        }
    }

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

以上就是關(guān)于“cookie實例運用分析”這篇文章的內(nèi)容,相信大家都有了一定的了解,希望小編分享的內(nèi)容對大家有幫助,若想了解更多相關(guān)的知識內(nèi)容,請關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI