2013-07-30 6 views
2

웹 응용 프로그램이 있습니다 (예 : mysite.com).모든 * .mysite.com 하위 도메인을 내 서블릿에 맞춰 넣는 방법

이제 사용자는 mysite.com/page/mypage와 같은 페이지를 만들 수 있습니다. 여기서 'mypage'는 자신이 만든 페이지의 고유 식별자입니다. 따라서 mysite.com/page/mypage url이 요청 될 때마다 요청 된 페이지 데이터를 제공하는 'pagerequestservlet'에 도달합니다.

내가 원하는 것은 사용자가 mypage.mysite.com을 방문 할 때마다 동일한 페이지 관련 정보 (우리가 mysite.com/page/mypage에서 제공하는 정보)를 제공한다는 것입니다. 즉, 모든 * .mysite.com 요청을 'pagerequestservlet'(또는 유사한 서블릿)에서 처리하도록해야합니다. 그런 다음 요청 URL을 구문 분석하고 'mypage'식별자를 식별하고 데이터를 반환 할 수 있습니다.

내 질문은, 어떻게 내 모든 * .mysite.com 요청을 'pagerequestservlet'에 의해 처리되도록 만드는 것입니까? 내 도메인 등록 기관으로 GoDaddy를 사용하고 있습니다.

답변

0

와일드 카드를 허용하도록 DNS를 설정해야합니다. GoDaddy가이를 지원하는지 잘 모르겠습니다.

서블릿은 "DNS에 무관"하므로 대개 도메인 이름에 대해 알 필요가 없습니다. 이 방법을 사용하면 서로 다른 환경이나 서로 다른 컨텍스트 루트 (예 : example.com/a 및 example.com/b)에 동일한 서블릿을 배포 할 수 있습니다.

ServletRequest#getServerName()을 통해 도메인 이름에 계속 액세스 할 수 있습니다. 하위 도메인 부분을 처리하고 올바른 페이지로 리디렉션하는 필터를 구현할 수 있습니다. 그러나 클러스터 된 환경이나 부하 분산기에서 실행하는 경우 이 아니며은 mypage.example.com을 반환하지만 호스트 서블릿은 배포 된 호스트의 이름입니다.