你到底要記錄什麼?
如果您只需要主機名,請使用接口javax.servlet.ServletRequest
中的方法getServerName()
。它返回請求發送到的服務器的主機名。
與getServerName()
和方法getServletPath()
結合使用,如果您想獲取沒有任何由您的servlet引起的參數的URL。來自接口javax.servlet.http.HttpServletRequest
的方法getServletPath()
返回此請求的調用servlet的URL的一部分,但不包含任何額外的路徑信息或查詢字符串。
而下面的代碼片段將決定你的頁面的絕對URL:
String uri = request.getRequestURI();
if (request.getQueryString() != null) {
uri += '?' + request.getQueryString();
}
URL reconstructedUrl = new URL(request.getScheme(),
request.getServerName(),
request.getServerPort(),
uri);
logger.info("The full URL: " + reconstructedUrl.toString());
哪裏URL
類是從包java.net
。
我認爲OP想知道如何欺騙請求url,這似乎是在這裏發生的事 –
你不喜歡我對這個問題的解決方案嗎? – kapand
你問「你到底想要什麼?」 - 我以爲OP想知道如何欺騙從getRequestURL返回的URL。我只是想幫忙。請忽略我的評論。 –