SORU
23 Temmuz 2010, Cuma


Nasıl istek kapsamlı bir fasulye içine bir HttpServletRequest enjekte mıyım?bahar:

Bahar request-scoped bean bir ayarlamaya çalışıyorum.

Başarıyla fasulye bir zamanlar isteği doğrultusunda oluşturulur bu yüzden kurdum. Şimdi, HttpServletRequest nesnesi erişim gerekiyor.

Bean bir kez isteği doğrultusunda oluşturulan bu yana, konteyner kolayca isteği benim fasulye nesne enjekte edebilir diye düşündüm. Bunu nasıl yapabilirim ?

CEVAP
24 Temmuz 2010, CUMARTESİ


Bahar HttpServletRequest geçerli nesne olarak HttpSession geçerli nesne) aracılığıyla sunarsarıcınesne türü 3**. Bu kapsayıcı nesne ThreadLocal bağlı olduğu ve static yöntemi RequestContextHolder.currentRequestAttributes() çağırarak elde edilir.

ServletRequestAttributes yöntemi getRequest() geçerli oturumu ve diğer yöntemler öznitelikleri hem kapsamları içinde saklı almak için geçerli bir istek, getSession() sağlar. Aşağıdaki kodu biraz çirkin olsa da, geçerli isteğin herhangi bir uygulamada nesne almak gerekir:

HttpServletRequest curRequest = 
((ServletRequestAttributes) RequestContextHolder.currentRequestAttributes())
.getRequest();

RequestContextHolder.currentRequestAttributes() Bu yöntem bir arayüz verir ve arabirimi uygulayan ServletRequestAttributes typecasted gerekiyor unutmayın.


Bahar Javadoc:RequestContextHolder | ServletRequestAttributes

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • arnejann

    arnejann

    3 Kasım 2007
  • hockeywebcasts

    hockeywebcas

    31 EKİM 2012
  • USI Events

    USI Events

    6 AĞUSTOS 2013