가장 많이 들어오는 오류의 내용입니다.
현재까지 원인을 보면
1. 올바르게 가우스가 설치가 안된 경우.
- 가우스 설치후, 해당 context폴더의 이름 변경, 이동등이 발생한 경우
2. 컴포넌트 버전 문제
- 가우스 4.0에서는 내부적으로 특정 값을 화면의 컴포넌트로 받아서 가우스 컴포넌트에서 온 request
검증하게 됩니다.
컴포넌트 버전이 낮은 경우, 특정 파라미터가 전송이 되지 않기 때문에 발생 할수 있게 됩니다.
- 이런 경우에는 대부분의 PC에서는 잘되는데, 특정 PC에서 접속했을때 오류가 발생하기도 합니다.
3. 스트럿츠 연동시 문제
- 혹시 조회시에는 문제가 발생않는데 tr시 이런 에러가 발생을 하면은 주로 service= loader.newService();
이 부분에서 에러가 발생을 합니다. 또는 request casting하는 부분에서도 발생할수있습니다.
이럴경우
import com.gauce.http.HttpGauceRequest;
시켜주시고
loader = new ServiceLoader(request, response);
위의 부분을
HttpGauceRequest gauceRequest = (HttpGauceRequest)request.getAttribute("HttpGauceRequest");
loader = new ServiceLoader(gauceRequest, response);
아래와 같이 수정을 하시면 됩니다.
단, 기존에 System.out.println("request.getClass().getName() : " + request.getClass().getName());
부분을 찍었을때 HttpGauceRequestWrapper 가 안나오면 위와같이 처리하면 됩니다.
- Struts와 같은 프레임웍과 원활하게 연동할 수 있도록 라이브러리를 추가하고 환경파일인 gauce.xml에
다음의 설정이 새로 추가되었다. 기존 환경파일과도 100%호환된다.
<connector>
<request className="com.gauce.filter.HttpGauceRequestWrapper"/>
<response className="com.gauce.filter.HttpGauceResponseWrapper"/>
</connector>
-> (만약 스트러츠와 연동을 하기 위해서는)
<connector>
<request className="com.gauce.filter.HttpStrutsRequestWrapper"/>
<response className="com.gauce.filter.HttpGauceResponseWrapper"/>
</connector>
4. 레진 서버를 사용하는 경우.
- 레진의 경우 request 를 자체적으로 변형을 시켜서 gauce.xml 을 struts셋팅으로 변경을 시켜도
오류가 나는 경우에는 아래와 같이 소스를 변경 시켜 주어야 한다.
GauceConnection conn = (GauceConnection)request.getAttribute("GauceConnection");
HttpGauceRequest hreq = conn.getHttpGauceRequest();
HttpGauceResponse hres = conn.getHttpGauceResponse();
System.out.println(hreq.getClass().getName());
System.out.println(hres.getClass().getName());
//GauceOutputStream gos = ((HttpGauceResponse) response).getGauceOutputStream();
GauceOutputStream gos = hres.getGauceOutputStream();
'프로그래밍 > GAUCE' 카테고리의 다른 글
GAUCE 트리뷰 그리드 메뉴 이미지 적용 가이드 (0) | 2011.07.01 |
---|