Ada dua metode untuk mengakses data ini dengan lebih mudah, tetapi antarmuka tidak menawarkan kemungkinan untuk mendapatkan seluruh URL dengan satu panggilan. Anda harus membuatnya secara manual:
public static String makeUrl(HttpServletRequest request)
{
return request.getRequestURL().toString() + "?" + request.getQueryString();
}
Saya tidak tahu tentang cara melakukan ini dengan fasilitas MVC Spring.
Jika Anda ingin mengakses Permintaan saat ini tanpa meneruskannya ke mana pun, Anda harus menambahkan pendengar di web.xml:
<listener>
<listener-class>org.springframework.web.context.request.RequestContextListener</listener-class>
</listener>
Dan kemudian gunakan ini untuk mendapatkan permintaan yang terikat ke Thread saat ini:
((ServletRequestAttributes) RequestContextHolder.currentRequestAttributes()).getRequest()
HttpServletRequest
objek tersebut. Ini karena saya menggunakan beberapa kelas / metode pembantu dan saya tidak ingin meneruskan objek permintaan setiap saat.