Tomcat은 Apache Software Foundation의 Jakarta 프로젝트의 핵심 프로젝트로 Apache, Sun 및 기타 기업과 개인이 공동으로 개발하고 있으며 Sun의 참여와 지원으로 인해 최신 Servlet 및 JSP 사양이 항상 Tomcat에 반영될 수 있습니다. Tomcat은 고급 기술과 안정적인 성능을 갖추고 있으며 무료이기 때문에 Java 매니아들에게 큰 사랑을 받고 있으며 일부 소프트웨어 개발자들에게도 인정을 받고 있습니다. Tomcat은 차지하는 비중이 적기 때문에 매우 인기가 높습니다. 실행 시 시스템 리소스가 뛰어나고 확장성이 뛰어나며 로드 밸런싱, 이메일 서비스 등 개발 응용 프로그램 시스템에서 일반적으로 사용되는 기능을 지원하며 관심 있는 프로그래머라면 누구나 이를 변경하거나 새로운 기능을 추가할 수 있습니다.
아파치 톰캣 버전 6.0.20
릴리스 노트
=============================
이번 릴리스에서 알려진 문제:
=============================
*종속성 변경
* JNI 기반 애플리케이션
* 번들 API
* 공유 라이브러리의 웹 애플리케이션 다시 로드 및 정적 필드
* 리눅스의 톰캣
* SSI 및 CGI 지원 활성화
* 보안 관리자 URL
* 정적 리소스 심볼릭 링크
* 호출자 서블릿 활성화
* Tomcat 변경 로그 보기
* 다른 모든 방법이 실패했을 때
====================
종속성 변경:
====================
Tomcat 6.0은 JSE 5.0 이상에서 실행되도록 설계되었습니다.
또한 Tomcat 6.0은 Eclipse JDT Java 컴파일러를 사용하여 컴파일합니다.
이는 더 이상 완전한 JSP 페이지가 필요하지 않음을 의미합니다.
Tomcat을 실행하기 위한 JDK(Java Development Kit), 그러나 Java Runtime Environment
(JRE)이면 충분합니다. Eclipse JDT Java 컴파일러가 번들로 제공됩니다.
바이너리 Tomcat 배포판을 사용하도록 구성할 수도 있습니다.
JSP를 컴파일하기 위한 JDK의 컴파일러 또는 지원되는 기타 Java 컴파일러
아파치 앤트에 의해.
=======================
JNI 기반 애플리케이션:
=======================
네이티브 라이브러리가 필요한 애플리케이션은 라이브러리에 다음이 있는지 확인해야 합니다.
일반적으로 이는 다음과 같은 호출로 수행됩니다.
정적 {
System.loadLibrary("라이브러리 파일 경로");
}
그러나 일부 클래스에서는 애플리케이션이 라이브러리가 올바른지 확인해야 합니다.
위 코드가 내부 클래스에 배치된 경우 두 번 이상 로드되지 않았습니다.
웹 애플리케이션(예: /WEB-INF/classes 또는 /WEB-INF/lib 아래) 및
응용 프로그램이 다시 로드되면 loadLibrary() 호출이 두 번째로 시도됩니다.
시간.
이 문제를 방지하려면 네이티브 라이브러리를 로드하는 클래스를 외부에 배치하세요.
웹 애플리케이션에서 loadLibrary() 호출이 한 번만 실행되는지 확인하세요.
특정 JVM의 수명 동안.
=============
번들 API:
=============
Tomcat 6.0의 표준 설치를 통해 다음 API를 모두 사용할 수 있습니다.
웹 애플리케이션에서 사용하기 위해("lib"에 배치):
* annotations-api.jar(Annotations 패키지)
* catalina.jar (Tomcat Catalina 구현)
* catalina-ant.jar (Tomcat Catalina Ant 작업)
* catalina-ha.jar(고가용성 패키지)
* catalina-tribes.jar (그룹 커뮤니케이션)
* el-api.jar (EL 2.1 API)
* jasper.jar (Jasper 2 컴파일러 및 런타임)
* jasper-el.jar (Jasper 2 EL 구현)
* jasper-jdt.jar(Eclipse JDT 3.3 Java 컴파일러)
* jsp-api.jar (JSP 2.1 API)
* servlet-api.jar (서블릿 2.5 API)
* tomcat-coyote.jar(Tomcat 커넥터 및 유틸리티 클래스)
* tomcat-dbcp.jar(Commons DBCP를 기반으로 이름이 변경된 데이터베이스 연결 풀 패키지)
다음을 통해 모든 웹 애플리케이션에서 추가 API를 사용할 수 있게 만들 수 있습니다.
압축을 푼 클래스를 "classes" 디렉터리(기본적으로 생성되지 않음)에 넣습니다.
또는 "lib" 디렉토리의 JAR 파일에 배치하면 됩니다.
XML 파서 구현이나 인터페이스를 재정의하려면 승인된
JVM의 메커니즘은 기본 구성에 있는 JAR을 정의합니다.
"승인됨"은 승인된 것으로 간주됩니다.
================================================= ==============
공유 라이브러리의 웹 애플리케이션 다시 로드 및 정적 필드:
================================================= ==============
일부 공유 라이브러리(대다수는 JDK의 일부임)는 객체에 대한 참조를 유지합니다.
웹 애플리케이션에 의해 인스턴스화됩니다. 클래스 로딩 관련 문제를 방지합니다.
(ClassCastExceptions, 클래스로더가
중지된 경우 등), 공유 라이브러리 상태를 다시 초기화해야 합니다.
도움이 될 수 있는 것은 다음과 같은 수업을 두지 않는 것입니다.
웹 애플리케이션 클래스로더의 공유 정적 필드에 의해 참조됩니다.
대신 공유 클래스로더에 넣습니다(JAR은
"lib" 폴더에, 클래스는 "classes" 폴더에 넣어야 합니다.)
================
Linux의 Tomcat:
================
GLIBC 2.2 / Linux 2.4 사용자는 환경 변수를 정의해야 합니다:
LD_ASSUME_KERNEL=2.2.5 내보내기
Redhat Linux 9.0 사용자는 다음 설정을 사용하여 다음을 방지해야 합니다.
안정성 문제:
LD_ASSUME_KERNEL=2.4.1 내보내기
NIO sendfile 동작에 대해 일부 Linux 버그가 보고되었습니다.
JDK가 최신 상태이거나 커넥터에서 파일 전송 동작을 비활성화하세요.
6427312: (fc) FileChannel.transferTo()에서 "시스템 호출이 중단되었습니다"라는 IOException이 발생합니다.
5103988: (fc) FileChannel.transferTo는 EAGAIN에 대해 -1을 반환해야 하며 대신 IOException을 발생시킵니다.
6253145: (fc) 2GB 경계를 초과하면 Linux의 FileChannel.transferTo가 실패합니다.
6470086: (fc) FileChannel.transferTo(2147483647, 1, 채널)로 인해 "값이 너무 큼" 예외 발생
=============================
SSI 및 CGI 지원 활성화:
=============================
CGI 및 SSI와 관련된 보안 위험으로 인해 사용 가능
웹 애플리케이션의 경우 이러한 기능은 기본적으로 비활성화되어 있습니다.
CGI 지원을 활성화하고 구성하려면 cgi-howto.html 페이지를 참조하세요.
SSI 지원을 활성화하고 구성하려면 ssi-howto.html 페이지를 참조하세요.
======================
보안 관리자 URL:
======================
내부에 있는 JAR에 보안 권한을 부여하기 위해
웹 애플리케이션 저장소, 다음 형식의 URL을 사용하십시오.
정책 파일에서:
파일:${catalina.home}/webapps/examples/WEB-INF/lib/driver.jar
============================
정적 리소스 심볼릭 링크:
============================
기본적으로 Unix 심볼릭 링크는 웹 응용 프로그램에서 연결하는 데 사용될 때 작동하지 않습니다.
웹 응용 프로그램 루트 디렉터리 외부에 있는 리소스입니다.
이 동작은 선택 사항이며 "allowLinking" 플래그를 사용하여 비활성화할 수 있습니다.
수표.
=========================
호출자 서블릿 활성화:
=========================
Tomcat 4.1.12부터 호출자 서블릿은 더 이상 다음을 통해 사용할 수 없습니다.
모든 웹앱에서 기본값을 편집하면 모든 웹앱에 대해 활성화할 수 있습니다.
$CATALINA_HOME/conf/web.xml "/servlet/*" 서블릿 매핑의 주석 처리를 제거합니다.
정의.
프로덕션 환경에서 호출자 서블릿을 사용하는 것은 권장되지 않으며
지원되지 않습니다. 자세한 내용은 Tomcat FAQ에서 확인하세요.
http://tomcat.apache.org/faq/misc.html#invoker.
==============================
Tomcat 변경 로그 보기:
==============================
이 디렉토리의 Changelog.html을 참조하세요.
=====================
다른 모든 방법이 실패할 경우:
=====================
FAQ 보기
http://tomcat.apache.org/faq/
확장하다