導航:首頁 > 編程語言 > java的cookie使用

java的cookie使用

發布時間:2022-08-31 15:30:13

java操作cookie問題

建立一個無生命周期的cookie,即隨著瀏覽器的關閉即消失的cookie,代碼如下

HttpServletRequest request
HttpServletResponse response
Cookie cookie = new Cookie("cookiename","cookievalue");
response.addCookie(cookie);

下面建立一個有生命周期的cookie,可以設置他的生命周期

cookie = new Cookie("cookiename","cookievalue");

cookie.setMaxAge(3600);

//設置路徑,這個路徑即該工程下都可以訪問該cookie 如果不設置路徑,那麼只有設置該cookie路徑及其子路徑可以訪問

cookie.setPath("/");
response.addCookie(cookie);

下面介紹如何讀取cookie,讀取cookie代碼如下

Cookie[] cookies = request.getCookies();//這樣便可以獲取一個cookie數組
for(Cookie cookie : cookies){
cookie.getName();// get the cookie name
cookie.getValue(); // get the cookie value
}

上面就是基本的讀寫cookie的操作。我們在實際中最好進行一下封裝,比如增加一個cookie,我們關注的是cookie的name,value,生命周期,所以進行封裝一個函數,當然還要傳入一個response對象,addCookie()代碼如下

/**
* 設置cookie
* @param response
* @param name cookie名字
* @param value cookie值
* @param maxAge cookie生命周期 以秒為單位
*/
public static void addCookie(HttpServletResponse response,String name,String value,int maxAge){
Cookie cookie = new Cookie(name,value);
cookie.setPath("/");
if(maxAge>0) cookie.setMaxAge(maxAge);
response.addCookie(cookie);
}

讀取cookie的時候,為了方便我們的操作,我們希望封裝一個函數,只要我們提供cookie的name,我們便可以獲取cookie的value,帶著這個想法,很容易想到將cookie封裝到Map裡面,於是進行下面的封裝

/**
* 根據名字獲取cookie
* @param request
* @param name cookie名字
* @return
*/
public static Cookie getCookieByName(HttpServletRequest request,String name){
Map<String,Cookie> cookieMap = ReadCookieMap(request);
if(cookieMap.containsKey(name)){
Cookie cookie = (Cookie)cookieMap.get(name);
return cookie;
}else{
return null;
}
}

/**
* 將cookie封裝到Map裡面
* @param request
* @return
*/
private static Map<String,Cookie> ReadCookieMap(HttpServletRequest request){
Map<String,Cookie> cookieMap = new HashMap<String,Cookie>();
Cookie[] cookies = request.getCookies();
if(null!=cookies){
for(Cookie cookie : cookies){
cookieMap.put(cookie.getName(), cookie);
}
}
return cookieMap;
}

Ⅱ java中COOKIE的使用(代碼)求詳細代碼。

package web;

import java.io.IOException;
import java.io.PrintWriter;
import java.net.URLEncoder;

import javax.servlet.ServletException;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class SaveCookie extends HttpServlet {

public void service(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String str = "張三";
String str2 = URLEncoder.encode(str,"utf-8");
Cookie cookie = new Cookie("username",str2);//設置名字
cookie.setMaxAge(36);//設置生存時間
Cookie cookie2 = new Cookie("address","znh");
response.addCookie(cookie);
response.addCookie(cookie2);
}

}

Ⅲ 請問java後端通常如何處理cookie

親,Cookie可以將用戶信息及一些其他信息保存到本地(例如瀏覽器),能夠保證與session的跟蹤對接以及辨別用戶身份。

  • 親如果學ava後端通常如何處理cookie的話可以到雲南新華電腦學院來看看,希望可以幫到親

    Ⅳ 在java中,cookie是用來做什麼的都什麼時候用

    這是在瀏覽器端存儲數據用的。一般至少會自動保存一個sessionId,用來保存和伺服器的通訊一致性。另外,你可以存儲自定義的數據,如用戶名、密碼之類的

    Ⅳ java 怎麼使用cookie來登錄

    <%//從提交的HTML表單中獲取,用戶名String userName=request.getParameter("username"); //以"username",userName值/對創建一個Cookie Cookie theUsername=new Cookie("username",userName); response.addCookie(theUsername); %> .............. <%Cookie myCookie[]=request.getCookies();//創建一個Cookie對象數組for(int n=0;n=cookie.length-1;i++);//設立一個循環,來訪問Cookie對象數組的每一個元素Cookie newCookie= myCookie[n]; if(newCookie.getName().equals("username")); //判斷元素的值是否為username中的值{%> 你好,<%=newCookie.getValue()%>!//如果找到後,向他問好<%} %>

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

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

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

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

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

    Ⅶ 怎麼在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中cookie有什麼作用。如何讀寫

    //寫cookie
    Cookie namecookie = new Cookie("name",name);
    Cookie passwordcookie = new Cookie("password",password);
    Cookie optioncookie = new Cookie("option","1");

    //生命周期
    namecookie.setMaxAge(60*60*24*365);
    passwordcookie.setMaxAge(60*60*24*365);
    optioncookie.setMaxAge(60*60*24*365);

    response.addCookie(namecookie);
    response.addCookie(passwordcookie);
    response.addCookie(optioncookie);

    //讀cookie
    Cookie[] cookies = request.getCookies();
    if(cookies!=null)
    {
    String name = "";
    String password = "";
    String option = "";
    for (int i = 0; i < cookies.length; i++)
    {
    Cookie c = cookies[i];
    if(c.getName().equalsIgnoreCase("name"))
    {
    name = c.getValue();
    }
    else if(c.getName().equalsIgnoreCase("password"))
    {
    password = c.getValue();
    }
    else if(c.getName().equalsIgnoreCase("option"))
    {
    option = c.getValue();
    }
    }
    } setMaxAge(參數):參數為負數代表關閉瀏覽器時清除cookie,參數為0時代表刪除cookie,參數為正數時代表cookie存在多少秒。HttpServletResponse.addCookie(參數1,參數2):將創建好的cookie寫入用戶計算機。參數1代表cookie的名子,參數2代表cookie的值。通過HttpServletRequest.getCookies()方法可以從相應用戶讀取cookie列表,放在cookie類型的數組中,通過數組中各個cookie的getName()和getValue()方法可以獲取各個cookie的名稱和值。

    Ⅸ 怎麼用java獲取cookie

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

    Ⅹ Java中的Cookie的意思、用途!

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

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

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

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

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

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

    閱讀全文

    與java的cookie使用相關的資料

    熱點內容
    javac編譯子目錄下所有文件 瀏覽:429
    卡友幫幫團是什麼app 瀏覽:241
    vnc啟動命令 瀏覽:373
    哺乳十電影 瀏覽:629
    貴州java編譯器 瀏覽:645
    歐美電影免費看平台 瀏覽:286
    台灣紅羊影視作品有哪些 瀏覽:906
    農行app上怎麼查詢卡號 瀏覽:891
    浩天酒道館網是什麼app 瀏覽:212
    永久不收費的電影網站 瀏覽:120
    兒女傳奇全集目錄 瀏覽:522
    文學評論pdf 瀏覽:410
    linux源代碼導讀 瀏覽:702
    百戰程序員6000集下載 瀏覽:146
    蘋果和安卓手機之間怎麼克隆 瀏覽:465
    模糊聚類演算法研究 瀏覽:108
    寶德伺服器硬碟亮紅燈如何解決 瀏覽:696
    androidlibgdx下載 瀏覽:409
    聯盟pdf下載 瀏覽:793
    南通住房公積金app支取銀行怎麼填 瀏覽:680