2011-08-02 6 views
1

webapp 디렉토리의 파일을 제공하는 java 서블릿 컨테이너를 사용하고 있습니다. 예를 들어 Foo.html이 있다고 가정 해보십시오. host : 80/Foo.html이이 파일을 제공합니다. 호스트 : 80/XXX/YYY에 대해 Foo.html을 제공하려면 어떻게해야합니까? XXX와 YYY는 여러 가지가 될 수 있습니다. 나는 리디렉션을 의미하지는 않습니다.war 파일의 파일 제공

얼마나 중요한지 잘 모르겠습니다. Jetty와 Guice 필터를 사용하고 있습니다.

답변

2

대상 URL로 RequestDispatcher#forward()을 사용하여 원하는 URL 패턴으로 서블릿을 매핑합니다.

// ... 
request.getRequestDispatcher("Foo.html").forward(request, response); 

이 그 후 모든 실제 우려의 - 경우 리디렉션처럼 같은 브라우저 주소 표시 줄의 변화를 반영하지 않습니다. 리디렉션은 기본적으로 지정된 위치에서 새로운 HTTP 요청을 보내도록 브라우저에 지시합니다. forward는 기본적으로 servletcontainer에게 주어진 리소스를 응답에로드하도록 지시합니다.