Musim semi memperlihatkan HttpServletRequest
objek saat ini (serta HttpSession
objek saat ini ) melalui tipe objek pembungkusServletRequestAttributes
. Objek pembungkus ini terikat ke ThreadLocal dan diperoleh dengan memanggil static
metode RequestContextHolder.currentRequestAttributes()
.
ServletRequestAttributes
menyediakan metode getRequest()
untuk mendapatkan permintaan saat ini, getSession()
untuk mendapatkan sesi saat ini, dan metode lain untuk mendapatkan atribut yang disimpan di kedua cakupan. Kode berikut, meskipun agak jelek, akan membuat Anda mendapatkan objek permintaan saat ini di mana saja dalam aplikasi:
HttpServletRequest curRequest =
((ServletRequestAttributes) RequestContextHolder.currentRequestAttributes())
.getRequest();
Perhatikan bahwa RequestContextHolder.currentRequestAttributes()
metode mengembalikan antarmuka dan perlu diketik untuk ServletRequestAttributes
mengimplementasikan antarmuka.
Spring Javadoc: RequestContextHolder | ServletRequestAttributes