안녕하세요?
문의 하신 GauceRequest의 경우에는 가우스 3.x버전에서 사용하던 방식입니다.
2개의 인터페이스가 존재하는 이유는 3.x에서 사용하던 프로그램에 대한 하위 호환성때문에 존재하는것이며
4.0버전을 사용하신다면 GauceInputStream, GauceOutputStream, HttpGauceRequest, HttpGauceResponse를
사용하시는게 편합니다 ^^
3.0에서 사용하던 API는 제품 설치한 폴더에 보시면 3.x, 4.x API가 모두 있으니 참고하세요
성능상의 차이점은 없습니다.
그럼 수고하세요.
>게시판을 이용해 주셔서 감사합니다.
>다음양식에 맞게 입력해주세요.
>
>* 고객시스템명 : KDS
>* GAUCE 버전 : 4.0
>* WAS 종류(WebLogic 등등) : WebLogic
>* DB 종류 : MS_SQL
>* 문의 유형(질문/요청/참조) : 질문
>* 내용 :
>
>// GauceRequest, GauceResponse 사용
>public ModelAndView list(HttpServletRequest request, HttpServletResponse response) throws Exception {
>
> ServiceLoader loader = new ServiceLoader(request, response);
> GauceService service = loader.newService();
>
> GauceRequest gauceReq = service.getGauceRequest();
> GauceResponse gauceRes = service.getGauceResponse();
>
> GauceDataSet dSet = new GauceDataSet();
>
> gauceRes.enableFirstRow(dSet);
>
> List list_data = code_service.getCM_CLASSList(null);
> for (int i = 0; i < list_data.size(); i++) {
> CSM_CMCLASS data = (CSM_CMCLASS) list_data.get(i);
> dSet.put("EMPNO", data.getCD_CLASS() , 10);
> dSet.put("ENAME", data.getNM_CLASS() , 20);
> dSet.put("JOB" , data.getEMP_INPUT(), 20);
> dSet.heap();
> }
>
> if (dSet.getDataColCnt() == 0) {
> dSet.addDataColumn(new GauceDataColumn("EMPNO", GauceDataColumn.TB_INT, 4));
> dSet.addDataColumn(new GauceDataColumn("ENAME", GauceDataColumn.TB_STRING, 10));
> dSet.addDataColumn(new GauceDataColumn("JOB", GauceDataColumn.TB_STRING, 9));
>
> }
> ((HttpGauceResponse) response).addMessage("성공하였습니다.");
> ((HttpGauceResponse) response).addMessage("성공하였습니다.1");
>
> //Client로 전송
> dSet.flush();
> //return new ModelAndView("pad1011-list", "list_data", list_data);
> return null;
>}
>
>
>// GauceInputStream, GauceOutputStream 사용(가우스 교육때 이렇게 하라는 받은 방식)
>public ModelAndView list(HttpServletRequest request, HttpServletResponse response) throws Exception {
>
> GauceInputStream gis = ((HttpGauceRequest) request).getGauceInputStream();
> GauceOutputStream gos = ((HttpGauceResponse) response).getGauceOutputStream();
>
> GauceDataSet dSet = new GauceDataSet();
>
> gos.fragment(dSet);
>
> List list_data = code_service.getCM_CLASSList(null);
> for (int i = 0; i < list_data.size(); i++) {
> CSM_CMCLASS data = (CSM_CMCLASS) list_data.get(i);
> dSet.put("EMPNO", data.getCD_CLASS() , 10);
> dSet.put("ENAME", data.getNM_CLASS() , 20);
> dSet.put("JOB" , data.getEMP_INPUT(), 20);
> dSet.heap();
> }
>
> if (dSet.getDataColCnt() == 0) {
> dSet.addDataColumn(new GauceDataColumn("EMPNO", GauceDataColumn.TB_INT, 4));
> dSet.addDataColumn(new GauceDataColumn("ENAME", GauceDataColumn.TB_STRING, 10));
> dSet.addDataColumn(new GauceDataColumn("JOB", GauceDataColumn.TB_STRING, 9));
>
> }
> ((HttpGauceResponse) response).addMessage("성공하였습니다.");
> ((HttpGauceResponse) response).addMessage("성공하였습니다.1");
>
> //Client로 전송
> gos.write(dSet);
> gos.close();
> //return new ModelAndView("pad1011-list", "list_data", list_data);
> return null;
>}
>
>스프링 2.0에 가우스를 사용해 프로젝트를 진행하고 있습니다.
>가우스 교육받을 때는 GauceInputStream, GauceOutputStream을
>사용하여 구현하는 것으로 배웠는데,
>다른 여러 참조 파일을 훑다보니
>어떤건 GauceRequest, GauceResponse를 사용하여 구현한것이 있어서
>가우스_자바 API를 봤더니 API에는 GauceRequest가 없드라구요.
>(jar파일에는 존재하지만)
>
>왜 API에도 없는 인터페이스로 구현했는지,
>또 어떤게 더 효율적인 방법인지 알고 싶습니다.
>
>