Heim  >  Artikel  >  Java  >  Wie verwende ich Cookies in JSP? (Codebeispiel)

Wie verwende ich Cookies in JSP? (Codebeispiel)

青灯夜游
青灯夜游Original
2019-02-11 12:53:032868Durchsuche

Ein Cookie ist eine kleine Information, die auf dem Computer des Benutzers gespeichert wird; der Webserver verwendet das Cookie, um den Benutzer beim nächsten Besuch zu identifizieren. Der folgende Artikel vermittelt Ihnen einen kurzen Überblick über Cookies und stellt vor, wie Sie mit JSP mit Cookies umgehen. Ich hoffe, dass er Ihnen hilfreich sein wird. [Video-Tutorial-Empfehlung: JSP-Tutorial]

Wie verwende ich Cookies in JSP? (Codebeispiel)

Wie Cookies funktionieren

Cookies werden auf dem Computer des Benutzers in Form einer Zeichenfolge aus [Schlüssel|Wert]-Paaren gespeichert. Darüber hinaus verfügen Cookies über Eigenschaften wie Domäne, Pfad und Timeout.

Jedes Mal, wenn ein Benutzer eine Website mit aktivierten Cookies besucht, fügt der Webserver den HTTP-Headern zusätzliche Daten hinzu und antwortet dem Webbrowser. Der Webbrowser sendet das Cookie auch im HTTP-Anfrageheader an den Webserver, wenn der Benutzer das nächste Mal dieselbe Website erneut besucht.

Benutzer können Cookies auch in Webbrowsern deaktivieren, die die Cookie-Deaktivierungsfunktion unterstützen, wie Firefox, IE...

Wie verwende ich Cookies in JSP?

JSP bietet eine API, die eine effiziente Nutzung von Cookies durch Objekte der Klasse javax.servlet.http.Cookie ermöglicht. Lassen Sie uns kurz die Verwendung von Cookies in JSP vorstellen.

1. Verwenden Sie JSP zum Setzen von Cookies

Die Verwendung von JSP zum Setzen von Cookies kann in drei Schritte unterteilt werden:

1) Erstellen Sie ein Cookie-Objekt:

Sie müssen den Cookie-Konstruktor aufrufen, zum Beispiel:

Cookie cookie = new Cookie("key","value");

Hinweis: Cookies existieren in Form von Schlüssel-Wert-Paaren, verwenden Sie also den Cookie-Namen und -Wert als Parameter (sie sind beides). Saiten).

Hinweis: Cookie-Namen und -Werte dürfen keine Leerzeichen oder die folgenden Zeichen enthalten:

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

2), Gültigkeitsdauer festlegen

Cookies haben ihren eigenen Lebenszyklus, der als Ablauf bezeichnet wird Zeit . Wenn das Zeitlimit für ein Cookie nicht festgelegt ist, wird es entfernt, wenn der Benutzer den Webbrowser schließt.

Wir können die Methode setMaxAge() aufrufen, um die Gültigkeitsdauer des Cookies festzulegen, d. h. wie lange (in Sekunden) es gültig ist.

Beispiel: Um die Gültigkeitsdauer auf 24 Stunden festzulegen, können Sie es wie folgt einstellen

cookie.setMaxAge(60*60*24);

3). Rufen Sie die Methode „response.addCookie()“ auf. Fügen Sie Cookies zu HTTP-Antwortheadern hinzu. Beispiel:

response.addCookie(cookie);

Einfaches Beispiel: Cookie vom Webserver senden

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@page import="javax.servlet.http.Cookie"%>
<!DOCTYPE html>
<html>
    <head>
        <title>设置Cookie</title>
    </head>
    <body>
<%
        // 编码,解决中文乱码   
       String str = URLEncoder.encode(request.getParameter("name"),"utf-8");
       // 设置 name 和 url cookie 
      Cookie cookie = new Cookie("php中文网","http://www.php.cn/);
       // 设置cookie过期时间为24小时。
      cookie.setMaxAge(60*60*24);
      // 在响应头部添加cookie
      response.addCookie(cookie);
        %>
    </body>
</html>

Cookie mit JSP lesen

Um Cookie aus einer HTTP-Anfrage zu lesen, rufen Sie zunächst auf die Methode getCookies() des Anforderungsobjekts, die die Liste der verfügbaren Cookies im Anforderungsheader zurückgibt, oder verwenden Sie die Methoden getName() und getValue(), um den Namen und Wert jedes Cookies abzurufen. Alle diese Cookies können dann durchsucht werden. Das Folgende ist ein Beispiel für die Verwendung der Methode getCookies() zum Lesen von Cookie-Informationen:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@page import="javax.servlet.http.Cookie"%>
<html>
    <head>
        <title>读取Cookie</title>
    </head>
    <body>
        <%
            Cookie[] list = request.getCookies();
            if(list != null){
                for(int i = 0; i < list.length;i++){
                    out.println(list[i].getName() + ":" + list[i].getPath());
                }
            }
        %>
    </body>
</html>

Löschen vorhandener Cookies mit JSP

Wenn Sie das Cookie löschen möchten, das vorhanden ist wurden an den Webbrowser gesendet. Für vorhandene Cookies können Sie deren Gültigkeitsdauer mit der Methode setMaxAge() des Cookie-Objekts auf Null setzen.

Die Schritte sind wie folgt:

● Holen Sie sich ein vorhandenes Cookie und speichern Sie es im Cookie-Objekt.

● Verwenden Sie die Methode setMaxAge(), um die Cookie-Gültigkeitsdauer auf 0 zu setzen.

Beispiel: Das Folgende ist ein Beispiel zum Löschen aller Cookies.

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@page import="javax.servlet.http.Cookie"%>
<!DOCTYPE html>
<html>
    <head>
        <title>删除cookie</title>
    </head>
    <body>
        <%
            Cookie[] list = request.getCookies();
            if (list != null) {
                for (int i = 0; i < list.length; i++) {
                    list[i].setMaxAge(0);
                    out.println("cookie:" + list[i].getName() + "已删除");
                }
            }
        %>
    </body>
</html>

Das Obige ist der gesamte Inhalt dieses Artikels, ich hoffe, dass er für das Studium aller hilfreich sein wird. Weitere spannende Inhalte finden Sie in den entsprechenden Tutorial-Kolumnen auf der chinesischen PHP-Website! ! !

Das obige ist der detaillierte Inhalt vonWie verwende ich Cookies in JSP? (Codebeispiel). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn