JSP獲取Cookie對象

 

cookie是小段的文本信息,在網絡服務器上生成,併發送給瀏覽器的。經過使用cookie能夠標識用戶身份,記錄用戶和密碼,跟蹤重複用戶等。瀏覽器將cookie以key/value的形式保存到客戶機的某個指定目錄中。經過cookie的getCookies()方法既可取到cookie對象的集合;經過cookie對象的getName()方法能夠獲取到指定名稱的cookie;經過getValue()方法既可取到cookie對象的值。另外將一個cookie對象發送到客戶端使用的是response對象的addCookie()方法例:經過cookie保存並讀取用戶信息
首先在index.jsp頁面中導入URLDecoder包,<%@ page import="java.net.URLDecoder" %>
而後在index.jsp頁面中的body中嵌入以下Java代碼
 
<%
        Cookie[] cookies = request.getCookies();    //從request中獲的Cookie對象的集合
        String user = "";    //登陸用戶
        String date = "";    //註冊時間
        if(cookies !=null){
            for(int i = 0;i < cookies.length;i++){  //遍歷cookie對象集合
                if(cookies[i].getName().equals("mrCookie")){//若是cookie對象的名稱是mrCookie
                    user = URLDecoder.decode(cookies[i].getValue().split("#")[0]);//獲取用戶名
                    date = cookies[i].getValue().split("#")[1];//獲取註冊時間
                }
                
            }
        }
        if("".equals(user)&& "".equals(date)){//若是沒有註冊
     %>   
                         遊客您好,歡迎您初次光臨!
          <form action="deal_Cookie.jsp" method="post">
                             請輸入姓名:<input type="text" name = "user" value="">
            <input type="submit" value="肯定">
          </form>
<%
        }else{//已經註冊
%>
        歡迎[<b><%=user %></b>]再次光臨<br>
        您註冊的時間是:<%=date %>
<%
        }
 %>
  </body>
在deal.jsp頁面中嵌入以下代碼:
 
<%
       request.setCharacterEncoding("UTF-8");
       String user = URLEncoder.encode(request.getParameter("user"),"UTF-8");    //獲取用戶名
       Cookie cookie = new Cookie("mrCookie",user + "#" + new ;
       cookie.setMaxAge(60 * 60 * 24 * 30);    //設置cookie有效期爲30天
       response.addCookie(cookie);//保存cookie
    %>
相關文章
相關標籤/搜索