2012-11-12 5 views
1

가능한 중복 :
communication between remote servlets서블릿 다른 서버로 communticating

가 다른 서버에 서블릿 사이의 객체를 보낼 수 있습니까? 내 서블릿이 http 요청을 받으면 응답을 보내기 전에 다른 웹 응용 프로그램 (다른 서버에 있음)에 데이터를 보내고 응답을받은 다음 수신 된 데이터를 처리해야합니다. 그러나 나는 그 문제를 다루는 방법을 정말로 모른다. 서블릿이 다른 서블릿에 http 요청을 보내고 응답을받을 수 있습니까?

답변

0

물론 가능합니다. JavaSE에서와 같은 방법으로 HttpURLConnection을 만들 수 있습니다. 일반적으로 내가하는 일은 오류가 발생한 경우 원래의 (두 번째 서버) HTTP 오류 코드를 클라이언트에 전달하는 것입니다.

0

여기

URL url = new URL ("http://host/myservlet"); 
HttpURLConnection connection = (HttpURLConnection) url.openConnection(); 
connection.setDoOutput (true); 
connection.setDoInput (true); 
OutputStream os = connection.getOutputStream(); 
//TODO: optionally, send something through the OutputStream to your servlet 
os.flush(); 
os.close(); 
InputStream is = connection.getInputStream(); 
//TODO: retrieve your results from the InputStream 
is.close(); 

완료 할 때 스트림을 닫거나 시도 -과 - 자원 블록을 사용해야합니다 ... 다른 서블릿 (또는 HTTP 서버)와 통신 할 수 HttpURLConnection의를 사용하는 방법의 예입니다. 필요에 따라 ObjectInputStream 또는 InputStreamReader를 사용할 수 있습니다. HttpURLConnection의 setRequestProperty 메소드를 사용하여 필요한 경우 사용자 에이전트 또는 쿠키와 같은 항목을 정의 할 수도 있습니다.

관련 문제