ฤดูใบไม้ผลิ exposes ปัจจุบันHttpServletRequestวัตถุ (เช่นเดียวกับปัจจุบันHttpSessionวัตถุ) ผ่านการห่อหุ้มServletRequestAttributesวัตถุประเภท วัตถุเสื้อคลุมนี้ถูกผูกไว้กับ ThreadLocal และจะได้รับโดยการเรียกวิธีstaticRequestContextHolder.currentRequestAttributes()
ServletRequestAttributesให้วิธีgetRequest()การรับคำขอปัจจุบันgetSession()เพื่อรับเซสชันปัจจุบันและวิธีการอื่น ๆ เพื่อรับแอตทริบิวต์ที่เก็บไว้ในทั้งสองขอบเขต รหัสต่อไปนี้แม้ว่าจะดูน่าเกลียดเล็กน้อย แต่ก็ควรให้คุณได้รับวัตถุคำขอปัจจุบันที่ใดก็ได้ในแอปพลิเคชัน:
HttpServletRequest curRequest =
((ServletRequestAttributes) RequestContextHolder.currentRequestAttributes())
.getRequest();
โปรดทราบว่าRequestContextHolder.currentRequestAttributes()วิธีนี้จะส่งคืนอินเทอร์เฟซและจำเป็นต้องพิมพ์ลงServletRequestAttributesในอินเทอร์เฟซที่ใช้
Spring Javadoc: RequestContextHolder | ServletRequestAttributes