Java spring mvc和子域

Java spring mvc和子域,java,servlets,spring-mvc,Java,Servlets,Spring Mvc,我目前正在用SpringMVC开发一个应用程序,我想使用子域。请确保用户john已在我的应用程序中注册 因此,当用户键入john.myapp.com/something时。我想将john存储在某个地方(不知道在哪里),并重定向到侦听“某物”的控制器。我希望澄清 我写了这个拦截器: public class SubdomainHandlerInterceptor extends HandlerInterceptorAdapter { @Override public bool

我目前正在用SpringMVC开发一个应用程序,我想使用子域。请确保用户john已在我的应用程序中注册

因此,当用户键入john.myapp.com/something时。我想将john存储在某个地方(不知道在哪里),并重定向到侦听“某物”的控制器。我希望澄清

我写了这个拦截器:

public class SubdomainHandlerInterceptor extends HandlerInterceptorAdapter  {


    @Override
    public boolean preHandle(HttpServletRequest request,
            HttpServletResponse response, Object handler) throws Exception {

        System.out.println(request.getServletPath());
        return super.preHandle(request, response, handler);
    }
}
在我的spring-servlet.xml中

<mvc:interceptors>
    <bean class="ar.com.saturn.core.interceptor.SubdomainHandlerInterceptor"> </bean>
</mvc:interceptors>

问题是,当我写“john.localhost:8080/Saturn”时,没有发生任何事情,子域handler拦截器没有到达。 我是否必须编写其他东西而不是HandlerInterceptorAdapter来处理子域,或者我遗漏了什么


我希望澄清。提前感谢。

从症状判断域
john.localhost
没有指向任何地方

您需要将其添加到指向
127.0.0.1
(或等效ipv6)的
hosts
文件中


对于真实的托管域,您需要向dns配置中添加一个指向目标服务器的条目。大多数虚拟主机都会为您解决这一问题。

到底发生了什么?您是否收到任何http错误?谢谢您的时间。什么都没发生。只是浏览器超时。控制台也没有登录。谢谢。但是,如果我在dns中添加一个条目,我能在应用程序代码中获得“john”吗?@Müsli是的,
Host
头将设置为
john.localhost:8080
,因此您只需要提取并解析该头。谢谢。我会尽快测试它。