الطريقة المحددة هي كما يلي:
1. كود جافا <!-الأولوية هي الأعلى->
request.getSession ().
2. web.xml <!-الأولوية هي أدنى->
<Session-Config> <!-دقائق في الوحدات-> <timeOut> 30 </session-timeout> </session-config>
3. Resin.conf خادم الويب ، Tomcat ،
<Session-Config> <!-دقائق في الوحدات-> <timeOut> 30 </sessiont-timeout> <enable-url-rewriting> false </enable-url-rewriting> </session-config>
الأولوية: 1> 3> 2
لن تفشل الجلسة عادة بعد إعادة تشغيل Tomcat. بعد إغلاق المتصفح ، ستفشل الجلسة.
في النظم العامة ، قد تكون هناك حاجة لبعض العمليات أيضًا بعد فشل الجلسة:
(1) التحكم في عدد المستخدمين. عندما تفشل الجلسة ، سيتم تخفيض عدد المستخدمين في النظام بواحد ، وما إلى ذلك ، والتحكم في عدد المستخدمين ضمن نطاق معين لضمان أداء النظام.
(2) التحكم في المستخدم لتسجيل الدخول عدة مرات. عندما تكون الجلسة صالحة ، إذا قام المستخدم نفسه بتسجيل الدخول ، يُطلب من تسجيل الدخول. عندما تنتهي صلاحية الجلسة ، يمكنك تسجيل الدخول دون المطالبة.
إذن كيف يمكنك أداء سلسلة من العمليات بعد فشل الجلسة؟
تحتاج هنا إلى استخدام مستمع ، أي عندما تفشل الجلسة لأسباب مختلفة ، يمكن للمستمع الاستماع ، ثم تنفيذ البرنامج المحدد في المستمع.
فئة المستمع هي: httpsessionlistener فئة ، مع طريقتين: sessionCreated 和sessionDestroyed
يمكنك أن ترث هذه الفئة ثم تنفيذها بشكل منفصل.
يشير SessionCreated إلى الطريقة التي يتم تنفيذها عند إنشاء الجلسة
يشير SessionDestroyed إلى الطريقة التي تم تنفيذها عندما تفشل الجلسة
على النحو التالي:
الطبقة العامة onlinelistener تنفذ httpsessionlistener {public void sessioncreed (httpsessionevent event) {httpsession ses = event.getSession () ؛ string id = ses.getId ()+ses.getCreationTime () ؛ SummerConstant.usermap.put (id ، boolean.true) ؛ // إضافة user} public void sessionDestroyed (حدث httpsessionevent) {httpsession ses = event.getSession () ؛ string id = ses.getId ()+ses.getCreationTime () ؛ متزامن (هذا) {summerConstant.usernum-- ؛ // الانخفاض من خلال عدد المستخدمين SummerConstant.usermap.remove (id) ؛ // إزالة من مجموعة المستخدم ، مجموعة المستخدم هي خريطة}}}فقط أعلن هذا المستمع في web.xml:
<StaNeer> <Segyer-Class> com.demo.system.listener.onlinelistener </leader-class> </stanker>
ما سبق هو وسيلة بسيطة لاستخدام الجلسة للاستماع لعدد المستخدمين. في العملية الفعلية ، قد يكون أكثر تعقيدًا من هذا.
على سبيل المثال ، تحتاج إلى تنفيذ واجهتين لـ ServletContextListener و HTTPsessionListener في نفس الوقت ، وإعادة كتابة أساليبهم ، إلخ.
ما سبق هو طريقة إعداد وقت فشل جلسة Javaweb التي قدمها لك المحرر. آمل أن يكون ذلك مفيدًا لك. إذا كان لديك أي أسئلة ، فيرجى ترك رسالة لي وسوف يرد المحرر إليك في الوقت المناسب. شكرا جزيلا لدعمكم لموقع wulin.com!