มีสองวิธีในการเข้าถึงข้อมูลนี้ได้ง่ายขึ้น แต่อินเทอร์เฟซไม่มีความเป็นไปได้ที่จะรับ URL ทั้งหมดด้วยการโทรเพียงครั้งเดียว คุณต้องสร้างด้วยตนเอง:
public static String makeUrl(HttpServletRequest request)
{
return request.getRequestURL().toString() + "?" + request.getQueryString();
}
ฉันไม่รู้วิธีดำเนินการกับสิ่งอำนวยความสะดวก Spring MVC
หากคุณต้องการเข้าถึงคำขอปัจจุบันโดยไม่ผ่านทุกที่คุณจะต้องเพิ่ม Listener ใน web.xml:
<listener>
<listener-class>org.springframework.web.context.request.RequestContextListener</listener-class>
</listener>
จากนั้นใช้สิ่งนี้เพื่อรับคำขอที่ผูกไว้กับเธรดปัจจุบัน:
((ServletRequestAttributes) RequestContextHolder.currentRequestAttributes()).getRequest()
HttpServletRequest
วัตถุจริงๆ นี่เป็นเพราะฉันใช้คลาสตัวช่วย / วิธีการหลายอย่างและฉันไม่ต้องการส่งผ่านวัตถุคำขอทุกครั้ง