Nasıl bahar fasulye bir HttpServletRequest alabilirim?

oy
28

Bir Flex tabanlı ön uç ve bir Bahar / Hibernate arka uç ile bir uygulamayı geliştiriyorum.

Şu anda hallederim şekilde çalışan Facebook entegrasyonu almak için, kullanıcının kendi Facebook ele geçirmeye çalışan olup olmadığını görmek için arka uçta ön ucundaki javascript ayarlanan çerezleri okuyabilir ve giriş sırasında bazı doğrulama yapmak gerekir oturum aç.

Bu çok kolay olurdu, ama HttpServletRequest nasıl bilemiyorum. Ben (bu benim ilk gerçek Bahar uygulamadır ve şimdi onunla oldukça tanıdık değilim, ama baktım hiç ona çok şey var.) Bir çok temel Bahar yapılandırma kullanıyorum

Spring MVC veya Bahar WebFlow veya böyle bir şey kullanmıyorum. Ben ServletContext alabilirsiniz, ama henüz isteği nasıl çözemedim.

Herhangi bir yardım?

Oluştur 18/02/2009 saat 00:13
kaynak kullanıcı
Diğer dillerde...                            


5 cevaplar

oy
11

Bu özel Flex / BlazeDS'de türüdür, ama burada ben geldim çözüm. Maalesef benim kendi soruya cevap bir gaf ise.

    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()));
    }

Ben kurabiye olsun, çalışır. Sorunum Bahar bakıyordu - BlazeDS vardı. Bahar muhtemelen çok yapar, ama yine de bunu almak için nasıl bilmiyorum.

Cevap 18/02/2009 saat 00:40
kaynak kullanıcı

oy
75

FlexContext mevcut değilse:

Çözelti 1: yöntemi içinde, (> = Yay 2.0 gerekli)

HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder

        .getRequestAttributes()).getRequest();

Çözüm 2: fasulye içine (muhtemelen gerekli singelton fasulye 3.0 Bahar!)

@Autowired

private HttpServletRequest request;
Cevap 25/11/2009 saat 11:13
kaynak kullanıcı

oy
1

@ContextEk açıklama (bu söz konusu yanıtları görmek: bağlam açıklama Baharda ne yapar? ) Sizin için enjekte edilmesine neden olacaktır.

Ben kullanmak zorunda kaldı

@Context
private HttpServletRequest request;
Cevap 07/02/2016 saat 12:36
kaynak kullanıcı

oy
2

@ Spring Önyükleme (2.0.4) kullanıyorum rağmen eeezyy cevabı benim için işe yaramadı ve farklı olabilir, ancak 2018 yılında burada bir varyasyon şöyle işler:

@Autowired
private HttpServletRequest request;
Cevap 07/11/2018 saat 16:01
kaynak kullanıcı

oy
0

Bu yapmalı

((ServletRequestAttributes)RequestContextHolder.getRequestAttributes()).getRequest().getRequestURI();
Cevap 17/06/2019 saat 22:21
kaynak kullanıcı

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