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.
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
- 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.
- 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.
- Buat objek Cookie JSP menggunakan konstruktor Cookie.
- Konfigurasikan atribut cookie, terutama usia maksimum, jalur, dan flag keamanan.
- 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.
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.



