ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • JSP 처리 과정
    JSP 2023. 3. 21. 10:32

    톰캣 서버의 처리 과정

     

     : 클라이언트로부터 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
Designed by Tistory.