2011-09-04 122 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(); –