पेज रीडायरेक्शन आमतौर पर तब उपयोग किया जाता है जब कोई दस्तावेज़ नए स्थान पर चला जाता है और हमें क्लाइंट को इस नए स्थान पर भेजने की आवश्यकता होती है। यह लोड बैलेंसिंग के कारण या साधारण रैंडमाइज़ेशन के लिए हो सकता है।
सबसे सरल तरीका: sendRedirect()
रिक्वेस्ट को दूसरे पेज पर रीडायरेक्ट करने का सबसे सरल तरीका response ऑब्जेक्ट के sendRedirect() मेथड का उपयोग करना है। इस मेथड का सिग्नेचर:
public void response.sendRedirect(String location) throws IOException
यह मेथड स्टेटस कोड और नए पेज स्थान के साथ ब्राउज़र को रिस्पॉन्स वापस भेजता है। आप उसी रीडायरेक्शन को प्राप्त करने के लिए setStatus() और setHeader() मेथड्स को एक साथ उपयोग कर सकते हैं:
String site = "https://www.newpage.com";
response.setStatus(response.SC_MOVED_TEMPORARILY);
response.setHeader("Location", site);
उदाहरण: PageRedirect.jsp
<%@ page import="java.io.*,java.util.*" %>
<html>
<head>
<title>Page Redirection</title>
</head>
<body>
<center>
<h1>Page Redirection</h1>
</center>
<%
// रीडायरेक्ट किए जाने वाला नया स्थान
String site = new String("https://www.photofuntoos.com");
response.setStatus(response.SC_MOVED_TEMPORARILY);
response.setHeader("Location", site);
%>
</body>
</html>
परीक्षण
उपरोक्त कोड को PageRedirect.jsp में रखें और इस JSP को URL https://localhost:8080/pageRedirect.jsp का उपयोग करके कॉल करें। यह आपको दिए गए URL https://www.photofuntoos.com पर ले जाएगा।
रीडायरेक्शन के प्रकार
- SC_MOVED_TEMPORARILY (302): अस्थायी रीडायरेक्ट (डिफ़ॉल्ट sendRedirect व्यवहार)।
- SC_MOVED_PERMANENTLY (301): स्थायी रीडायरेक्ट (SEO के लिए बेहतर)।
- SC_SEE_OTHER (303): POST के बाद GET रीडायरेक्ट के लिए।
सर्वोत्तम अभ्यास
- POST रिक्वेस्ट के बाद दोबारा सबमिशन रोकने के लिए sendRedirect का उपयोग करें (Post-Redirect-Get पैटर्न)।
- स्थायी URL परिवर्तनों के लिए 301 स्टेटस कोड सेट करें।
- रिलेटिव URL का उपयोग करें जब संभव हो (पोर्टेबिलिटी के लिए)।