Servlets 如何使所有*.mysite.com子域命中我的servlet

Servlets 如何使所有*.mysite.com子域命中我的servlet,servlets,subdomain,wildcard-subdomain,Servlets,Subdomain,Wildcard Subdomain,我们有一个web应用程序,比如mysite.com 现在用户可以来创建类似mysite.com/page/mypage的页面。此处“mypage”是他/她创建的页面的唯一标识符。因此,无论何时请求mysite.com/page/mypage url,它都会点击我们的“pagerequestservlet”,它会给出请求的页面数据 现在我想要的是,无论何时用户点击mypage.mysite.com,我们都会发布相同的页面相关信息(我们在mysite.com/page/mypage上发布)。这意味着

我们有一个web应用程序,比如mysite.com

现在用户可以来创建类似mysite.com/page/mypage的页面。此处“mypage”是他/她创建的页面的唯一标识符。因此,无论何时请求mysite.com/page/mypage url,它都会点击我们的“pagerequestservlet”,它会给出请求的页面数据

现在我想要的是,无论何时用户点击mypage.mysite.com,我们都会发布相同的页面相关信息(我们在mysite.com/page/mypage上发布)。这意味着,我需要让所有*.mysite.com请求都由“pagerequestservlet”(或类似的servlet)处理。然后我可以解析请求URL,识别标识符“mypage”并返回数据


现在我的问题是,如何使我的所有*.mysite.com请求都由“pagerequestservlet”处理?我使用GoDaddy作为我的域名注册器

您必须设置DNS以允许此类通配符,我不知道GoDaddy是否支持此功能

servlet是“DNS不可知的”,通常它不需要知道关于其域名的任何信息。通过这种方式,可以在不同的环境中部署相同的servlet,甚至可以使用不同的上下文根(example.com/a和example.com/b)

您仍然可以通过访问该域名。您可以实现一个过滤器来处理子域部分并重定向到正确的页面。但是请注意,如果您在集群环境中或在负载平衡器后面运行,这将不会返回mypage.example.com,而是返回部署servlet的主机名