在Java中,可以使用HttpServletRequest對象來獲取當前請求的URL以及服務器根路徑。可以按照以下步驟來獲取:
public void handleRequest(HttpServletRequest request, HttpServletResponse response) {
// 處理請求的代碼
}
String requestUrl = request.getRequestURL().toString();
String requestUri = request.getRequestURI();
String contextPath = request.getContextPath();
String serverPath = requestUrl.substring(0, requestUrl.indexOf(contextPath) + contextPath.length());
在上述代碼中,request.getRequestURL().toString()
可以獲取當前請求的完整URL,request.getRequestURI()
可以獲取當前請求的URI(不包括服務器根路徑),request.getContextPath()
可以獲取服務器根路徑。
注意:通過request.getRequestURL().toString()
獲取的URL是包含協議、主機和端口號的完整URL,如果只想獲取相對路徑,可以使用request.getRequestURI()
和request.getContextPath()
來拼接。