91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

Java中JSP的Cookie如何使用

發布時間:2023-01-13 10:09:07 來源:億速云 閱讀:158 作者:iii 欄目:開發技術

本文小編為大家詳細介紹“Java中JSP的Cookie如何使用”,內容詳細,步驟清晰,細節處理妥當,希望這篇“Java中JSP的Cookie如何使用”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學習新知識吧。

JSP Cookie的使用

Cookie 不是 JSP 內置對象,而是由 Netscape 公司發明,用來跟蹤用戶會話(session)的方式。

Cookie 由服務器生成并發送給瀏覽器(客戶端),瀏覽器會將其以文本文件的形式存儲在某個目錄下。

例如,IE 瀏覽器把 cookie 信息保存在類似于 C://windows//cookies 的目錄下,當用戶再次訪問某個網站時,服務器就會要求瀏覽器查找并返回之前發送的 cookie 信息,來識別此用戶。

識別用戶通常有以下步驟:

  1. 服務器把 cookie 信息發送到瀏覽器,例如:用戶 ID、用戶名稱等信息。

  2. 瀏覽器在本地存儲這些信息。

  3. 瀏覽器再次向服務器發送請求時,它會同時將本地存儲的 cookie 信息一同發送給服務器,然后服務器使用這些信息來識別用戶或其它。

cookie 的作用表現在以下方面:

  • 對特定對象的追蹤,如用戶的訪問次數、最后訪問時間等。

  • 統計網頁的瀏覽次數。

  • 在 cookie 有效期內,記錄用戶的登錄信息,簡化下一次的登錄過程。

  • 實現各種個性化服務,如”最近瀏覽過的商品“。

注意:由于 cookie 會將用戶的個人信息保存在客戶端,如用戶名、計算機名、以及瀏覽和登錄的網站等。這些信息可能會包含一些比較敏感的內容,所以從安全角度來說,使用 cookie 存在著一定的風險,因此不建議在 cookie 中保存比較重要或隱私的內容。

cookie方法

cookie 常用方法如下:

  • public void setDomain(String pattern):設置 cookie 的域名,如 biancheng.net

  • public String getDomain():獲取 cookie 的域名

  • public void setMaxAge(int expiry):設置 cookie 有效期,單位:秒 默認僅在當前會話中存在

  • public int getMaxAge():獲取 cookie 有效期,單位:秒 默認為 -1,表示 cookie 保存到瀏覽器關閉為止

  • public String getName():返回 cookie 的名稱,名稱創建后將不能被修改

  • public void setValue(String newValue):設置 cookie 的值

  • public String getValue():獲取 cookie 的值

  • public void setPath(String uri):設置 cookie 的路徑 默認為當前頁面目錄以及子目錄下的所有 URL

  • public String getPath():獲取 cookie 的路徑

  • public void setSecure(boolean flag):設置 cookie 是否要加密傳輸

  • public void setComment(String purpose):設置 cookie 注釋

  • public String getComment():返回 cookie 注釋,如果 cookie 沒有注釋,則返回 nullJSP使用cookie

JSP 使用 cookie 主要分為以下幾個步驟。

創建 cookie 對象

創建 cookie 對象,name 代表 cookie 的名稱,value 表示該名稱對應的值,語法如下:

cookie cookie = new cookie(String name,String value);

注意:name 和 value 中不能包含空格和以下字符:

[ ] ( ) = , " / ? @ : ;

寫入 cookie

創建 cookie 對象后,調用 response.addCookie() 方法寫入 cookie,代碼如下:

response.addcookie(cookie);
設置 cookie 有效期

調用 setMaxAge() 方法設置 cookie 的有效期(單位:秒),如將 cookie 有效期設置為 24 小時,代碼如下:

cookie.setMaxAge(60*60*24);
讀取cookie

調用 request.getCookies() 方法讀取 cookie,該方法返回 HTTP 請求中的 cookie 對象數組,需要通過遍歷進行訪問。

示例

通過 HTML 表單將客戶端數據提交到 index.jsp 中,并設置 cookie。

login.jsp 代碼如下:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<html>
<head>
</head>
<body>
    <form action="index.jsp" method="get">
        站點名: <input type="text" name="name"> <br />
        網址: <input type="text" name="url" />
        <input type="submit" value="提交" />
    </form>
</body>
</html>

index.jsp 代碼如下:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ page import="java.net.*"%>
<%
    // 解決中文亂碼  
    String str = URLEncoder.encode(request.getParameter("name"), "utf-8");
    // 創建cookie對象
    cookie name = new cookie("name", str);
    cookie url = new cookie("url", request.getParameter("url"));
    // 設置cookie有效期為24小時。
    name.setMaxAge(60 * 60 * 24);
    url.setMaxAge(60 * 60 * 24);
    // 在響應頭部添加cookie
    response.addcookie(name);
    response.addcookie(url);
%>
<html>
<head>
<title>編程幫(www.biancheng.net)</title>
</head>
<body>
    <b>網站名:</b>
    <%=request.getParameter("name")%><br>
    <b>網址:</b>
    <%=request.getParameter("url")%>
</body>
</html>

運行結果如下:

Java中JSP的Cookie如何使用

login.jsp頁面運行結果

Java中JSP的Cookie如何使用

index.jsp頁面運行結果

讀取cookie

調用 request.getcookies() 方法,在 cookie.jsp 頁面中讀取 cookie

cookie.jsp 代碼如下:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ page import="java.net.*"%>
<!DOCTYPE html>
<html>
<head>
<title>編程幫(www.biancheng.net)</title>
</head>
<body>
    <%
        cookie cookie = null; //創建cookie對象
        cookie[] cookies = null;
        // 獲取 cookie 的數據
        cookies = request.getcookies();
        if (cookies != null) {
            out.println("<h3> 獲取cookie名稱與對應值</h3>");
            for (int i = 0; i < cookies.length; i++) {
                cookie = cookies[i];
                out.print("參數名 : " + cookie.getName());
                out.print("<br>");
                out.print("參數值: " + URLDecoder.decode(cookie.getValue(), "utf-8") + " <br>");
                out.print("------------------------------------<br>");
            }
        } else {
            out.println("<h3>cookie為空</h3>");
        }
    %>
</body>
</html>

運行結果如下:

Java中JSP的Cookie如何使用

刪除cookie

刪除 cookie 步驟如下:

  • 獲取 cookie

  • 將要刪除的 cookie 有效期設置為 0

  • 調用 response.addCookie() 方法重新寫入 cookie

刪除參數名為“name”的 cookie

cookie.jsp 代碼如下:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ page import="java.net.*"%>
<!DOCTYPE html>
<html>
<head>
<title>編程幫(www.biancheng.net)</title>
</head>
<body>
    <%
        cookie cookie = null; //創建cookie對象
        cookie[] cookies = null;
        // 獲取 cookie 的數據
        cookies = request.getcookies();
        if (cookies != null) {
            out.println("<h3> 獲取cookie名稱與對應值</h3>");
            for (int i = 0; i < cookies.length; i++) {
                cookie = cookies[i];
                //刪除參數名為name的cookie
                if ((cookie.getName()).compareTo("name") == 0) {
                    cookie.setMaxAge(0);
                    response.addcookie(cookie);
                    out.print("刪除 cookie: " + cookie.getName() + "<br/>");
                }
                out.print("參數名 : " + cookie.getName());
                out.print("<br>");
                out.print("參數值: " + URLDecoder.decode(cookie.getValue(), "utf-8") + " <br>");
                out.print("------------------------------------<br>");
            }
        } else {
            out.println("<h3>cookie為空</h3>");
        }
    %>
</body>
</html>

刷新 cookie.jsp 頁面,運行結果如下:

Java中JSP的Cookie如何使用

注:也可以手動在瀏覽器中刪除 cookie。

session和cookie的區別

session 和 cookie 的區別如下:

session:

  • cookie將信息保存在服務器

  • 保存的值是 Object 類型

  • session 存儲的數據隨會話的結束而結束

  • 安全性高,可以保存重要的信息

cookie:

  • 將信息保存在客戶端

  • 保存的值是 String 類型

  • cookie 可以長期保存在客戶端

  • 安全性低,通常用于保存不重要的信息

實際開發中,需要根據不同的業務需求來選擇采用哪種技術,例如,用戶的用戶名和密碼等敏感信息不能使用 cookie 存儲,淘寶購物的”最近瀏覽過的商品“,則可以使用 cookie 存儲在客戶端。

讀到這里,這篇“Java中JSP的Cookie如何使用”文章已經介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領會,如果想了解更多相關內容的文章,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

武宣县| 天峨县| 婺源县| 大同县| 长丰县| 岑溪市| 红河县| 仁寿县| 鸡东县| 牟定县| 抚远县| 洛浦县| 临泉县| 延安市| 敦化市| 潼关县| 七台河市| 梅州市| 玛曲县| 安义县| 陆川县| 永嘉县| 滁州市| 福鼎市| 德保县| 株洲市| 新田县| 广宁县| 英山县| 苏州市| 西城区| 筠连县| 长宁区| 游戏| 高要市| 泗阳县| 阜新| 西安市| 扬中市| 华宁县| 高邮市|