आमतौर पर कुकीज़ का संचालन सत्र प्रबंधन के लिए किया जाता है। फिर सभी टैब और ब्राउज़र विंडोज एक ही सत्र साझा करते हैं। लेकिन आप कुकीज के बजाय यूआरएल रीराइट का उपयोग करने के लिए अपने सर्वलेट कंटेनर को कॉन्फ़िगर कर सकते हैं। (यहां एक example for Jetty है।)
यूआरएल फिर से लिखने के साथ सत्र सत्र आईडी युक्त यूआरएल पैरामीटर के माध्यम से पहचाना जाता है। तो विधि HttpServletResponse.encodeURL()
विधि का उपयोग करके इस वेब पैरामीटर के प्रत्येक आंतरिक यूआरएल को इस पैरामीटर के साथ बढ़ाया जाना चाहिए। यदि आप विकेट जैसे वेब ढांचे का उपयोग कर रहे हैं, तो संभावना है कि यह आपके लिए पहले ही हो चुका है।
यूआरएल पुनः लिखने के साथ ही एक ही ब्राउज़र उदाहरण के विभिन्न विंडोज़ या टैब में कई अनिवार्य सत्र होना संभव है।
अद्यतन: downvote मैं यूआरएल को फिर से लिखने के स्पष्ट अलग व्यवहार बनाना चाहते के जवाब में:
मान लेते वेबसाइट के URL http://webapp.com में है।
कुकीज़: पहले ब्राउज़र टैब में http://webapp.com खोलें।
सर्वर एक सत्र बनाता है और प्रतिक्रिया में एक कुकी भेजता है।
ब्राउज़र कुकी को संग्रहीत करता है।
फिर दूसरे ब्राउज़र टैब में http://webapp.com खोलें। ब्राउजर हाल ही में संग्रहीत कुकी के साथ इस यूआरएल को जोड़ता है और कुकी को अनुरोध में जोड़ता है।
सर्वर के लिए पहले या दूसरे ब्राउज़र टैब से अनुरोधों के बीच कोई अंतर नहीं है और उसी सत्र से प्रतिक्रिया देता है। कभी-कभी यह वांछित व्यवहार है।
URL पुनर्लेखन: ओपन पहली ब्राउज़र टैब में http://webapp.com।
सर्वर आईडी 1 के साथ एक सत्र बनाता है और प्रतिक्रिया पृष्ठ में प्रत्येक यूआरएल में पैरामीटर jsessionid = 1 जोड़ता है। कोई कुकी स्थानांतरित नहीं होती है।
पहले ब्राउज़र टैब से उसी वेबैप के किसी अन्य पृष्ठ पर सभी अनुरोधों में सत्र आईडी (exeample 1 के लिए) शामिल हैं।
फिर दूसरे ब्राउज़र टैब से http://webapp.com खोलें। यहां अंतर है! क्योंकि अनुरोध में कोई कुकी नहीं है और कोई jsessionid पैरामीटर नहीं है, सर्वर एक नया सत्र बनाता है (यानी आईडी 2) और प्रतिक्रिया पृष्ठ में निहित प्रत्येक यूआरएल में पैरामीटर jsessionid = 2 जोड़ता है। अब से दूसरे ब्राउज़र टैब के बाद के सभी अनुरोधों पर सत्र 2 से जुड़े हैं।
तो आपके पास एक ही ब्राउज़र में दो स्वतंत्र सत्र हैं।
संभावित डुप्लिकेट [ब्राउज़र-टैब में सत्र कैसे भिन्न करें?] (Http://stackoverflow.com/questions/368653/how-to-differ-sessions-in-browser-tabs) –
क्या आप जावास्क्रिप्ट का उपयोग कर रहे हैं आपका आवेदन – developer