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

  • Canceriansoul

    Canceriansou

    15 Ocak 2011
  • FILIPeeeK

    FILIPeeeK

    22 Mayıs 2006
  • HowcastSportsFitness

    HowcastSport

    11 Mayıs 2011