سؤال

سأحاول أفضل ما يمكن أن أشرح ما أفعله من أجل الحصول عليه الأفضل نصيحة/حل ممكن. كل هذا يتم في جافا.

لدى موكلي تطبيق سطح مكتب قائم على الأرجوحة سيتم تحميله باستخدام WebStart. تم تعييني لإنشاء مدير جلسة لمعلومات حساب المستخدم.

اقترح صديقي استخدام إدارة جلسة HTTP بدلاً من ذلك ، لذلك قررت تجربتها. لقد كتبت servlet (دعنا نسمي هذه Sessionservlet) التي تقوم بإنشاء جلسات وإزالة وإعادة تعيين بناء على ملف تعريف المستخدم. في Tomcat 7 ، لا يتم تخزين الجلسات. أظن أنه عند تهيئة Servlet ، يتم تفريغ الجلسة. أحصل فقط ، org.apache.catalina.ASYNC_SUPPORTED في جلسة.

سؤالي (ق) هو/هي:

  • كيف أسمح لـ Tomcat 7 بالقيام بإدارة الجلسة؟
  • كيف يمكنني القيام بإدارة الجلسة في ربيع 3؟ لديّ معظم الخدمات التي تعمل في فصل الربيع وأعتقد أنه سيكون من الحكمة أن أقوم بإدارة الجلسة في الربيع.
  • ما هي وسائل أخرى للقيام بإدارة الجلسة في جافا ، هل هناك نمط تصميم لإدارة الجلسة؟ (فضولي فقط).

مليون شكرا!

هل كانت مفيدة؟

المحلول 2

لقد اكتشفت هذا ، لذلك سأشارك مدخلاتي.

عند القيام بإدارة جلسة HTTP (خاصة مع Servlets) ، يتعين على المرء التأكد من وجود إدارة جلسة من جانب العميل أيضًا.

ما يحدث هو أنه عند إنشاء جلسة ، تُرجع Servlet ملف تعريف الارتباط مع JSESSIONID قيمة الجلسة التي أنشأتها حاوية servlet. تأكد من أن جانب العميل قادر على تخزين الجلسة واستخدامها في كل مرة تحتاج فيها إلى الوصول إلى بيانات الجلسة من الخادم.

لم أكن أقوم بتخزين ملف تعريف الارتباط من جانبي ، لذلك بدا أن الجلسة لم يتم إنشاؤها مطلقًا.

آمل أن يساعد هذا شخص آخر.

نصائح أخرى

قد أكون سوء فهم ما تحاول القيام به مع الجلسة ، ولكن توجد جلسات (من حيث servlets) فقط أثناء الوصول إلى المستخدم. لذلك يحصل المستخدم على الصفحة الأولى ويتم إعداد جلسة ، وهي متاحة لكل صفحة يصل المستخدم إلى المستخدم. عندما يغادر المستخدم الموقع ، تختفي الجلسة. هل هذا هو السلوك الذي تبحث عنه أم أنك تبحث عن شيء سيستمر بين زيارات الموقع؟

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top