JSP में कुकीज़ उदाहरण सहित
⚡ स्मार्ट सारांश
JSP कुकीज़ क्लाइंट ब्राउज़र पर संग्रहीत छोटी टेक्स्ट फ़ाइलें होती हैं जो JSP अनुप्रयोगों को सहायता प्रदान करती हैं। track सेशन, उपयोगकर्ता की प्राथमिकताओं को याद रखना, और javax.servlet.http.Cookie API और मानक प्रतिक्रिया हेडर का उपयोग करके कई HTTP अनुरोधों में प्रतिक्रियाओं को वैयक्तिकृत करना।

जेएसपी कुकीज़ क्या हैं?
JSP कुकीज़ छोटी टेक्स्ट फ़ाइलें होती हैं जिन्हें JSP आधारित वेब सर्वर क्लाइंट ब्राउज़र से उपयोगकर्ता के डिवाइस पर स्टोर करने के लिए कहता है। HTTP एक स्टेटलेस प्रोटोकॉल होने के कारण, JSP कुकीज़ अनुरोधों के बीच लॉगिन स्थिति, भाषा चयन, थीम या शॉप जैसी जानकारी को याद रखने का एक सरल, मानक-आधारित तरीका प्रदान करती हैं।ping कार्ट पहचानकर्ता।
- जेएसपी कुकीज़ ब्राउज़र द्वारा क्लाइंट मशीन पर संग्रहीत की जाने वाली सादी टेक्स्ट फाइलें होती हैं।
- वे इसके अभ्यस्त हैं tracसत्र प्रबंधन, वैयक्तिकरण और विश्लेषण के लिए k जानकारी।
- JSP अंतर्निहित सर्वलेट तकनीक और javax.servlet.http.Cookie क्लास के माध्यम से HTTP कुकीज़ का समर्थन करता है।
- जेएसपी कुकीज़ हैं transmitप्रत्येक मिलान अनुरोध पर HTTP अनुरोध और प्रतिक्रिया हेडर के अंदर टेड।
- जब ब्राउज़र को कुकीज़ स्वीकार करने के लिए कॉन्फ़िगर किया जाता है, तो यह उन्हें setMaxAge द्वारा निर्धारित समाप्ति तिथि तक डिस्क पर संग्रहीत करता है।
JSP कुकीज़ का उपयोग क्यों करें?
JSP डेवलपर कुकीज़ पर निर्भर रहते हैं क्योंकि HTTP अनुरोध एक दूसरे से स्वतंत्र होते हैं। JSP कुकीज़ के बिना, सर्वर को यह पता नहीं चल पाएगा कि दो अनुरोध एक ही विज़िटर के हैं। JSP में कुकीज़ न्यूनतम सर्वर साइड स्टेट के साथ इस समस्या का समाधान करती हैं।
- अधिवेशन tracराजा: एक JSESSIONID कुकी कई पेज व्यू को एक लॉजिकल सेशन से जोड़ती है।
- निजीकरण: JSP कुकीज़ भाषा, थीम या लेआउट संबंधी प्राथमिकताओं को संग्रहीत कर सकती हैं।
- प्रमाणीकरण सहायक: HttpOnly और Secure फ्लैग सक्षम होने पर रिमेंबर मी टोकन और लॉगिन स्थिति अक्सर कुकीज़ में मौजूद रहते हैं।
- विश्लेषक: JSP में कुकीज़ लौटने वाले आगंतुकों, रेफ़रर्स और रूपांतरण पथों को रिकॉर्ड करती हैं।
जेएसपी कुकीज़ के प्रकार
- स्थायी कुकी: एक स्थायी JSP कुकी setMaxAge के साथ निर्धारित समय तक डिवाइस पर संग्रहीत रहती है। यह एप्लिकेशन को ब्राउज़र के पुनः आरंभ होने पर भी प्राथमिकताएं और लॉगिन विवरण याद रखने में मदद करती है।
- गैर-स्थायी कुकी: एक नॉन-परसिस्टेंट जेएसपी कुकी, जिसे सेशन कुकी भी कहा जाता है, केवल ब्राउज़र मेमोरी में रहती है और उपयोगकर्ता द्वारा ब्राउज़र बंद करने पर हटा दी जाती है। इसका उपयोग मुख्य रूप से अल्पकालिक सेशन के लिए किया जाता है। tracराजा।
JSP कुकीज़ विधियाँ
javax.servlet.http.Cookie क्लास उन तरीकों को उपलब्ध कराती है जिनका उपयोग JSP कुकीज़ के साथ काम करते समय सबसे अधिक किया जाता है।
-
सार्वजनिक शून्य सेटडोमेन (स्ट्रिंग डोमेन)
यह JSP सेट कुकी विधि उस डोमेन को निर्धारित करती है जिस पर JSP कुकी लागू होती है।
-
सार्वजनिक स्ट्रिंग गेटडोमेन()
यह JSP गेट कुकी विधि उस डोमेन को लौटाती है जिस पर JSP कुकी लागू होती है।
-
सार्वजनिक शून्य सेटमैक्सएज (इंट समाप्ति)
यह JSP कुकी की समय सीमा (सेकंड में) निर्धारित करता है। शून्य मान कुकी को हटा देता है और ऋणात्मक मान इसे सत्र कुकी बना देता है।
-
सार्वजनिक पूर्णांक अधिकतम आयु प्राप्त करें()
यह JSP कुकी की अधिकतम आयु सेकंड में लौटाता है।
-
सार्वजनिक स्ट्रिंग गेटनेम()
यह JSP कुकी का नाम लौटाता है।
-
सार्वजनिक शून्य सेटवैल्यू (स्ट्रिंग मान)
JSP कुकी से संबंधित मान निर्धारित करता है।
-
सार्वजनिक स्ट्रिंग गेटवैल्यू()
यह JSP कुकी से संबंधित मान लौटाता है।
-
पब्लिक वॉइड सेटपाथ(स्ट्रिंग पाथ)
यह सेट कुकी इन जेएसपी विधि सेट करती है URL वह पथ जिस पर कुकी लागू होती है।
-
सार्वजनिक स्ट्रिंग गेटपाथ()
यह लौटाता है URL वह पथ जिस पर जेएसपी कुकी लागू होती है।
-
सार्वजनिक शून्य सेटसिक्योर (बूलियन ध्वज)
यह जेएसपी कुकी को इस प्रकार चिह्नित करता है कि इसे केवल एन्क्रिप्टेड HTTPS कनेक्शनों पर ही भेजा जाए।
-
सार्वजनिक शून्य सेट कमेंट (स्ट्रिंग cmt)
यह जेएसपी कुकी के उद्देश्य का वर्णन करता है।
-
सार्वजनिक स्ट्रिंग गेटकमेंट()
यह जेएसपी कुकी का वर्णन करने वाली टिप्पणी लौटाता है।
JSP कुकीज़ को कैसे हैंडल करें
JSP कुकीज़ के साथ काम करने में तीन दोहराए जाने योग्य चरण शामिल हैं। लॉगिन स्थिति, थीम स्विच और शॉप के लिए भी यही पैटर्न इस्तेमाल किया जाता है।ping गाड़ियाँ.
- कुकी कंस्ट्रक्टर का उपयोग करके JSP कुकी ऑब्जेक्ट बनाएं।
- कुकी विशेषताओं को कॉन्फ़िगर करें, विशेष रूप से अधिकतम आयु, पथ और सुरक्षा फ़्लैग।
- response.addCookie का उपयोग करके HTTP रिस्पॉन्स हेडर के माध्यम से कुकी को ब्राउज़र पर भेजें।
JSP कुकी कैसे बनाएं
एक नया JSP कुकी बनाने के लिए, javax.servlet.http.Cookie को एक नाम और एक मान के साथ इंस्टैंशिएट किया जाता है। फिर इस कुकी को रिस्पॉन्स ऑब्जेक्ट से अटैच कर दिया जाता है ताकि ब्राउज़र इसे स्टोर कर सके।
JSP कुकीज़ को कैसे पढ़ें
प्रत्येक बाद के अनुरोध पर, ब्राउज़र सर्वर को मिलान करने वाली JSP कुकीज़ वापस भेजता है। पृष्ठ request.getCookies फ़ंक्शन को कॉल करके उन्हें पढ़ता है, जो कुकी ऑब्जेक्ट्स का एक ऐरे लौटाता है। फिर एप्लिकेशन ऐरे पर इटरेट करता है, प्रत्येक कुकी को नाम से खोजता है और उसके मान का उपयोग करता है।
JSP कुकी को कैसे हटाएं
JSP कुकी को हटाने के लिए, सर्वर उसी नाम से एक नई कुकी बनाता है, उसका मान खाली स्ट्रिंग पर सेट करता है, setMaxAge को शून्य के साथ कॉल करता है, और उसे रिस्पॉन्स में जोड़ देता है। इसके बाद ब्राउज़र अगले रिस्पॉन्स में संग्रहीत कुकी को हटा देता है।
JSP में कुकीज़ का उदाहरण
इस JSP कुकीज़ उदाहरण में, एप्लिकेशन उपयोगकर्ता नाम और ईमेल के लिए दो कुकीज़ बनाता है, उन्हें दस घंटे तक सक्रिय रखता है, और फिर action_cookie_main.jsp नामक दूसरे पृष्ठ पर मानों को वापस पढ़ता है।
एक्शन_कुकी.jsp
<%-- Action_cookie.jsp: input form for JSP Cookies demo --%> <%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title>Guru Cookie</title> </head> <body> <form action="action_cookie_main.jsp" method="GET"> Username: <input type="text" name="username"> <br /> Email: <input type="text" name="email" /> <input type="submit" value="Submit" /> </form> </body> </html>
Action_cookie_main.jsp
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <% Cookie username = new Cookie("username", request.getParameter("username")); Cookie email = new Cookie("email", request.getParameter("email")); username.setMaxAge(60*60*10); email.setMaxAge(60*60*10); // Add both the JSP Cookies in the response header. response.addCookie( username ); response.addCookie( email ); %> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title>Guru Cookie JSP</title> </head> <body> <b>Username:</b> <%= request.getParameter("username")%> <b>Email:</b> <%= request.getParameter("email")%> </body> </html>
का स्पष्टीकरण Code
एक्शन_कुकी.jsp
Code पंक्ति 10 से 15: यह पेज एक फॉर्म घोषित करता है जिसे action_cookie_main.jsp पर सबमिट किया जाता है। उपयोगकर्ता नाम और ईमेल नामक दो इनपुट फ़ील्ड उपयोगकर्ता से डेटा एकत्र करते हैं, साथ ही एक सबमिट बटन भी होता है।
Action_cookie_main.jsp
Code पंक्ति 6 से 9: फॉर्म द्वारा सबमिट किए गए मानों को पढ़ने के लिए request.getParameter का उपयोग करके दो कुकी ऑब्जेक्ट, username और email बनाए जाते हैं।
Code पंक्ति 12 से 13: setMaxAge मेथड को 60 को 60 से गुणा करके और फिर 10 से गुणा करके कॉल किया जाता है, जो प्रत्येक JSP कुकी के जीवनकाल को दस घंटे तक सेट करता है।
Code पंक्ति 16 से 17: response.addCookie का उपयोग करके दोनों कुकीज़ को रिस्पॉन्स में अटैच किया जाता है। इसके बाद ब्राउज़र उन्हें बाद के अनुरोधों पर वापस भेजता है, और सर्वर वर्तमान अनुरोध के लिए request.getCookies या request.getParameter का उपयोग करके उन्हें पढ़ता है।
उत्पादन
उपरोक्त कोड को निष्पादित करने पर आपको निम्नलिखित आउटपुट प्राप्त होगा।
जब action_cookie.jsp निष्पादित होता है, तो ब्राउज़र उपयोगकर्ता नाम और ईमेल नामक दो फ़ील्ड दिखाता है। उपयोगकर्ता द्वारा इन्हें भरने और सबमिट पर क्लिक करने के बाद, action_cookie_main.jsp सर्वर पर संबंधित JSP कुकीज़ बनाता है, उन्हें क्लाइंट पर संग्रहीत करता है और मान प्रदर्शित करता है, जिससे पुष्टि होती है कि कुकीज़ सफलतापूर्वक बनाई गई हैं।
JSP कुकीज़ के लिए सर्वोत्तम अभ्यास
आधुनिक वेब अनुप्रयोगों को JSP कुकीज़ को सुरक्षा की दृष्टि से संवेदनशील डेटा मानना चाहिए। निम्नलिखित पद्धतियाँ वर्तमान सर्वलेट 4.x और सर्वलेट 5.x परिनियोजन के अनुरूप हैं।
- HTTPOnly का उपयोग करें: प्रमाणीकरण कुकीज़ को HttpOnly के रूप में चिह्नित करें ताकि क्लाइंट साइड स्क्रिप्ट उन्हें पढ़ न सकें।
- सुरक्षित उपयोग करें: setSecure(true) को कॉल करके कुकीज़ को केवल HTTPS पर ही भेजें।
- SameSite का उपयोग करें: क्रॉस साइट रिक्वेस्ट फोरजरी को कम करने के लिए कंटेनर या रिस्पॉन्स हेडर के माध्यम से SameSite एट्रीब्यूट (Lax या Strict) को कॉन्फ़िगर करें।
- मूल्यों को कम रखें: कुकी में एक पहचानकर्ता संग्रहीत करें और डेटा को सर्वर साइड स्टोरेज में रखें।
- स्पष्ट समाप्ति तिथि निर्धारित करें: ब्राउज़रों में एक समान व्यवहार सुनिश्चित करने के लिए setMaxAge का उपयोग करें।


