JSP के साथ कुकीज़ सेट करने में तीन चरण शामिल हैं:
चरण 1: Cookie ऑब्जेक्ट बनाना
कुकी नाम और कुकी मान दोनों के साथ Cookie कंस्ट्रक्टर को कॉल करें, जो दोनों स्ट्रिंग्स हैं।
Cookie cookie = new Cookie("key", "value");
ध्यान रखें, न तो नाम और न ही मान में व्हाइटस्पेस या निम्नलिखित कैरेक्टर्स होने चाहिए:
[ ] ( ) = , " / ? @ : ;
चरण 2: अधिकतम आयु सेट करना
आप setMaxAge का उपयोग करके निर्दिष्ट करते हैं कि कुकी कितने समय तक (सेकंड में) मान्य होनी चाहिए। निम्न कोड 24 घंटे के लिए एक कुकी सेट करेगा।
cookie.setMaxAge(60 * 60 * 24);
चरण 3: कुकी को HTTP रिस्पॉन्स हेडर्स में भेजना
आप कुकीज़ को HTTP रिस्पॉन्स हेडर में जोड़ने के लिए response.addCookie का उपयोग करते हैं:
response.addCookie(cookie);
पूर्ण उदाहरण
<%
// पहले और अंतिम नाम के लिए कुकीज़ बनाएं
Cookie firstName = new Cookie("first_name", request.getParameter("first_name"));
Cookie lastName = new Cookie("last_name", request.getParameter("last_name"));
// दोनों कुकीज़ के लिए 24 घंटे के बाद समाप्ति तिथि सेट करें
firstName.setMaxAge(60 * 60 * 24);
lastName.setMaxAge(60 * 60 * 24);
// दोनों कुकीज़ को रिस्पॉन्स हेडर में जोड़ें
response.addCookie(firstName);
response.addCookie(lastName);
%>
<html>
<head>
<title>Setting Cookies</title>
</head>
<body>
<center>
<h1>Setting Cookies</h1>
</center>
<ul>
<li><p><b>First Name:</b> <%= request.getParameter("first_name") %></p></li>
<li><p><b>Last Name:</b> <%= request.getParameter("last_name") %></p></li>
</ul>
</body>
</html>
HTML फॉर्म (hello.jsp)
<html>
<body>
<form action="main.jsp" method="GET">
First Name: <input type="text" name="first_name">
<br />
Last Name: <input type="text" name="last_name" />
<input type="submit" value="Submit" />
</form>
</body>
</html>
तैनाती
उपरोक्त HTML सामग्री को hello.jsp फ़ाइल में रखें और hello.jsp और main.jsp को <Tomcat-installation-directory>/webapps/ROOT निर्देशिका में रखें। जब आप https://localhost:8080/hello.jsp एक्सेस करेंगे, तो फॉर्म दिखाई देगा।
आउटपुट
पहला नाम और अंतिम नाम दर्ज करें फिर सबमिट बटन पर क्लिक करें। यह आपकी स्क्रीन पर पहला नाम और अंतिम नाम प्रदर्शित करेगा और दो कुकीज़ firstName और lastName भी सेट करेगा। अगली बार जब आप सबमिट बटन पर क्लिक करेंगे तो ये कुकीज़ सर्वर को वापस पास की जाएंगी।
महत्वपूर्ण नोट्स
- setMaxAge(0) कुकी हटा देता है।
- setMaxAge(-1) सत्र कुकी बनाता है (ब्राउज़र बंद होने पर समाप्त)।
- सुरक्षा के लिए
cookie.setSecure(true)(केवल HTTPS) औरcookie.setHttpOnly(true)(XSS सुरक्षा) सेट करें। - डोमेन/पथ के लिए
cookie.setDomain(),cookie.setPath()कॉन्फ़िगर करें।