Rumah >Java >javaTutorial >Bagaimana untuk melaksanakan keadaan sesi Sesi dalam JAVA

Bagaimana untuk melaksanakan keadaan sesi Sesi dalam JAVA

WBOY
WBOYke hadapan
2023-05-11 13:10:06701semak imbas

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("");
out.println("");
out.println("");
out.println("");
Tarikh dicipta = new Date(session.getCreationTime());
// Dapatkan masa apabila objek sesi dicipta
Tarikh diakses = new Date(session.getLastAccessedTime());
//Dapatkan masa apabila objek sesi terakhir diakses
out.println("ID " + session.getId() +"
");
//Dapatkan id sesi dan cetak
out.println("Created: " + created+"
");
//Cetak masa pembuatan sesi
out.println("Terakhir Diakses: " + diakses+"
");
//Cetak masa capaian terakhir
session.setAttribute("UID ","12345678");
//Tambah pembolehubah UID=12345678 dalam sesi
session.setAttribute("Name","Tom");
//Tambah pembolehubah Nama=Tom dalam sesi
Penghitungan e = session.getAttributeNames ();
//Dapatkan objek penghitungan nama pembolehubah dalam sesi
sementara (e.hasMoreElements()) { //Traverse setiap pembolehubah
String name = (String )e.nextElement(); //Pertama dapatkan nama
Nilai rentetan = session.getAttribute(nama).toString();
//Dapatkan nilai daripada 97gan mengikut nama
out.println(nama + " = " + value+"< ;br>"); //Cetak
}
out.println(""); //Cetak penanda HTML
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!

Kenyataan:
Artikel ini dikembalikan pada:yisu.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam