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
%>
