我有一个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