मैं अपने वसंत सेम में एक HttpServletRequest कैसे मिलता है?

वोट
28

मैं एक फ्लेक्स आधारित सामने अंत और एक स्प्रिंग / हाइबरनेट बैक-एंड के साथ एप्लिकेशन को विकसित कर रहा हूँ।

जिस तरह से मैं इसे वर्तमान में मिल गया है में काम कर रहे फेसबुक एकीकरण पाने के लिए, मैं उपयोगकर्ता अपने फेसबुक धोखा करने के लिए प्रयास कर रहा है कि क्या देखने के लिए कुकीज़ बैक-एंड पर सामने के छोर पर जावास्क्रिप्ट में सेट पढ़ सकते हैं और प्रवेश के दौरान कुछ मान्यकरण करना होगा लॉग इन करें।

यह बहुत आसान हो सकता है, लेकिन मैं समझ नहीं कैसे HttpServletRequest मिलता है। मैं एक बहुत बुनियादी स्प्रिंग config का उपयोग कर रहा है (यह मेरी पहली असली वसंत अनुप्रयोग है, और अब मैं इसके साथ बहुत परिचित हूँ, लेकिन वहाँ यह करने के लिए बहुत सारी मैं कभी नहीं देखा गया है।)

मैं वसंत MVC या वसंत WebFlow या ऐसा कुछ का उपयोग नहीं कर रहा हूँ। मैं ServletContext प्राप्त कर सकते हैं, लेकिन मैं अभी तक पता लगा नहीं है कि किस प्रकार अनुरोध प्राप्त करने के लिए।

कोई मदद?

18/02/2009 को 00:13
का स्रोत उपयोगकर्ता
अन्य भाषाओं में...                            


5 जवाब

वोट
11

इस फ्लेक्स / BlazeDS विशिष्ट की तरह है, लेकिन यहाँ समाधान मैं के साथ आ गया है। क्षमा करें यदि अपने ही सवाल का जवाब देने के लिए एक भूलों है।

    HttpServletRequest request = flex.messaging.FlexContext.getHttpRequest();

    Cookie[] cookies = request.getCookies();

    for (Cookie c:cookies)
    {
        log.debug(String.format("Cookie: %s, %s, domain: %s",c.getName(), c.getValue(),c.getDomain()));
    }

यह काम करता है, मैं कुकीज़ मिलता है। मेरी समस्या वसंत करने के लिए देख रहा था - BlazeDS यह था। स्प्रिंग शायद बहुत करता है, लेकिन मैं अभी भी इसे पाने के लिए कैसे पता नहीं है।

18/02/2009 को 00:40
का स्रोत उपयोगकर्ता

वोट
75

यदि FlexContext उपलब्ध नहीं है:

समाधान 1: विधि के अंदर (> = स्प्रिंग 2.0) की आवश्यकता

HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder

        .getRequestAttributes()).getRequest();

समाधान 2: सेम के अंदर (शायद singelton आवश्यक सेम के लिए 3.0 वसंत!)

@Autowired

private HttpServletRequest request;
25/11/2009 को 11:13
का स्रोत उपयोगकर्ता

वोट
1

@Contextएनोटेशन (इस सवाल में जवाब देखें: क्या संदर्भ एनोटेशन वसंत में क्या करता है? ) का कारण होगा यह आप के लिए इंजेक्ट किया जा करने के लिए।

मैं का इस्तेमाल किया था

@Context
private HttpServletRequest request;
07/02/2016 को 12:36
का स्रोत उपयोगकर्ता

वोट
2

@ Eeezyy का जवाब, मेरे लिए काम नहीं किया है, हालांकि मैं वसंत बूट (2.0.4) का उपयोग कर रहा है और यह अलग हो सकता है, लेकिन 2018 में एक बदलाव यहां इस प्रकार काम करता है:

@Autowired
private HttpServletRequest request;
07/11/2018 को 16:01
का स्रोत उपयोगकर्ता

वोट
0

यह क्या करना चाहिए

((ServletRequestAttributes)RequestContextHolder.getRequestAttributes()).getRequest().getRequestURI();
17/06/2019 को 22:21
का स्रोत उपयोगकर्ता

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more