2012-07-31 3 views
0

현재 spring-mvc로 응용 프로그램을 개발 중이며 하위 도메인에 대해 작업하고 싶습니다. 사용자 존이 내 앱에 등록되어 있다는 것을 나타냅니다.spring-mvc 및 subdomains

그래서 사용자가 john.myapp.com/something을 입력하면 나는 존을 어떤 곳에 저장하고 (어디를 모르는지) "무언가"를 듣는 컨트롤러로 리디렉션하고 싶습니다. 나는 희망을 품는다. 의 속삭임 SubdomainHandlerInterceptor을 발생합니다

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

문제는 내가 쓴시 "8080/토성 john.localhost"는 것이 나의 봄-servlet.xml 파일에서

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); 
    } 
} 

:

나는이 인터셉터를 썼다 도달하지 못했습니다. 하위 도메인과 작업 할 때 HandlerInterceptorAdapter 대신 다른 값을 써야하나요, 아니면 뭔가 빠졌습니까?

나는 희망합니다. 미리 감사드립니다.

+0

정확히 무엇이 일어나고 있습니까? http 오류가 발생하고 있습니까? – soulcheck

+0

시간 내 주셔서 감사합니다. 아무 일도 일어나지 않습니다. 브라우저에 의한 제한 시간. 콘솔에도 로그가 없습니다. –

답변

0

증상으로 판단하면 도메인 john.localhost은 아무 것도 가리 키지 않습니다.

127.0.0.1 (또는 ipv6 상당)을 가리키는 hosts 파일에 추가해야합니다.

실제 호스트 된 도메인의 경우 대상 서버를 가리키는 DNS 구성에 항목을 추가해야합니다. 대부분의 가상 호스트가이를 처리합니다.

+0

감사합니다. 하지만 DNS에 항목을 추가하는 경우 앱 코드에서 "john"을 가져올 수 있습니까? –

+0

@ Müsli 네,'Host' 헤더는'john.localhost : 8080'으로 설정 될 것이므로, 그 헤더를 추출하고 구문 분석하면됩니다. – soulcheck

+0

감사합니다. 최대한 빨리 테스트해볼 수 있습니다. –