개발관련/(과거)메모

자바 웹 서버(톰켓, 카탈리나, 재스퍼)

동팡 2017. 4. 3. 20:27

참고



톰켓


아파치 소프트웨어 재단(ASF)의 오픈 소스 자바 서블릿 컨테이너이다.

톰켓은 서블릿, JSP, EL, JSTL, WebSocket 등 여러가지 JavaEE 기술을 구현하고, Java 코드를 실행하는 순수 Java 

HTTP 웹 서버이다.(쉽게 말 해서 자바 웹 서버) 


톰켓 카탈리나(Catalina)

톰켓은 여러개의 기능(부품)으로 구성한다. 톰캣의 코어 컴포넌트는 카탈리나라고 칭한다.

카탈리나는 톰켓의 서블렛 스펙의 실질적인 구동을 제공한다.

톰켓 서버를 가동시킬 경우, 카탈리나를 구동 시킨 것이라 생각하면 된다.

(서블릿 컨테이너 디자이너 Craig McClanahan가 카탈리나라는 이름을 지었다.(카탈리나 섬을 사랑한다고...))


카탈리나 기본 동작은 톰켓의 6개 config 파일을 편집하여 구현/제어할 수 있다.

catalina.policy

- JavaEE 스펙에 정의된 표준 보안 정책 구문으로 표현된 카탈리나 자바 클래스의 톰켓 보안 정책이다.

  톰켓의 코어 보안 정책, 시스템 코드, 웹앱, 카탈리나 자체의 퍼미션(사용권한)이 정의되어 있다.

catalina.properties

- 카탈리나 클래스를 위한 표준 자바 프로퍼티이다. 보안 패키지 리스트, 클래스 로더 페스 등과 같은 정보이다.

  톰켓의 성능 최적화를 위한 String 캐시 설정이 포함된다.

logging.properties

- 이 파일은 임계값, 로그값의 위치와 같은 카탈리나의 로깅 기능을 구성하는 방법이다.

  로그의 모든 항목은 JDK의 로깅 구현 대신, 톰켓이 자동으로 사용하는 commons-logging 구현인 JULI 참조한다.

contnet.xml 

- 이 파일은 톰켓에 구동되는 웹앱에 대해 로드될 정보들이다.

server.xml

- 톰켓의 메인 config 파일이다. 자바 서블릿 스펙에 지정된 계층적 문법을 사용하여, 카탈리나의 초기 상태 구성,  톰켓을 부팅하고 구성 요소의 빌드 순서를 정의한다. 이 xml 파일은 복잡하지만 자세한 것은 아파치 홈페이지에서 확인하자.

tomcat-users.xml

- 톰켓 서버의 많은 유저, 패스워드, 유저롤(Role)에 관한 정보와 데이터에 엑세스하는 신뢰된 영역(JNDI, JDBC 등)에 대한 정보가 들어있다.

web.xml

- 버퍼 크기, 디버깅 레벨, 클래스패스와 같은 Jasper 옵션, MIME 유형 및 웹페이지 index 파일 같은 서블릿 정의를 포함하여, 톰켓 인스턴스에 로드되는 모든 응용 프로그램에 적용하는 옵션 또는 값이다.


재스퍼(Jasper)

- 톰켓의 JSP 엔진이다. 제스퍼는 JSP파일을 파싱하여 서블릿(JavaEE) 코드로 컴파일 한다.

   JSP 파일의 변경을 감지하여 리컴파일 작업도 수행한다.