Cookie dalam JSP dengan Contoh

⚡ Ringkasan Cerdas

Cookie JSP adalah file teks kecil yang disimpan di browser klien yang membantu aplikasi JSP. tracmenyimpan sesi, mengingat preferensi pengguna, dan mempersonalisasi respons di berbagai permintaan HTTP menggunakan API javax.servlet.http.Cookie dan header respons standar.

  • 🍪 Definisi: Cookie JSP adalah file teks berisi pasangan kunci-nilai yang disimpan di perangkat klien dan dibaca melalui objek permintaan pada setiap panggilan HTTP berikutnya.
  • 🔐 Bendera keamanan: Pengaturan Secure, HttpOnly, dan atribut SameSite modern melindungi Cookie JSP dari penyadapan, akses skrip, dan pemalsuan permintaan lintas situs.
  • Kontrol seumur hidup: Metode setMaxAge menentukan apakah Cookie JSP akan tetap tersimpan di disk atau dihapus secara otomatis saat sesi browser berakhir.
  • API Standar: Kelas javax.servlet.http.Cookie dengan response.addCookie dan request.getCookies mencakup pembuatan, pengiriman, pengambilan, dan penghapusan di Servlet 4.x dan 5.x.
  • 🧪 Contoh yang dikerjakan: Demo dua halaman tentang nama pengguna dan email menunjukkan bagaimana Cookie JSP dibuat, dikirim, disimpan selama sepuluh jam, dan dibaca kembali pada permintaan berikutnya.

Cookie dalam JSP dengan Contoh

Apa Itu Cookie JSP?

Cookie JSP adalah file teks kecil yang diminta oleh server web berbasis JSP kepada browser klien untuk disimpan di perangkat pengguna. Karena HTTP adalah protokol tanpa status (stateless), Cookie JSP menyediakan cara sederhana dan berbasis standar untuk mengingat informasi antar permintaan, seperti status login, pilihan bahasa, tema, atau toko.ping pengidentifikasi keranjang.

  • Cookie JSP adalah file teks biasa yang disimpan di komputer klien oleh browser.
  • Mereka sudah terbiasa tracInformasi k untuk manajemen sesi, personalisasi, dan analitik.
  • JSP mendukung cookie HTTP melalui teknologi Servlet yang mendasarinya dan kelas javax.servlet.http.Cookie.
  • Cookie JSP adalah transmitdimasukkan ke dalam header permintaan dan respons HTTP pada setiap permintaan yang cocok.
  • Saat browser dikonfigurasi untuk menerima cookie, browser akan menyimpannya di disk hingga tanggal kedaluwarsa yang ditetapkan oleh setMaxAge.

Mengapa Menggunakan Cookie JSP?

Pengembang JSP mengandalkan cookie karena permintaan HTTP bersifat independen satu sama lain. Tanpa cookie JSP, server tidak akan tahu bahwa dua permintaan tersebut berasal dari pengunjung yang sama. Cookie di JSP memecahkan masalah ini dengan minimal perubahan status di sisi server.

  • sesi tracraja: Cookie JSESSIONID menghubungkan beberapa tampilan halaman ke satu sesi logis.
  • Personalisasi: Cookie JSP dapat menyimpan preferensi bahasa, tema, atau tata letak.
  • Pembantu autentikasi: Token "ingat saya" dan status login sering kali tersimpan dalam cookie dengan flag HttpOnly dan Secure yang diaktifkan.
  • Analytics: Cookie di JSP mencatat pengunjung yang kembali, perujuk, dan jalur konversi.

Jenis-jenis Cookie JSP

  1. Kuki Persisten: Cookie JSP persisten tetap tersimpan di perangkat selama jangka waktu yang ditentukan dengan setMaxAge. Ini membantu aplikasi mengingat preferensi dan detail login meskipun browser dimulai ulang.
  2. Cookie tidak permanen: Cookie JSP non-persisten, juga disebut cookie sesi, hanya tersimpan di memori browser dan akan dihapus saat pengguna menutup browser. Cookie ini umumnya digunakan untuk sesi yang berumur pendek. tracraja.

Metode Cookie JSP

Kelas javax.servlet.http.Cookie mengekspos metode-metode berikut yang paling sering digunakan saat bekerja dengan Cookie JSP.

  • publik void setDomain(String domain)

    Metode set cookie JSP ini menetapkan domain tempat cookie JSP berlaku.

  • publik String getDomain()

    Metode get cookie JSP ini mengembalikan domain tempat cookie JSP tersebut berlaku.

  • publik void setMaxAge(int kedaluwarsa)

    Ini menetapkan waktu maksimum dalam detik sebelum Cookie JSP kedaluwarsa. Nilai nol menghapus cookie dan nilai negatif menjadikannya cookie sesi.

  • publik int getMaxAge()

    Fungsi ini mengembalikan usia maksimum Cookie JSP dalam hitungan detik.

  • publik String getName()

    Fungsi ini mengembalikan nama Cookie JSP.

  • public void setValue(String value)

    Mengatur nilai yang terkait dengan Cookie JSP.

  • publik String getValue()

    Mengembalikan nilai yang terkait dengan Cookie JSP.

  • public void setPath(String path)

    Metode set cookie di JSP ini mengatur URL jalur tempat cookie diterapkan.

  • publik String getPath()

    Ini mengembalikan URL jalur tempat Cookie JSP diterapkan.

  • publik void setSecure(boolean flag)

    Ini menandai Cookie JSP sehingga hanya dikirim melalui koneksi HTTPS terenkripsi.

  • public void setComment(String cmt)

    Ini menjelaskan tujuan dari JSP Cookie.

  • publik String getComment()

    Fungsi ini mengembalikan komentar yang menjelaskan Cookie JSP.

Cara Menangani Cookie JSP

Bekerja dengan JSP Cookies melibatkan tiga langkah yang dapat diulang. Pola yang sama digunakan untuk status login, pergantian tema, dan toko.ping gerobak.

  1. Buat objek Cookie JSP menggunakan konstruktor Cookie.
  2. Konfigurasikan atribut cookie, terutama usia maksimum, jalur, dan flag keamanan.
  3. Kirim cookie ke browser melalui header respons HTTP menggunakan response.addCookie.

Cara Membuat Cookie JSP

Cookie JSP baru dibuat dengan menginisialisasi javax.servlet.http.Cookie dengan nama dan nilai. Cookie tersebut kemudian dilampirkan ke objek respons sehingga browser dapat menyimpannya.

Cara Membaca Cookie JSP

Pada setiap permintaan berikutnya, browser mengirimkan Cookie JSP yang sesuai kembali ke server. Halaman membacanya dengan memanggil request.getCookies, yang mengembalikan array objek Cookie. Aplikasi kemudian mengulangi array tersebut, mencari setiap cookie berdasarkan nama, dan menggunakan nilainya.

Cara Menghapus Cookie JSP

Untuk menghapus Cookie JSP, server membuat cookie baru dengan nama yang sama, mengatur nilainya menjadi string kosong, memanggil setMaxAge dengan nol, dan menambahkannya ke respons. Browser kemudian menghapus cookie yang tersimpan pada respons berikutnya.

Contoh Cookie di JSP

Dalam contoh JSP Cookies ini, aplikasi membuat dua cookie untuk nama pengguna dan email, menyimpannya selama sepuluh jam, dan kemudian membaca kembali nilainya di halaman kedua yang disebut action_cookie_main.jsp.

Aksi_cookie.jsp

<%-- Action_cookie.jsp: input form for JSP Cookies demo --%>
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Guru Cookie</title>
</head>
<body>
<form action="action_cookie_main.jsp" method="GET">
Username: <input type="text" name="username">
<br />
Email: <input type="text" name="email" />
<input type="submit" value="Submit" />
</form>
</body>
</html>

Aksi_cookie_main.jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<%

   Cookie username = new Cookie("username",
 			  request.getParameter("username"));
   Cookie email = new Cookie("email",
			  request.getParameter("email"));


   username.setMaxAge(60*60*10);
   email.setMaxAge(60*60*10);

   // Add both the JSP Cookies in the response header.
   response.addCookie( username );
   response.addCookie( email );
%>


<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Guru Cookie JSP</title>
</head>
<body>

<b>Username:</b>
   <%= request.getParameter("username")%>
<b>Email:</b>
   <%= request.getParameter("email")%>

</body>
</html>

Penjelasan dari Code

Aksi_cookie.jsp

Code Baris 10 sampai 15: Halaman ini mendeklarasikan sebuah formulir yang dikirimkan ke action_cookie_main.jsp. Dua kolom input, nama pengguna dan email, mengumpulkan data dari pengguna beserta tombol kirim.

Aksi_cookie_main.jsp

Code Baris 6 sampai 9: Dua objek Cookie, username dan email, dibuat menggunakan request.getParameter untuk membaca nilai yang dikirimkan oleh formulir.

Code Baris 12 sampai 13: Metode setMaxAge dipanggil dengan 60 dikalikan 60 dikalikan 10, yang menetapkan masa berlaku setiap Cookie JSP menjadi sepuluh jam.

Code Baris 16 sampai 17: Kedua cookie tersebut dilampirkan ke respons dengan menggunakan `response.addCookie`. Browser kemudian mengirimkannya kembali pada permintaan berikutnya, dan server membacanya menggunakan `request.getCookies` atau `request.getParameter` untuk permintaan saat ini.

Keluaran

Saat Anda menjalankan kode di atas, Anda akan mendapatkan output berikut.

Metode Cookie JSP

Metode Cookie JSP

Saat action_cookie.jsp dieksekusi, browser menampilkan dua kolom, nama pengguna dan email. Setelah pengguna mengisinya dan mengklik Kirim, action_cookie_main.jsp membuat Cookie JSP yang sesuai di server, menyimpannya di klien, dan menampilkan nilainya, yang mengkonfirmasi bahwa cookie telah berhasil dibuat.

Praktik Terbaik untuk Cookie JSP

Aplikasi web modern seharusnya memperlakukan Cookie JSP sebagai data yang sensitif terhadap keamanan. Praktik-praktik berikut selaras dengan implementasi Servlet 4.x dan Servlet 5.x saat ini.

  • Gunakan HttpOnly: Tandai cookie otentikasi sebagai HttpOnly agar skrip sisi klien tidak dapat membacanya.
  • Gunakan Secure: Kirim cookie hanya melalui HTTPS dengan memanggil setSecure(true).
  • Gunakan SameSite: Konfigurasikan atribut SameSite (Lax atau Strict) melalui header kontainer atau respons untuk mengurangi kerentanan cross-site request forgery.
  • Pertahankan nilai yang rendah: Simpan pengidentifikasi dalam cookie dan simpan data di penyimpanan sisi server.
  • Tetapkan masa berlaku eksplisit: Gunakan setMaxAge untuk perilaku yang dapat diprediksi di berbagai browser.

Pertanyaan Umum Demo Slot

Cookie JSP adalah file teks kecil yang menyimpan data di browser klien. Halaman JSP menggunakannya untuk sesi. tracKing, mengingat preferensi pengguna, mendukung status login, dan mendukung analitik di berbagai permintaan HTTP ke aplikasi web yang sama.

Tandai cookie sebagai HttpOnly agar skrip tidak dapat membacanya, panggil setSecure(true) agar cookie hanya dikirim melalui HTTPS, dan konfigurasikan atribut SameSite sebagai Lax atau Strict untuk mengurangi risiko pemalsuan permintaan lintas situs di browser modern.

Buat Cookie baru dengan nama dan path yang sama, atur nilainya menjadi string kosong, panggil setMaxAge(0), dan tambahkan ke respons dengan response.addCookie. Browser kemudian akan segera menghapus cookie yang tersimpan yang sesuai.

Cookie JSP persisten memiliki usia maksimum positif dan disimpan di disk hingga waktu tersebut berakhir. Cookie sesi memiliki usia maksimum negatif, hanya tersimpan di memori browser, dan dihapus saat jendela browser ditutup.

Analisis berbasis AI dapat menilai lalu lintas cookie secara real-time, menandai pengidentifikasi sesi yang dicuri, mendeteksi perubahan geolokasi yang tidak biasa, dan memicu otentikasi bertahap. Model pembelajaran mesin juga membantu menyempurnakan kebijakan SameSite, HttpOnly, dan Secure berdasarkan pola serangan yang diamati.

Ya. Asisten AI dapat memindai kode JSP dan Servlet lama, menulis ulang panggilan javax.servlet.http.Cookie untuk jakarta.servlet.http.Cookie di Servlet 5.x, menambahkan flag SameSite dan HttpOnly, dan menyarankan penyimpanan pengidentifikasi sesi yang lebih aman tanpa merusak logika aplikasi yang ada.

Ringkaslah postingan ini dengan: