Web Dev/JSP

JSP 4강 :: JSP 처리 과정, 출력 버퍼

HJPlumtree 2022. 10. 3. 19:23

JSP에서 기억하고 싶은 내용

 

 

JSP 처리 과정

클라이언트가 JSP 페이지를 요청시, 웹 컨테이너가 다음 실행

  1. JSP 페이지(.jsp)를 서블릿 자바 프로그램(.java)으로 변환

  2. 서블릿 자바 프로그램을 컴파일해서 서블릿 클래스 파일(.class) 생성

  3. 서블릿 클래스 파일을 실행해서 클라이언트 요청 처리

  4. 이후 요청시 JSP 페이지에 상응하는 서블릿 존재하면 변환과 컴파일 하지 않는다

  5. JSP 페이지 수정되면 변환/컴파일 다시한다

 

 

출력 버퍼

응답 결과의 임시 저장소

응답 하기전에 먼저 출력 버퍼에 기록한다

기록이 끝나면 버퍼 내용을 클라이언트로 전달

 

버퍼 사용 이유

  • 전송 횟수 감소 -> 데이터 전송 효율 증가
  • 실행 도중 버퍼 비우고 새로운 내용으로 바꿀 수 있다
  • 에러 생기면 다른 내용으로 바꿀 수 있다
  • 전송 전이면 헤더 내용도 변경 가능

 

버퍼 기본값은 8kb

<%@ page buffer="8kb" %>

 

버퍼 사용 안할 때

<jsp:forward> 기능 사용할 수 없다

오류페이지 속성을 사용할 때도 버퍼링 필요

출력된 결과 변경할 수 없다 -> 도중 오류 생기며 오류 내용

<%@ page buffer="none" %>

 

autoFlush 속성

true인 경우 버퍼찰 때 마다 전송

false면 예외 발생

<%@ page buffer="1kb" autoFlush="false" %>

 

 

doGet | doPost

doGet() 메서드

GET 요청 처리하기 위해 호출하는 메소드

서블릿 클래스에서 server() 메소드에 의해 호출된다

 

doPost() 메서도

클라이언트가 웹 서버에 데이터 보낼 때 사용

서블릿 통해 POST 요청