當前位置:首頁 » 編程語言 » cookiesjava

cookiesjava

發布時間: 2023-02-10 07:29:29

1. 怎麼在java中使用cookie

一、java保存寫入Cookie
JSP程序片段如下:
//保存寫入Cookie
<%
String cookieName="Sender";
Cookie cookie=new Cookie(cookieName, "Test_Content");
cookie.setMaxAge(10); //存活期為10秒
response.addCookie(cookie);
%>
解讀一下這段代碼:
Cookie cookie=new Cookie(cookieName, "Test_Content");
這一行建立了一個Cookie對象,初始化有兩個參數,第一個參數cookieName定義了Cookie的名字,後一個參數,也是一個字元串,定義了Cookie的內容。也就是用戶希望網頁在用戶的機器上標識的文件內容。
接下來一行:cookie.setMaxAge(10),調用了Cookie中的setMaxAge方法,設定Cookie在用戶機器硬碟上的存活期為10秒。一個Cookie在用戶的硬碟裡面存在的時間並不是無限期的,在建立Cookie對象的時候,我們必須制定Cookie的存活期,超過了這個存活期後,Cookie文件就不再起作用,會被用戶的瀏覽器自行刪除。如果用戶希望用戶在下次訪問這個頁面的時候,Cookie文件仍然有效而且可以被網頁讀出來的話,用戶可以將Cookie的存活期設得稍微長一些。比如cookie.setMaxAge(365*24*60*60)可以讓Cookie文件在一年內有效。
二、 讀取出Cookie
Cookie文件創建好後,自然還需要用戶把它讀出來,代碼片段如下:
<%
Cookie cookies[]=request.getCookies(); //讀出用戶硬碟上的Cookie,並將所有的Cookie放到一個cookie對象數組裡面
Cookie sCookie=null;
String svalue=null;
String sname=null;
for(int i=0;i<cookies.length-1;i++{ //用一個循環語句遍歷剛才建立的Cookie對象數組
sCookie=cookies; //取出數組中的一個Cookie對象
sname=sCookie.getName(); //取得這個Cookie的名字
svalue=sCookie.getValue(); //取得這個Cookie的內容
%>
<%
}
%>
name value
<%=name%> <%=svalue%>
這一小段JSP文件可以讀出用戶硬碟上的所有有效的Cookie,也就是仍然在存活期內的Cookie文件。並用表格的形式列出每個Cookie的名字和內容。
解讀一下這段代碼:
Cookie cookies[]=request.getCookies() 我們用request.getCookies()讀出用戶硬碟上的Cookie,並將所有的Cookie放到一個cookie對象數組裡面。
接下來我們用一個循環語句遍歷剛才建立的Cookie對象數組,我們用sCookie=cookies取出數組中的一個Cookie對象,然後我們用sCookie.getValue()和sCookie.getName()兩個方法來取得這個Cookie的名字和內容。
通過將取出來的Cookie的名字和內容放在字元串變數中,我們就能對其進行各種操作了。在上面的例子里,可通過循環語句的遍歷,將所有Cookie放在一張表格中進行顯示。

2. java如何改變cookie的值

java中通過Cookie[] cs = request.getCookies()語句來獲取所有的cookie,然後對cookie數組進行遍歷,假使你要對名為id的cookie進行修改,那麼在遍歷cookie數組時對每個cookie進行判斷c.getName().equals("id"),如果找到了名為id的cookie,那麼直接新建一個cookie對象,覆蓋名為id的cookie,Cookie cookie = new Cookie("id", id)即可達到改變cookie值的效果。
java中修改cookie值通常使用覆蓋的方式,如果伺服器端發送重復的Cookie那麼會覆蓋原有的Cookie,例如客戶端的第一個請求伺服器端發送的Cookie是:Set-Cookie: a=A;第二請求伺服器端發送的是:Set-Cookie: a=AA,那麼客戶端只留下一個Cookie,即:a=AA。

3. Java中的Cookie的意思和用途是什麼

cookie就是把一些信息存放到瀏覽器能夠讀取的到的地方,一般為ie的臨時目錄

可以通過js或者java來讀取自己域內的cookie信息

存放在cookie的好處是前後台都可以讀取,速度相對比較快

用途:一些不常改變的信息,可以保存在cookie里,這樣就可以減少讀取資料庫,降低資料庫的壓力

4. Java中的Cookie的意思、用途!

cookie首先並不是java的概念,是web編程里一種客戶端存儲數據的方式(通常是加密過的)。

有些數據,不是特別重要,但用戶又經常要用到的,比如:網站用戶的登錄信息、歷史查看記錄等等,這些數據保存在伺服器上會讓伺服器承擔很大的壓力,因此變產生了cookie這樣一種客戶端數據存儲的方式。意思就是說把你個人的一些數據保存在本地,這樣伺服器減少了壓力,並且下次你訪問網站的時候,伺服器會主動去你的機器上讀取這些數據並展現出來。

比較常見的例子,有些網站登錄的時候會有一個「記住登錄狀態」的選擇,選了以後用戶以後再來這個網站會發現不用再登錄了,比如網路知道、貓撲等等;再比如最近優酷、騰訊視頻上的的歷史觀看記錄,不用登錄,就可以記錄你的機器上次看了哪些視頻,看到多少分多少秒了,下次來直接點就能接著看,特別實用~~~~ PS.我最近一直在用,哈哈

cookie雖然有諸多好處,但使用的過程中還是需要注意風險,因為客戶端的不確定性,對安全和隱私要求較高的數據建議還是不要放在cookie里存儲,比如網路游戲賬號密碼信息、電子銀行賬戶信息等等。

最後再說一個實例,當你清除瀏覽器緩存的時候,一般會有選擇是否清除cookie,或者360安全衛士幫助你清除上網痕跡的時候,都會把本地cookie清除掉,這時候你會發現,你很長時間都不用登錄的網站,比如網路知道、貓撲(原諒我經常上的網站就這倆,沒別的例子可舉- -!......),現在都需要重新登錄了,原因就是cookie被清除掉了

一字一句全是手打,望樓主採納~~

5. 怎麼用java獲取cookie

ookie實際上是一個存在你硬碟里的數據,但是這些數據很特殊,只能由web應用提交給瀏覽器幫助存儲,並且我們還能讀取瀏覽器存在本地的cookie
web應用一般只在cookie中存儲一些用戶信息等少量且暫時的數據,數據量大則不適合存儲在cookies
ava通過httpServletRequest介面來訪問瀏覽器請求中的cookies數據(這里先了解一下cookies來龍去脈,代碼待會一並給出)
每個cookie有兩個屬性:鍵 ,值(無特定格式字元串,所以可以diy存數據,不過要注意URL編碼問題,編碼問題待會和代碼一同講)
如果我們需要存儲新的cookie我們可以new一個cookie實例 並通過httpservletRsponse提交到瀏覽器,進而存儲到本地

6. java 怎麼設置cookie

java設置cookie是通過 Servlet 設置的。
通過 Servlet 設置 Cookies 包括三個步驟:
(1) 創建一個 Cookie 對象:您可以調用帶有 cookie 名稱和 cookie 值的 Cookie 構造函數,cookie 名稱和 cookie 值都是字元串。
Cookie cookie = new Cookie("key","value");

請記住,無論是名字還是值,都不應該包含空格或以下任何字元:
[ ] ( ) = , " / ? @ : ;

(2) 設置最大生存周期:您可以使用 setMaxAge 方法來指定 cookie 能夠保持有效的時間(以秒為單位)。下面將設置一個最長有效期為 24 小時的 cookie。
cookie.setMaxAge(60*60*24);

(3) 發送 Cookie 到 HTTP 響應頭:您可以使用 response.addCookie 來添加 HTTP 響應頭中的 Cookies,如下所示:
response.addCookie(cookie);

(4)完整實例:
// 導入必需的 java 庫
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;

// 擴展 HttpServlet 類
public class HelloForm extends HttpServlet {

public void doGet(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException
{
// 為名字和姓氏創建 Cookies
Cookie firstName = new Cookie("first_name",
request.getParameter("first_name"));
Cookie lastName = new Cookie("last_name",
request.getParameter("last_name"));
// 為兩個 Cookies 設置過期日期為 24 小時後
firstName.setMaxAge(60*60*24);
lastName.setMaxAge(60*60*24);
// 在響應頭中添加兩個 Cookies
response.addCookie( firstName );
response.addCookie( lastName );
// 設置響應內容類型
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
String title = "設置 Cookies 實例";
String docType =
"<!doctype html public \"-//w3c//dtd html 4.0 " +
"transitional//en\">\n";
out.println(docType +
"<html>\n" +
"<head><title>" + title + "</title></head>\n" +
"<body bgcolor=\"#f0f0f0\">\n" +
"<h1 align=\"center\">" + title + "</h1>\n" +
"<ul>\n" +
" <li><b>名字</b>:"
+ request.getParameter("first_name") + "\n</li>" +
" <li><b>姓氏</b>:"
+ request.getParameter("last_name") + "\n</li>" +
"</ul>\n" +
"</body></html>");
}
}

7. 在JAVA中cookies和session的區別

無論在哪裡,cookies和session的卻別都是一樣的。
cookies:用於在客戶端來存儲一些東西,如果瀏覽器禁用了cookies就麻煩了,咱們寫的一些程序就不能正確地表達咱們原來的意思了,並且cookies的安全性不好,你就不能用cookies來保存密碼什麼的,否則很容易被盜取,所以不要用cookies保存隱私信息。
session:用於在伺服器端,開始於用戶登錄,結束於用戶離開,當然我們可以設置session的有效期,在伺服器端的webconfig裡面。它全局有效,在任何的頁面都可以訪問。

8. java中如何獲取cookie

1.設置cookie到客戶端
Cookie c1 = new Cookie("username","hzh");
response.addCookie(c1);

Cookie c2 = new Cookie("password","123");
//設置生命周期為1小時,秒為單位
c2.setMaxAge(3600);
response.addCookie(c2);

response.getWriter().print("ok");

查看此時的cookie文件,發現只寫入了password,因為此時未給 username設置生命周期,它還在客戶端的內存中,並為寫到文件中(此時客戶端關閉此瀏覽器窗口,就丟失了),想寫到客戶端,需要加入c1.setMaxAge(3600)在 response.addCookie(c1);之前

以下是寫入我電腦中的cookie



2.讀取cookie文件

Cookie[] cookies = request.getCookies();
for(Cookie c :cookies ){
System.out.println(c.getName()+"--->"+c.getValue());
}

控制台輸出結果如下:
username--->hzh
password--->123
JSESSIONID--->


注意:
1.伺服器可以向客戶端寫內容, 只能是文本內容
2.客戶端可以阻止伺服器寫入,禁用cookies
3.只能讀取自己webapp寫入的東西

9. 怎麼在java中使用cookie

1、Cookie的來歷與作用
Cookie是WEB伺服器通過瀏覽器保存在WWW用戶端硬碟上的一個文本文件,這個文本文件中包含了文本信息。

文本信息的內容以「名/值」對(key/value)的形式進行存儲。

可以讓WEB開發者通過程序讀寫這個文本文件。

XP中保存Cookie的目錄是「C://Documents
and Settings\用戶名\Cookies」

Cookie的作用

解決瀏覽器用戶與Web伺服器之間無狀態通信。

2Cookie編程
//創建對象

Date
date = new Date() ;

Cookie
c = new Cookie("lastVisited",date.toString()) ;

//設定有效時間
以s為單位

c.setMaxAge(60)
;

//設置Cookie路徑和域名

c.setPath("/")
;

c.setDomain(".zl.org")
; //域名要以「.」開頭

//發送Cookie文件

response.addCookie(c)
;

//讀取Cookie

Cookie
cookies[] = request.getCookies() ;

Cookie
c1 = null ;

if(cookies
!= null){

for(int
i=0;i

c1
= cookies[i] ;

out.println("cookie
name : " + c1.getName() + " ") ;

out.println("cookie
value :" + c1.getValue() + "
");

}

}

//修改Cookie

Cookie
cookies[] = request.getCookies() ;

Cookie
c = null ;

for(int
i=0;i

c
= cookies[i] ;

if(c.getName().equals("lastVisited")){

c.setValue("2010-04-3-28")
;

c.setMaxAge(60*60*12)
;

response.addCookie(c)
; //修改後,要更新到瀏覽器中

}

}

//刪除Cookie,(將Cookie的有效時間設為0)

Cookie
cookies[] = request.getCookies() ;

Cookie
c = null ;

for(int
i=0;i

c
= cookies[i] ;

if(c.getName().equals("lastVisited")){

c.setMaxAge(0);

response.addCookie(c)
;

}

}

4、使用Cookie的注意事項
·Cookie的大小和數量是有限制的。

·Cookie在個人硬碟上所保存的文本信息是以明文格式進行保存的,沒有任何的加密措施。

·瀏覽器用戶可以設定不使用Cookie。

5、實例:Servlet中的Cookie編程
cookieInput.html頁面

SetCookie.java

GetCookie.java

cookieInput.html頁面中的參數提交到SetCookie.java中,由SetCookie.java保存在瀏覽器的Cookie中,在SerCookie.java中鏈接到GetCookie.java從而讀取剛剛保存的Cookie。

SetCookie.java
:

public
void doPost(HttpServletRequest request, HttpServletResponse response)

throws
ServletException, IOException {

response.setContentType("text/html;charset=utf-8");

PrintWriter
out = response.getWriter();

String
username = request.getParameter("username") ;

//保存Cookie

if(username
!=""){

Cookie
c1 = new Cookie("username",username) ;

SimpleDateFormat
sdf = new SimpleDateFormat("yyyy-MM-dd") ;

Cookie
c2 = new Cookie("lastVisited",sdf.format(new java.util.Date())) ;

c1.setMaxAge(60*60*60*12*30)
;

c2.setMaxAge(60*60*60*12*30)
;

response.addCookie(c1)
;

response.addCookie(c2)
;

out.println("Cookie保存成功!");

out.println("

")
;

out.println("讀取Cookie") ;

}else{

response.sendRedirect("../cookieInput.html")
;

}

out.flush();

out.close();

}
GetCookie.java:

public
void doPost(HttpServletRequest request, HttpServletResponse response)

throws
ServletException, IOException {

response.setContentType("text/html;charset=utf-8");

PrintWriter
out = response.getWriter();

out.println("
");
out.println("");

out.println("
");
out.println("
");

//讀取Cookie

Cookie
cookies[] = request.getCookies() ;

Cookie
c = null ;

if(cookies
!= null){

for(int
i=0;i

c
= cookies[i] ;

if(c.getName().equals("username")){

out.println("用戶名:
"+c.getValue());

out.println("
");

}

if(c.getName().equals("lastVisited")){

out.println("上次登錄的時間:
"+c.getValue());

}

}

}else{

out.println("No
cookie !");

}

out.println("
");
out.println("
");
out.flush();

out.close();

}

熱點內容
java返回this 發布:2025-10-20 08:28:16 瀏覽:581
製作腳本網站 發布:2025-10-20 08:17:34 瀏覽:875
python中的init方法 發布:2025-10-20 08:17:33 瀏覽:570
圖案密碼什麼意思 發布:2025-10-20 08:16:56 瀏覽:756
怎麼清理微信視頻緩存 發布:2025-10-20 08:12:37 瀏覽:672
c語言編譯器怎麼看執行過程 發布:2025-10-20 08:00:32 瀏覽:999
郵箱如何填寫發信伺服器 發布:2025-10-20 07:45:27 瀏覽:242
shell腳本入門案例 發布:2025-10-20 07:44:45 瀏覽:102
怎麼上傳照片瀏覽上傳 發布:2025-10-20 07:44:03 瀏覽:794
python股票數據獲取 發布:2025-10-20 07:39:44 瀏覽:700