Rumah >Java >javaTutorial >Bagaimana untuk melaksanakan keadaan sesi Sesi dalam JAVA
Sesi dicipta untuk mengisi batasan protokol HTTP. Sila ambil perhatian bagaimana protokol HTTP berfungsi - pengguna membuat permintaan dan pelayan bertindak balas Sambungan antara klien dan pelayan adalah diskret dan tidak berterusan. Protokol HTTP tidak menyediakan fungsi yang membolehkan pelayan menjejaki permintaan pengguna. Selepas pelayan selesai menjawab permintaan pengguna, pelayan tidak boleh terus mengekalkan sambungan dengan penyemak imbas. Dari sisi pelayan, setiap permintaan adalah bebas, jadi protokol HTTP dianggap sebagai protokol tanpa kewarganegaraan Apabila pengguna beralih antara berbilang halaman utama, pelayan tidak dapat mengetahui identitinya. Kemunculan Sesi adalah untuk menebus had ini. Menggunakan Sesi, anda boleh menyimpan maklumat pengguna apabila dia beralih antara berbilang halaman utama. Ini menjadikan banyak perkara yang tidak mungkin dilakukan sebelum ini menjadi lebih mudah.
Dalam tempoh dari apabila pelawat tiba di halaman utama tertentu hingga apabila dia keluar, setiap pelawat akan menerima Sesi yang berasingan.
Java Servlet mentakrifkan antara muka HttpSession, yang melaksanakan fungsi Session Proses penggunaan Session dalam Servlet adalah seperti berikut:
(1) Gunakan kaedah getSession HttpServletRequest untuk mendapatkan sesi yang sedia ada ditakrifkan pada masa ini, kemudian Untuk mencipta sesi baharu, anda juga boleh menggunakan kaedah getSession(true)
(2) untuk menulis pembolehubah sesi. Anda boleh menggunakan kaedah HttpSession.setAttribute(nama, nilai) untuk menyimpan sekeping maklumat dalam Sesi. Anda juga boleh menggunakan HttpSession.putValue(nama, nilai), tetapi kaedah ini sudah lapuk.
(3) Pembolehubah Sesi Baca. Anda boleh menggunakan kaedah HttpSession.getAttribute(name) untuk membaca nilai pembolehubah dalam Sesi Jika nama pembolehubah tidak ditentukan, null dikembalikan. Perlu diingatkan bahawa jenis pembolehubah yang dibaca daripada getAttribute ialah Object dan penukaran jenis paksa mesti digunakan, contohnya:
String uid = (String) session.getAttribute("uid");
HttpSession.getValue boleh juga digunakan (nama), tetapi kaedah ini juga sudah lapuk.
(4) Tutup sesi Selepas menggunakan sesi, anda boleh menggunakan kaedah session.invalidate() untuk menutup sesi. Tetapi ini tidak diperlukan dengan ketat. Kerana enjin Servlet menutup penglihatan secara automatik selepas satu tempoh masa.
Berikut ialah contoh mudah untuk menggambarkan penggunaan sesi
//97色色SessionExample.java
import java.io.*;
import java.util.*;
import javax .servlet .*;
import javax.servlet.http.*;
//Import pakej perisian yang diperlukan
kelas awam SessionExample memanjangkan HttpServlet
{
public void doGet(HttpServletRequestSquestervlet )
membuang IOException, ServletException //Laksanakan kaedah doGet
{
response.setContentType("text/html"); //Set HTTP header
PrintWriter out = response.getWriter(); Dapatkan Output 97gan
HttpSession session = request.getSession(true);
//Dapatkan objek sesi
//Cetak penanda HTML
out.println("");
out .println("
Atas ialah kandungan terperinci Bagaimana untuk melaksanakan keadaan sesi Sesi dalam JAVA. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!