2013-03-26 2 views
0

프론트 엔드 웹 서버로 서블릿 엔진을 보유하고 있으며 백엔드 서버에 일부 요청을 전달하려고합니다. 리디렉션이 불가능합니다.서블릿이있는 백엔드 서버로 요청을 전달하려면 어떻게해야합니까?

서블릿 스펙에 유용한 API가 있습니까? 또는 그러한 기능을위한 샘플이 있습니까?

내가 HttpUrlConnection을 통해 할 수 있음을 알고 있습니다. 그러나 몇 가지 간단한 솔루션이 있습니까?

+0

클라이언트가 서버에 액세스 할 수 있으면 'response.sendRedirect ([URL])'을 사용하여 리디렉션 할 수 있습니다. –

+0

질문에 두 가지 가능한 해결책이 있습니다. –

+0

"백엔드 서버"가 동일한 웹 컨테이너에서 실행 중이면 다른 서블릿 컨텍스트에서 실행된다는 것을 의미합니다. 당신의 환경에서 그런 경우입니까? – Uooo

답변

2

앞으로 다른 서버로 요청할 수 없습니다. 전달할 서블릿이 동일한 서버에있는 경우 전달이 작동합니다.

그래서 당신의 대안은 다음과 같습니다

  • 백엔드에 리디렉션,
  • , 백엔드에 HTTP 요청을 전송 결과를 추출하여 원래의 요청에 응답으로 원래 클라이언트로 전달 , 또는
  • HTTP를 전혀 포함하지 않는 다른 것.

서블릿 스펙에 유용한 API가 있습니까?

당신이 이미 발견 한 것들은 제외하고 (분명히).

그러나 더 간단한 해결책이 있습니까?

AFAIK, no. 특히 백엔드가 다른 서버 인 경우 "전달"옵션이 없습니다.

2

지금 부두에서 ProxyServlet을 찾았습니다. 이것은 시작하기 좋은 샘플로 보입니다.