如何在Java / Java EE环境中实现Basecamp样式URL?例如<username> .hostname.com </username>

时间:2009-02-25 00:19:45

标签: java java-ee server-side

Basecamp网址,例如.basecamphq.com,例如seymores.basecamp.com。

如何在Tomcat环境中执行相同的操作?

3 个答案:

答案 0 :(得分:4)

其他aproximation使用UrlRewriteFilter。例如,使用具有少量策略的过滤器,您可以转换如下的调用:

http://username.domain(在重写网址之前)

http://domain/your_servlet?user=username(重写网址后)

答案 1 :(得分:2)

如果您只想让Web应用程序的一个副本根据所使用的虚拟主机名采取不同的行为,examine the "Host" header.这可以在Filter或调度程序servlet中完成,具体取决于关于你想对结果做什么。

您可以通过adding Host elements为服务器配置中的Engine元素为每个虚拟服务器提供不同的Web应用程序副本。这将创建单独的虚拟主机,每个主机都有自己独立的Web应用程序集。

答案 2 :(得分:1)

简短的回答是从请求网址解析主机。然后将其与您所做的所有查询一起使用。在默认配置中,Tomcat将响应映射到它正在侦听的IP的所有请求。