<jsp:forward> एलिमेंट क्लाइंट रिक्वेस्ट जानकारी वाले रिक्वेस्ट ऑब्जेक्ट को एक JSP फ़ाइल से दूसरी फ़ाइल पर फॉरवर्ड करता है। लक्ष्य फ़ाइल एक HTML फ़ाइल, दूसरी JSP फ़ाइल, या एक सर्वलेट हो सकती है, जब तक कि यह फॉरवर्डिंग JSP फ़ाइल के समान एप्लिकेशन संदर्भ में हो।
sendRedirect ब्राउज़र को HTTP अस्थायी रीडायरेक्ट रिस्पॉन्स भेजता है, और ब्राउज़र रीडायरेक्टेड पेज पर जाने के लिए एक नया रिक्वेस्ट बनाता है।
मुख्य अंतर
| विशेषता | <jsp:forward> | response.sendRedirect() |
|---|---|---|
| प्रकार | सर्वर-साइड फॉरवर्ड | क्लाइंट-साइड रीडायरेक्ट |
| रिक्वेस्ट ऑब्जेक्ट | संरक्षित (समान रिक्वेस्ट) | नया रिक्वेस्ट बनाया जाता है |
| ब्राउज़र URL | अपरिवर्तित रहता है | नए URL पर बदल जाता है |
| स्कोप | समान वेब एप्लिकेशन (संदर्भ) के भीतर | कहीं भी (बाहरी URL सहित) |
| प्रदर्शन | तेज़ (नेटवर्क राउंड-ट्रिप नहीं) | धीमा (अतिरिक्त राउंड-ट्रिप) |
| डेटा पास करना | रिक्वेस्ट एट्रिब्यूट्स/पैरामीटर्स उपलब्ध | केवल पैरामीटर्स (यदि URL में जोड़े गए) |
| बुकमार्क | मूल URL बुकमार्क होता है | नया URL बुकमार्क किया जा सकता है |
कब क्या उपयोग करें
- <jsp:forward>: समान एप्लिकेशन के भीतर आंतरिक नेविगेशन, रिक्वेस्ट डेटा संरक्षित करने की आवश्यकता होने पर।
- sendRedirect(): बाहरी साइट्स पर रीडायरेक्ट, POST के बाद दोबारा सबमिशन रोकने के लिए (PRG पैटर्न), URL बदलने की आवश्यकता होने पर।
कोड उदाहरण
<!-- फॉरवर्ड -->
<jsp:forward page="/result.jsp" />
<-- रीडायरेक्ट -->
<% response.sendRedirect("https://example.com"); %>