سؤال

لقد استغرقت دائما أمرا مفروغا منه كعرف ملف تعريف الارتباط JSESSIONID الذي تم إنشاؤه لكل طلب جديد لعميل معين عند تطوير التطبيقات باستخدام مواصفات Servlet.ولكن بعد إعطائها بعض الفكر، ليس من المنطقي أكثر منطقية لحاوية Servlet لإنشاء رأس ملف تعريف الارتباط فقط بعد قد طلبت الجلسة وإنشاءها في التعليمات البرمجية؟بالنسبة للعملاء الذين لديهم تعطيل ملفات تعريف الارتباط الخاصة بهم، لن ينتهي الأمر بإنشاء HttpSession جديد لكل طلب؟

واسمحوا لي أن أعرف ما إذا كان السؤال لا يزال غير واضح حتى أتمكن من تحريره.تيا.

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

المحلول

لن يتم إنشاء جلسة جديدة بواسطة حاوية Servlet افتراضيا ما لم يخلق Servlet فعلا بشكل صريح. فقط لأنه في رأسه يتم تعنيه المشاجرة، لا يعني أنه يجب أن يكون هناك سيسيون على الخادم. استثناء من هذا في JSPS أنه بشكل افتراضي إنشاء جلسة إذا لم يكن أحد هناك ما لم يكن عند <٪ @ صفحة الصفحة="False"٪>

بقدر عدم تشغيل ملفات تعريف الارتباط:

يمكن أن تستخدم حاوية الويب عدة طرق لربط جلسة مع المستخدم، كل ما تنطوي على تمرير معرف بين العميل و الخادم. المعرف يمكن أن يكون الحفاظ على العميل كملف تعريف أو مكون الويب يمكن أن يشمل معرف في كل عنوان URL الذي هو عاد إلى العميل.

إذا كان تطبيقك يستخدم الجلسة الكائنات، يجب عليك التأكد من أن الجلسة يتم تمكين التعقب من خلال وجود تطبيق إعادة كتابة عناوين URL كلما العميل يطفئ ملفات تعريف الارتباط. أنت تفعل هذا عن طريق استدعاء الرد طريقة EncoDeURL (URL) على جميع عناوين URL عاد من قبل servlet. هذه الطريقة يتضمن معرف الجلسة في عنوان URL فقط إذا تم تعطيل ملفات تعريف الارتباط؛ خلاف ذلك، فإنه يعيد عنوان URL لم يتغير.

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