0

我目前正在使用 spring-mvc 开发一个应用程序,我想使用子域。假设用户 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”时,没有发生 SubdomainHandlerInterceptor 。我是否必须编写其他东西而不是 HandlerInterceptorAdapter 来处理子域,或者我错过了什么?

我希望清楚。提前致谢。

4

1 回答 1

0

从症状来看,域john.localhost没有指向任何地方。

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

如果是真实的托管域,您需要在 dns 配置中添加一个指向目标服务器的条目。大多数虚拟主机都会为您处理这些问题。

于 2012-08-01T22:02:52.560 回答