본문 바로가기

서버운영 (TA, ADMIN)/미들웨어

[tomcat] 톰캣, 카탈리나, 재스퍼

https://ehdvudee.tistory.com/8

 

톰캣

아파치 소프트웨어 재단(ASF)의 오픈 소스 자바 서블릿 컨테이너이다. 톰캣은 서블릿, JSP, EL, JSTL, WebSocket 등 여러가지 JavaEE 기술을 구현하고, Java 코드를 실행하는 순수 Java HTTP 웹서버이다. (자바 웹 서버 - was)


톰캣 카탈리나

톰캣은 여러개의 컴포넌트로 구성된다. 톰캣의 코어 컴포넌트는 카탈리나이다. 카탈리나는 톰캣의 서블릿 스펙의 실질적인 구동을 제공한다. 톰캣 서버를 가동시킬 경우, 카탈리나를 구동시킨 것이라 생각하면 된다.

 

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

 

1) catalina.policy

JavaEE 스펙에 정의된 표준 보안 정책 구문으로 표현된 카탈리나 자바 클래스의 톰캣 보안 정책이다. 톰캣의 코어 보안정책, 시스템 코드, 웹앱, 카탈리나 자체의 퍼미션(사용권한)이 정의되어 있다.

 

2) catalina.properties

카탈리나 클래스를 위한 표준 자바 프로퍼티이다. 보안 패키지 리스트, 클래스 로더 경로 등과 같은 정보이다. 톰캣의 성능 최적화를 위한 Spring 캐시 설정이 포함된다.

 

3) logging.properties

이 파일은 임계값, 로그값의 위치와 같은 카탈리나의 로깅 기능을 구성하는 방법이다. 로그의 모든 항목은 JDK의 로깅 구현 대신, 톰캣이 자동으로 사용하는 commons-logging 구현인 JULI를 참조한다.

 

4) context.xml

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

 

5) server.xml

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

 

6) tomcat-users.xml

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

 

7) web.xml

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


재스퍼(Jasper)

톰캣의 JSP 엔진이다. 재스퍼는 JSP파일을 파싱하여 서블릿(JavaEE) 코드로 컴파일한다. JSP 파일의 변경을 감지하여 리컴파일 작업도 수행한다.