我有一個Java Servlet容器。該servlet容器可以服務於localhost:8080
,192.168.1.2:8080
,www.development.example
或www.production.example.com
。我怎樣纔能有Servlet容器和/或任何正在運行的servlet sense它正在爲哪個域名服務?如何讓服務器知道它所服務的域名?
1
A
回答
2
該servlet應該能夠看到整個請求URL:
方法1:獲取請求的URL和自己解析它。
String url = request.getRequestURL().toString();
方法2:
String server = request.getServerName()
見this答案
1
for Servlets,在request對象上使用getServerName()
方法。
就servlet容器而言,如果將apache放在容器的前面,可以用VHosts做一些調整。你將不得不看看你的特定的servlet容器的文檔,看看他們的HTTP服務器是否支持這個級別的VHosts。
0
String host = request.getHeader("Host");
相關問題
- 1. 我的網絡服務器如何知道域名是我的?
- 2. 碼頭服務器如何知道同一服務的所有其他容器?
- 3. 域名服務 - 服務器端更新
- 4. 從域名服務器中刪除舊的域名作爲域名服務器
- 5. UDP:客戶端如何知道它的服務器?
- 6. 如何讓Atom.io知道我正在開發服務器?
- 7. Android:如何讓服務器知道用戶仍在線?
- 8. 如何知道我的ISP的smtp服務器名稱?
- 9. 如何獲取服務器域名
- 10. 如何找到homestead.com域名服務器?
- 11. 獲取域名服務器
- 12. 更改域名服務器
- 13. 域名服務器驗證
- 14. 我的系統如何知道根名稱服務器?
- 15. 我如何知道我的服務器名稱是什麼?
- 16. Web服務器如何知道鏈接到它?
- 17. url如何知道它需要到達哪個服務器?
- 18. 我如何知道它是Windows服務器還是unix?
- 19. 軌服務器錯誤'初始化':的getaddrinfo:姓名或不知道(SocketError)服務
- 20. 我怎麼知道服務名稱?
- 21. 姓名或服務不知道
- 22. ddd - 我的服務是域名服務還是應用服務?
- 23. 我如何知道服務狀態?
- 24. 如何讓所有參數發送到服務堆棧服務?
- 25. 如何讓服務器啓動時關閉couchase服務器?
- 26. 當我只知道它的URL時如何使用wcf服務
- 27. SQL服務器「不知道運行」
- 28. 有人知道SUPL 2.0服務器嗎?
- 29. 軌道服務器如何知道使用哪個route.rb?
- 30. 服務器如何知道iPhone是否收到推送通知?
你問知道 「父」 頁面是什麼?如何包含servlet?關於ServletRequest的 – Floris 2013-02-26 23:05:06
[getLocalName](http://docs.oracle.com/javaee/6/api/javax/servlet/ServletRequest.html#getLocalName%28%29)應該給你你想要的。 – BevynQ 2013-02-26 23:11:48
@BevynQ - 將返回運行應用程序的機器的主機名,可能與虛擬主機名不同。 [getServerName()](http://docs.oracle.com/javaee/6/api/javax/servlet/ServletRequest.html#getServerName())是一個更好的選擇。 – Perception 2013-02-26 23:14:48