들어가기에 앞서

캑터스를 조금이라도 빨리 느껴보고 싶으시다면, 톰캣을 사용해 첫번째 캑터스 테스트를 수행해 볼 수 있는 20분 가이드가 있습니다. 물론 캑터스의 동작방식 혹은 다른 자세한 사항은 설명하지 않고 캑터스를 빨리 실행해 볼 수 있는 것들만 합니다.

우리는 여러분이 그 안내서를 먼저보고, 다시 이 페이지로 돌아와 아래부분을 계속 읽어가시는 것을 추천합니다. 여러분이 먼저 캑터스가 동작하는 것을 보신다면, 그 뒤의 개념들과 캑터스의 전체 기능을 이해할 수 있는 준비가 된 것입니다.

캑터스 설치

캑터스는 어플리케이션이 아닌 프레임워크라서, 설치라고 보여줄만한 것이 없습니다. 하지만, 여러분은 캑터스가 여러분의 작업환경과 어떻게 통합(integrates)되는지 이해하셔야만 합니다. 이 통합을 간편하게 하기위해 캑터스는 여러 통합 모듈들을 제공하고 있습니다. 그러므로, 캑터스를 설치한다는 것은 간단히 통합 모듈들을 가지고, 어떻게 설정하고 사용하는 가를 배우는 것이라 하겠습니다.

시스템 요구사항

캑터스 테스트를 설행해 보기위해서는 여러분의 시스템에 다음의 소프트웨어들이 설치 되어 있어야 합니다.

  • 자바 가상 머신(Java Virtual Machine) 자바 1.2 이상의 가상 머신이 존재하여야 합니다. 주지하실 점은 모든 서블릿 엔진들은 JVM 이 있어야 실행되므로, 이미 여러분이 서블릿을 쓰고 계시다면, 여러분의 시스템엔 이미 가상 머신이 설치되어 있다는 것입니다.
  • 서블릿/J2EE 엔진 캑터스 테스트들을 실행하기 위해선 서블릿 2.X/J2EE 1.X 호환 서블릿 엔진이 필요합니다.

여러분이 캑터스와 함께 통합할 개발 툴들을 설치해놓으셔야 합니다. 예를 들어 앤트(Ant)와의 통합을 원하신다면, 미리 앤트를 설치해 두셔야 합니다. 캑터스 테스트를 IDE 에서 실행시킬 계획이시라면, 이 IDE 소프트웨어가 이미 설치되어 있어야합니다.

캑터스 파일들

지금, 캑터스 배포판(여러분이 사용하려는 J2EE API용) 다운로드 하시고, 그것을 [cactus root] 디렉터리에 압축해제 하십시오.

[cactus root] 에서 다음의 디렉터리들을 보실 수 있습니다.

  • doc/: 캑터스 웹 사이트 및 API Javadoc 들 입니다.
  • lib/: 캑터스 jar 및 연관된 외부 라이브러리들 입니다.
  • samples/: 캑터스 테스트를 작성하는 방법과 어떻게 그것들의 실행을 자동화하는지를 보여주는 예제 어플리케이션입니다.
  • samples/ejb: EJB 를 캑터스로 테스트 하는 방법을 보여주는 예제 어플리케이션 입니다.
  • samples/jetty: 캑터스와 Jetty (JettyTestSetup 확장 기능을 사용합니다 ) 를 이용해 서블릿을 어떻게 테스트 할지를 보여주는 예제 어플리케이션 입니다.
  • samples/servlet: 서블릿/JSP/태그라이브러리들을 캑터스로 테스트 하는 방법을 보여주는 예제 어플리케이션 입니다.
  • web/: 만약 여러분이 수동 통합을 하실 경우에만 필요한 JSP 리다이렉터(redirector)가 있습니다.

캑터스를 구성하고 있는 jar 들 :

  • cactus.jar: 프레임워크 클래스들을 담고 있는 중심 jar 입니다. [cactus root]/lib 에 있습니다.
  • cactus-ant.jar: 앤트와의 통합을 도와주는 커스텀(Custom) 앤트 태스크들을 담고 있는 jar 입니다. 여러분이 캑터스 테스트들을 자동으로 실행하기 위해 앤트를 사용할 경우에 필요합니다. 더 자세한 정보를 원하신다면 앤트와 통합하기를 보십시오. 이 jar 는 [cactus root]/lib에서 찾으실 수 있습니다.
  • httpclient.jar: 캑터스는 쿠키(Cookie) 처리를 위해 자카르타 커먼스 HttpClient 프레임워크와 연계되어 있습니다.
  • junit.jar: 캑터스는 JUnit 을 확장한 것이므로 JUnit.jar 가 필요합니다.
  • aspectjrt.jar: 몇몇의 태스크들(메서드들에 진입하거나 빠져나올때 로그를 남기는 것이라던가, 설정을 확인하는 것등)을 수행하기 위해 캑터스는 AspectJ를 사용합니다.
  • commons-logging.jar: 캑터스는 현존하는 어떠한 로깅(loggin) 프레임워크(Log4j, LogKitm JDK 1.4 로깅 등)이라도 캑터스 로깅(loggin) 처럼 사용할 수 있도록 하기 위해 자카르타 커먼스 Logging facade 프레임워크를 사용합니다. 이것은 또한 커먼스 HttpClient 를 위해서도 필요합니다.
  • servletapi.jar: 서블릿 예제들을 컴파일 하기 위해 필요합니다. 이상적으로 우리는 J2EE jar(EJB 예제를 컴파일하기 위해 필요한)를 같이 제공 해야합니다.하지만 Sun 라이센스가 재배포를 허용하지 않기 때문에, 여러분이 직접 다운로드하셔야 합니다 ( 예제 실행하기 페이지를 참고하세요.)
    역자 주 : 문서의 모든 부분을 꼼꼼히 변경하지 않나 봅니다 :-). 프레임워크의 버전업은 무진장 빨리하면서 정작 문서는 틀린부분이 종종 변경되는 것을 보면 말이죠. 캑터스 1.7 바이너리 배포판에는 서블릿 servletapi-2.3.jar 가 포함되어있습니다. 따로 받으실 필요가 없습니다.
  • httpunit.jar: 캑터스는 응답에 대한 복합 검증 을 수행하기위해 HttpUnit 프레임워크를 사용합니다. 물론 캑터스도 기본적인 웹 응답 객체를 제공합니다만 HttpUnit의 것이 복합 검증을 하기에 더 적당합니다.
  • nekohtml.jar: HttpUnit을 위해 필요한 것입니다.

계속해서 무엇을 할까요?

이곳에서의 중점 사항은 여러분이 캑터스가 무엇이고 어떻게 동작하는가를 이해하는 것입니다.

여러분의 개발 환경에서 사용하고 싶은 캑터스 통합 모듈을 선택하십시오. 그것의 동작원리와 사용방법을 읽어보십시오.

다음으로 캑터스 테스트 케이스들의 작성법을 이해하기 위해 테스트케이스 작성하기 를 읽어보십시오.

마지막 단계로 캑터스 예제 실행을 통해 지금까지 여러분이 배우신 것들을 십중팔구 실행해 보실 수 있을것입니다.

빠져 봅시다 !