"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > स्प्रिंग एमवीसी नियंत्रक क्रियाओं से बाहरी यूआरएल पर रीडायरेक्ट कैसे करें?

स्प्रिंग एमवीसी नियंत्रक क्रियाओं से बाहरी यूआरएल पर रीडायरेक्ट कैसे करें?

2024-11-20 को प्रकाशित
ब्राउज़ करें:958

How to Redirect to External URLs from Spring MVC Controller Actions?

स्प्रिंग एमवीसी नियंत्रक क्रियाओं से बाहरी यूआरएल पर रीडायरेक्ट करना

स्प्रिंग एमवीसी में, रीडायरेक्ट का उपयोग करके प्रोजेक्ट के भीतर यूआरएल पर रीडायरेक्ट करना सीधा है: उपसर्ग . हालाँकि, बाहरी यूआरएल पर रीडायरेक्ट करना मुश्किल हो सकता है, खासकर यदि यूआरएल एक वैध प्रोटोकॉल निर्दिष्ट नहीं करता है।

निम्न कोड पर विचार करें, जो प्रोजेक्ट के भीतर एक यूआरएल पर रीडायरेक्ट करता है:

@RequestMapping(method = RequestMethod.POST)
public String processForm(HttpServletRequest request, LoginForm loginForm, 
                          BindingResult result, ModelMap model) 
{
    String redirectUrl = "yahoo.com";
    return "redirect:"   redirectUrl;
}

यह कोड इच्छित बाहरी यूआरएल पर रीडायरेक्ट नहीं करेगा, बल्कि दिए गए नाम के साथ एक दृश्य पर रीडायरेक्ट करेगा। बाहरी यूआरएल पर रीडायरेक्ट करने के लिए, यूआरएल में प्रोटोकॉल शामिल करना होगा, जैसा कि नीचे देखा गया है:

@RequestMapping(method = RequestMethod.POST)
public String processForm(HttpServletRequest request, LoginForm loginForm, 
                              BindingResult result, ModelMap model) 
{
    String redirectUrl = "http://www.yahoo.com";
    return "redirect:"   redirectUrl;
}

हालाँकि, इस विधि के लिए एक वैध प्रोटोकॉल की उपस्थिति की आवश्यकता होती है। वैध प्रोटोकॉल के बिना यूआरएल को संभालने के लिए, दो दृष्टिकोण उपलब्ध हैं:

दृष्टिकोण 1:

@RequestMapping(value = "/redirect", method = RequestMethod.GET)
public void method(HttpServletResponse httpServletResponse) {
    httpServletResponse.setHeader("Location", projectUrl);
    httpServletResponse.setStatus(302);
}

इस दृष्टिकोण में, एक HttpServletResponse ऑब्जेक्ट का उपयोग स्थान हेडर और स्टेटस कोड को सेट करने के लिए किया जाता है, जो रीडायरेक्ट को मजबूर करता है।

दृष्टिकोण 2:

@RequestMapping(value = "/redirect", method = RequestMethod.GET)
public ModelAndView method() {
    return new ModelAndView("redirect:"   projectUrl);
}

यह दृष्टिकोण दिए गए यूआरएल पर रीडायरेक्ट करने के लिए एक मॉडलएंडव्यू का उपयोग करता है।

नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3