2011-08-26 4 views
1

Struts 2.1.8.1을 사용하고 있습니다. 다른 서버의 일부 페이지를 내 응용 프로그램에 포함해야하므로 다른 서버에 직접 액세스하지 않고도 응용 프로그램을 통해 액세스 할 수 있습니다. 내 아이디어는 그것에 대한 패키지 정의를 가지고, 그래서 그 패키지에 대한 모든 액세스는 내부 서버로 리디렉션됩니다.Struts2가 다른 응용 프로그램에 요청을 전달합니다.

<package name="eco-marketing" namespace="/marketing" extends="eco-default"> 
    <action name="*"> 
     <result name="success" type="dispatcher"> 
      <param name="location">http://myotherserver:8080/test/{1}</param> 
     </result> 
    </action> 
</package> 

하지만 작동하지 않아 오류 404 - 찾을 수 없으므로 소리가 나는 것처럼 쉽지 않습니다. 이 작업을 수행하는 방법에 대한 아이디어가 있습니까?

TIA

+0

디스패처 프로세스 만의 JSP로의이이 struts.xml에서 수행 할 수 없습니다 (당신은 당신의 자신의 주문 결과 유형을 생성하지 않는 한). – Quaternion

+0

그렇게 보입니다. 그래서 최선의 선택은 HttpClient를 사용하는 사용자 지정 작업을 구현하는 것입니다. –

+0

그래,하지만 당신이 지적한 것처럼 그것은 결과의 일로 보입니다. 그리고 구현하기가 그리 어렵지는 않을 것입니다 ... 먼저 작업을 먼저 수행하는 것이 더 쉽습니다. 나는 그것이 많은 사람들에게 유용 할 수 있다고 생각한다. – Quaternion

답변

1

나는 그냥 HTML에 액세스하고 볼 수 있다고 가정합니다 : http://download.oracle.com/javase/tutorial/networking/urls/readingWriting.html

내가 당신을 위해 일을하는 그 패키지에서 작업을 생성 추천하고,의 값을 사용 매개 변수를 사용하여 필요한 데이터를 가져옵니다.

아마 알고 있을지 모르지만 소비자 행동의 iframe은 필요한 것을 파싱하는 것보다 사용하기 쉽습니다.

사용자 정의 결과 유형을 작성하기로 결정했다면 여기에 다시 게시하여 매우 흥미로울 것입니다.

사용자 지정 결과 유형의 예는 (상단에서 4 번째 코드 블록) 여기에서 찾을 수 있습니다 : http://siriwardana.blogspot.com/2008/12/creating-custom-result-type-struts-2.html

+0

이 특정 상황에 대해서는 잘 모르겠지만 [웹 서비스] (http://docs.codehaus.org/display/ENUNCIATE/A+Rich+Web+service+API+for+Struts+2)는 일반적으로 아닙니다. 다른 응용 프로그램과 통신하는 방법 – anu

+1

그는 단지 원격 컴퓨터에서 웹 페이지를 가져 와서 자신의 콘텐츠를 포함하려고합니다. OP가 원격 서버를 변경할 수있는 능력을 가지고있어 그가 할 수있는 모든 일이 페이지를 소비하는 것처럼 들리는 것은 아닙니다. 이 작업을 수행 할 때 몇 가지 보안 문제가 있습니다 ... 원격 사이트에서이 연습을 좋아하지 않는다고 결정한 것처럼 일부 페이지를 악의적 인 JS를 페이지에 넣을 수 있습니다. 전체 페이지를 자신의 도메인으로 옮겨서 이제 스크립트를 조작 할 수 있습니다. 귀하의 페이지에있는 모든 것. OP가 페이지를 그대로 표시하고 싶다면 iframe이 가장 좋습니다. 그렇지 않으면 안전한 페이지로 데이터를 분석해야합니다. – Quaternion

+0

흠 매우 사실 thats 완전한 설명 – anu

관련 문제