Metode spesifiknya adalah sebagai berikut:
1. Java Code <!-Prioritas adalah yang tertinggi->
request.getSession (). setmaxinactiveInterval (1800);/*detik adalah unit, 1800 = 60*30, yaitu, 30 menit*/
2. Web.xml <!-Prioritas adalah yang terendah->
<session-config> <!-menit dalam unit-> <sesi-timeout> 30 </sesi-timeout> </sesi-config>
3. Server web resin.conf, tomcat,
<session-config> <!-menit dalam unit-> <sesi-timeout> 30 </sesi-timeout> <denable-url-rewriting> false </denable-url-rewriting> </session-config>
Prioritas: 1> 3> 2
Sesi biasanya tidak akan gagal setelah restart Tomcat. Setelah menutup browser, sesi akan gagal.
Dalam sistem umum, beberapa operasi mungkin juga diperlukan setelah sesi gagal:
(1) Kontrol jumlah pengguna. Ketika sesi gagal, jumlah pengguna dalam sistem akan dikurangi satu, dll., Dan mengontrol jumlah pengguna dalam rentang tertentu untuk memastikan kinerja sistem.
(2) Kontrol pengguna untuk masuk beberapa kali. Ketika sesi ini valid, jika pengguna yang sama masuk, itu diminta untuk masuk. Ketika sesi berakhir, Anda dapat masuk tanpa diminta.
Jadi bagaimana Anda melakukan serangkaian operasi setelah sesi gagal?
Di sini Anda perlu menggunakan pendengar, yaitu, ketika sesi gagal karena berbagai alasan, pendengar dapat mendengarkan, dan kemudian menjalankan program yang ditentukan dalam pendengar.
Kelas pendengar adalah: kelas httpsessionlistener, dengan dua metode: sessionCreated 和sessionDestroyed
Anda dapat mewarisi kelas ini dan kemudian mengimplementasikannya secara terpisah.
Sesi yang Dibuat Mengacu pada metode yang dieksekusi saat sesi dibuat
sesiestroyed mengacu pada metode yang dieksekusi saat sesi gagal
sebagai berikut:
kelas publik OnlineListener mengimplementasikan httpsessionListener {public void sessioncreated (acara httpsessionEvent) {httpsession ses = event.getSession (); ID String = SES.GetId ()+ses.getCreationTime (); Summerconstant.usermap.put (id, boolean.true); // tambahkan pengguna} public void sessionDestroyed (acara httpsessionEvent) {httpsession ses = event.getSession (); ID String = SES.GetId ()+ses.getCreationTime (); disinkronkan (ini) {summerconstant.usernum--; // penurunan jumlah pengguna summerconstant.usermap.remove (id); // hapus dari grup pengguna, grup pengguna adalah peta}}}Cukup nyatakan pendengar ini di web.xml:
<listener> <listener-class> com.demo.system.listener.onlineListener </listener-class> </listener>
Di atas adalah metode sederhana menggunakan sesi untuk mendengarkan jumlah pengguna. Dalam proses yang sebenarnya, mungkin jauh lebih rumit dari ini.
Misalnya, Anda perlu mengimplementasikan dua antarmuka ServletContextListener dan HttpsessionListener pada saat yang sama, dan menulis ulang metode mereka, dll.
Di atas adalah metode pengaturan waktu kegagalan sesi Javaweb yang diperkenalkan kepada Anda oleh editor. Saya harap ini akan membantu Anda. Jika Anda memiliki pertanyaan, silakan tinggalkan saya pesan dan editor akan membalas Anda tepat waktu. Terima kasih banyak atas dukungan Anda ke situs web Wulin.com!