-
톰캣 서버의 처리 과정
: 클라이언트로부터 WAS 에 요청이 들어오면 JSP와 관련된 서블릿 클래스가 있는 경우와
서블릿 클래스가 없는 경우. 두 가지의 처리 과정이 있다.
서블릿 클래스가 없는 경우
- JSP 페이지로부터 자바 코드를 생성한다. (변환)
- 자바 코드를 컴파일해서 서블릿 클래스를 생성한다. (컴파일)
- 서블릿에 클라이언트 요청을 전달한다.
- 서블릿이 요청을 처리한 결과를 응답으로 생성한다.
- 응답을 웹 브라우저에 전송한다.
서블릿 클래스가 있는 경우
- 서블릿에 클라이언트 요청을 전달한다.
- 서블릿이 요청을 처리한 결과를 응답으로 생성한다.
- 응답을 웹 브라우저에 전송한다.
출력 버퍼와 응답
: JSP 페이지는 응답 결과를 곧바로 웹 브라우저에 전송하지 않는다. 대신 출력버퍼에 임시로 응답결과를 저장해뒀다가
한 번에 웹 브라우저에 전송한다.
이 방식의 장점
- 데이터 전송 성능 향상
- JSP 실행 도중에 버퍼를 비우고 새로운 내용 전송 가능
- 버퍼가 다 차기 전까지 헤더 변경 가능
page 디렉티브에서 버퍼 설정하기
: buffer 속성과 autoFlush 속성이 있다.
버퍼를 사용하고 싶을 때 <%@ page buffer = "4kb" %> 사용하고 싶지 않을 때 <%@ page buffer = "none
** 버퍼는 킬로바이트 단위로 지정할 수 있다.
flush : 버퍼가 다 찼을 때, 버퍼에 쌓인 데이터르 실제로 전송되어야 할 곳에 전송하고 버퍼를 비우는 것.
autoFlush 속성은 true와 false로 설정할 수 있다.
true : 버퍼가 다 차면 버퍼를 플러시하고 계속해서 작업을 진행한다
false : 버퍼가 다 차면 익셉션을 발생시키고 작업을 중단한다.
<%@ page buffer = "1b" autoFlush = "false" %>
'JSP' 카테고리의 다른 글
out 기본 객체 (0) 2023.03.21 웹 어플리케이션 배포 ( eclips - tomcat ) (0) 2023.03.21 response 기본 객체 (0) 2023.03.21 Get 방식 전송과 Post 방식 전송 (0) 2023.03.21 Request 기본 객체 (0) 2023.03.20