2011-09-04 37 views
8

如果單個servlet提供來自兩個域example1.comexample2.com的數據,那麼如何從Java Servlet中的請求中檢索域信息?如何從Java Servlet中的請求獲取域名?

目的是根據域執行不同的操作。

+0

嗨培根,你能解決這個問題嗎? –

回答

12

很簡單,javax.servlet.ServletRequest.getServerName()。它還提供了further methods檢索請求的信息,getScheme()getServerPort() ...

編輯:如果你有一個Web服務器守護你的應用服務器,它必須被配置爲支持這一點,否則getServerName()返回您的應用程序服務器的名稱,其可能不是你想要的...

+1

這是錯誤的,getServerName:返回請求發送到的服務器的主機名。它是Host頭值(如果有)中的「:」之前的部分的值,或者解析的服務器名稱或服務器IP地址。要從客戶端請求獲取域,請執行以下操作:String domain = new URL(request.getRequestURL()。toString())。getHost(); –