使用GAE对子域进行应用内处理

时间:2014-08-21 12:07:19

标签: java google-app-engine restlet

如何处理GAE应用程序中的子域?该应用程序是否可能区别于:

E.g。

user1.xyz.comuser2.xyz.com?使用Java代码?或者这应该通过我的域名托管来完成,比如GoDaddy?或者这可以通过像Spring或Restlet这样的Web框架来完成?或者我需要同时使用(GoDaddy + Spring或Restlet)?

我在我的网络应用程序中使用Restlet框架是否可以执行以下操作:

public class RootServerResource extends ServerResource {
  @Get("json")
  public String represent() {
    String username = getRequest().getSubDomain(); //  here!
    return "";
  }
}

以下是我的问题:

  • 单个GAE应用程序是否可以处理多个子域?
  • 如果是,是否可以将GAE子域设置为通配符(*)
  • 使用Restlet如何获得子域名?

1 个答案:

答案 0 :(得分:1)

HttpServletRequest类,您可以使用getServerName()来了解客户端请求的主机名。 See the documentation here

This question解释了如何使用Restlet获取HttpServletRequest

  

您可以使用实用程序类org.restlet.ext.servlet.ServletUtils来访问HttpServletRequest。

现在完整的代码将是:

org.restlet.Request restletRequest = getRequest();
HttpServletRequest servletRequest = ServletUtils.getRequest(restletRequest);
String serverName = servletRequest.getServerName();