Musim semi memperlihatkan HttpServletRequestobjek saat ini (serta HttpSessionobjek saat ini ) melalui tipe objek pembungkusServletRequestAttributes . Objek pembungkus ini terikat ke ThreadLocal dan diperoleh dengan memanggil staticmetode RequestContextHolder.currentRequestAttributes().
ServletRequestAttributesmenyediakan 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 ServletRequestAttributesmengimplementasikan antarmuka.
Spring Javadoc: RequestContextHolder | ServletRequestAttributes