1. 기본 구성 요소 :
섬기는 사람,
서비스:
커넥터 (HTTP, HTTPS, AJP 아파치 프록시 역), 엔진
엔진:
한 UserDatabaseRealm 같은 보안 설정 등을위한 영역
호스트 : 밸브 체인과 같은 내장 된 로그 기록에 액세스 할 수 있습니다 AccessLogValve에
정적 리소스의 통합 치료를 DefaultServlet :
공정 : 파일이 판독되고 있는지 여부를, 리소스 파일이 있는지의 여부를 판정하는 방법의 doGet 파일 형식 스트림 콘텐츠 유형에 따라서는, 시간 출력 파일에 기록
JspServlet는 JSP 요청 : URL 패턴 = * .jsp로 또는 * .jspx
JSP 컴파일 과정 : JspServlet 결정 여부 (예 : 클래스 파일의 수정 시간 및 JSP 다른 파일 수정 시간으로, 바람둥이 새로운 클래스 로더로드 같은 JSP를 작성합니다) Servelt JSP 파일 생성 / 만료,
톰캣 DEV 모드를 종료하는 경우 서블릿에 의해 생성 된 파일 컴파일러가 메소드 _jspService Servelt 전화, 동적 로더 실패
HttpServletRequest의 : 외관 패턴을 사용
경우 getParameter 방법은, 상기 파싱 된 매개 변수가없는 경우, 키 파라미터는 각되도록지도 <문자열 일람> 구조로 파싱 파라미터를 분석 할 것인지 판단
당신이 호출 할 때의 getParameter 방법의 첫 번째 값의 키를 반환
필터, FilterChain은 : doFilter 방법의 모든 완료된 통화의 FilterChain 후 필터 다음 필터를 호출
커넥터 : 다른 프로토콜 ProtocolHandler를 사용하는 구성에 따라이 요청 처리기에 의해 처리되므로, 같은 Http11NioProtocol
파일 것이다 커넥터는 CPU 사용률을 줄여 압축없이 전송 48K 직접 sendfile을 (channel.transferTo)를 초과
내부 요청 수신 처리 용 끝점 처리기
집행 인 : 커넥터 스레드 풀을 사용하도록 구성 할 수 있습니다
跨域请求: response.setHeader ( " 액세스 제어 - 허용 - 기원 ", "*"); CorsFilter
최적화는 톰캣 GC : GC는 애플리케이션의 지연 및 처리량 특성에 따라 적당한 알고리즘을 선택
ParallelGC 처리량의 우선 순위는, 낮은 지연 시간에 대한 수요를 충족시킬 수 없다
CMS는 :의 이전 복구 및 병렬 응용 프로그램, 낮은 지연합니다 (-XX 구성해야합니다 : + UseParNewGC 병렬 복구의 새로운 세대의 구현을의 기본 단일 스레드), 싱글 코어 서버를 구성해야합니다
CMS 응용 프로그램 스레드와 CPU 수집 스레드 공유 비율 (가비지 컬렉터를 실행하는 응용 프로그램 스레드를 번갈아).
-XX : 전체 GC 시간 이전 세대의 + UseCMSCompactAtFullCollection 압축
-XX : + UseG1GC
-XX : + DisableExplicitGC를 : 열 권장하지 않습니다, 코드 외부 자바 NIO 힙 메모리를 명시 적으로 호출했다으로 System.gc
ELParser : EL 분석 식
로드 클래스 :
웹 애플리케이션 클래스 로더 : 먼저 자신의 클래스 경로에서 찾을 수 없습니다,로드 다시 의뢰됩니다 부모 (다시로드 할 수 없습니다 기본 클래스와 서블릿 API를 다시로드 할 수 없습니다)
WebappClassloader를 사용하여 응용 프로그램의 다른 예
부모는 스페이서 웹 응용 프로그램의 복수를 달성하기 위해 위임되지 않은 경우
응용 프로그램이 시작되면 해당 WebappClassLoader을 만듭니다
일반적인 클래스 로더 : 부모 WebappClassloader, 일반적인 모든 응용 프로그램을 볼 수 클래스